{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/pdfjs-dist/es5/build/pdf.worker.js","webpack:///./node_modules/base64-js/index.js","webpack:///./node_modules/node-libs-browser/mock/process.js","webpack:///./node_modules/ieee754/index.js","webpack:///./node_modules/buffer/index.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/path-browserify/index.js","webpack:///./node_modules/isarray/index.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","root","factory","this","__w_pdfjs_require__","_worker","WorkerMessageHandler","WorkerTask","_regenerator","_interopRequireDefault","_util","_primitives","_pdf_manager","_is_node","_message_handler","_worker_stream","_core_utils","obj","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","minLen","_arrayLikeToArray","toString","slice","constructor","Array","from","test","len","length","arr2","iterator","_arr","_n","_d","_e","undefined","_s","_i","next","done","push","err","isArray","asyncGeneratorStep","gen","resolve","reject","_next","_throw","arg","info","error","Promise","then","_asyncToGenerator","fn","self","args","arguments","apply","terminated","_capability","createPromiseCapability","promise","finish","terminate","ensureNotTerminated","Error","setup","handler","port","testMessageProcessed","on","data","Uint8Array","supportTransfers","postMessageTransfers","send","setVerbosityLevel","verbosity","createDocumentHandler","docParams","pdfManager","cancelXHRs","WorkerTasks","getVerbosityLevel","apiVersion","workerVersion","concat","enumerableProperties","join","docId","docBaseUrl","workerHandlerName","MessageHandler","startWorkerTask","task","finishWorkerTask","indexOf","splice","loadDocument","_x","_loadDocument","mark","_callee","recoveryMode","_yield$Promise$all","_yield$Promise$all2","numPages","fingerprint","wrap","_context","prev","ensureDoc","all","sent","abrupt","stop","getPdfManager","evaluatorOptions","newPdfManager","pdfManagerCapability","source","LocalPdfManager","password","ex","pdfStream","cachedChunks","PDFWorkerStream","fullRequest","getFullReader","headersReady","isRangeSupported","disableAutoFetch","isStreamingSupported","NetworkPdfManager","msgHandler","contentLength","rangeChunkSize","sendProgressiveData","reason","loaded","flushChunks","pdfFile","arraysToBytes","warn","readPromise","readChunk","_ref","arrayByteLength","total","Math","max","read","e","cancelAllRequests","setupDoc","onSuccess","doc","pdfInfo","onFailure","PasswordException","code","sendWithPromise","_ref2","updatePassword","pdfManagerReady","InvalidPDFException","MissingPDFException","UnexpectedResponseException","UnknownErrorException","message","XRefParseException","requestLoadedStream","onLoadedStream","maxImageSize","disableFontFace","ignoreErrors","isEvalSupported","fontExtraProperties","AbortException","stream","bytes","byteLength","getPage","pageIndex","page","ensure","_ref3","_ref4","rotate","ref","userUnit","view","Ref","num","catalog","pdfDocument","getPageIndex","ensureCatalog","id","xref","stats","_ref5","intent","getAnnotationsData","sink","start","VerbosityLevel","INFOS","Date","now","getOperatorList","renderInteractiveForms","operatorListInfo","close","featureId","UNSUPPORTED_FEATURES","errorOperatorList","onPull","desiredSize","onCancel","extractTextContent","normalizeWhitespace","combineTextItems","fontFallback","cleanup","waitOn","cleanupPromise","clearPrimitiveCaches","forEach","finished","destroy","initializeFromPort","isMessagePort","maybePort","postMessage","window","isNodeJS","_typeof","runtime","Op","hasOwn","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","context","Context","_invoke","makeInvokeMethod","tryCatch","type","GenStateSuspendedStart","GenStateSuspendedYield","GenStateExecuting","GenStateCompleted","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","method","AsyncIterator","PromiseImpl","invoke","record","result","__await","unwrapped","previousPromise","enqueue","callInvokeWithMethodAndArg","state","doneResult","delegate","delegateResult","maybeInvokeDelegate","_sent","dispatchException","resultName","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","displayName","isGeneratorFunction","genFun","ctor","setPrototypeOf","__proto__","awrap","async","iter","keys","reverse","pop","skipTempReset","charAt","rootEntry","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","Function","webpackPolyfill","deprecate","paths","children","_defineProperties","target","props","descriptor","configurable","writable","_createClass","Constructor","protoProps","staticProps","_classCallCheck","instance","_inherits","subClass","superClass","_setPrototypeOf","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","Super","_getPrototypeOf","NewTarget","Reflect","construct","_possibleConstructorReturn","_assertThisInitialized","ReferenceError","sham","Proxy","assert","bytesToString","isArrayBuffer","isArrayEqual","isBool","isEmptyObj","isNum","isString","isSameOrigin","createValidAbsoluteUrl","removeNullCharacters","shadow","string32","stringToBytes","stringToPDFString","stringToUTF8String","utf8StringToString","unreachable","IsEvalSupportedCached","IsLittleEndianCached","createObjectURL","FormatError","Util","TextRenderingMode","StreamType","PermissionFlag","PasswordResponses","CMapCompressionType","ImageKind","FontType","AnnotationType","AnnotationStateModelType","AnnotationReviewState","AnnotationReplyType","AnnotationMarkedState","AnnotationFlag","AnnotationFieldFlag","AnnotationBorderStyleType","OPS","IDENTITY_MATRIX","FONT_IDENTITY_MATRIX","BaseException","PRINT","MODIFY_CONTENTS","COPY","MODIFY_ANNOTATIONS","FILL_INTERACTIVE_FORMS","COPY_FOR_ACCESSIBILITY","ASSEMBLE","PRINT_HIGH_QUALITY","FILL","STROKE","FILL_STROKE","INVISIBLE","FILL_ADD_TO_PATH","STROKE_ADD_TO_PATH","FILL_STROKE_ADD_TO_PATH","ADD_TO_PATH","FILL_STROKE_MASK","ADD_TO_PATH_FLAG","GRAYSCALE_1BPP","RGB_24BPP","RGBA_32BPP","TEXT","LINK","FREETEXT","LINE","SQUARE","CIRCLE","POLYGON","POLYLINE","HIGHLIGHT","UNDERLINE","SQUIGGLY","STRIKEOUT","STAMP","CARET","INK","POPUP","FILEATTACHMENT","SOUND","MOVIE","WIDGET","SCREEN","PRINTERMARK","TRAPNET","WATERMARK","THREED","REDACT","MARKED","REVIEW","UNMARKED","ACCEPTED","REJECTED","CANCELLED","COMPLETED","NONE","GROUP","REPLY","HIDDEN","NOZOOM","NOROTATE","NOVIEW","READONLY","LOCKED","TOGGLENOVIEW","LOCKEDCONTENTS","REQUIRED","NOEXPORT","MULTILINE","PASSWORD","NOTOGGLETOOFF","RADIO","PUSHBUTTON","COMBO","EDIT","SORT","FILESELECT","MULTISELECT","DONOTSPELLCHECK","DONOTSCROLL","COMB","RICHTEXT","RADIOSINUNISON","COMMITONSELCHANGE","SOLID","DASHED","BEVELED","INSET","UNKNOWN","FLATE","LZW","DCT","JPX","JBIG","A85","AHX","CCF","RLX","TYPE1","TYPE1C","CIDFONTTYPE0","CIDFONTTYPE0C","TRUETYPE","CIDFONTTYPE2","TYPE3","OPENTYPE","TYPE0","MMTYPE1","ERRORS","WARNINGS","BINARY","STREAM","dependency","setLineWidth","setLineCap","setLineJoin","setMiterLimit","setDash","setRenderingIntent","setFlatness","setGState","save","restore","transform","moveTo","lineTo","curveTo","curveTo2","curveTo3","closePath","rectangle","stroke","closeStroke","fill","eoFill","fillStroke","eoFillStroke","closeFillStroke","closeEOFillStroke","endPath","clip","eoClip","beginText","endText","setCharSpacing","setWordSpacing","setHScale","setLeading","setFont","setTextRenderingMode","setTextRise","moveText","setLeadingMoveText","setTextMatrix","nextLine","showText","showSpacedText","nextLineShowText","nextLineSetSpacingShowText","setCharWidth","setCharWidthAndBounds","setStrokeColorSpace","setFillColorSpace","setStrokeColor","setStrokeColorN","setFillColor","setFillColorN","setStrokeGray","setFillGray","setStrokeRGBColor","setFillRGBColor","setStrokeCMYKColor","setFillCMYKColor","shadingFill","beginInlineImage","beginImageData","endInlineImage","paintXObject","markPoint","markPointProps","beginMarkedContent","beginMarkedContentProps","endMarkedContent","beginCompat","endCompat","paintFormXObjectBegin","paintFormXObjectEnd","beginGroup","endGroup","beginAnnotations","endAnnotations","beginAnnotation","endAnnotation","paintJpegXObject","paintImageMaskXObject","paintImageMaskXObjectGroup","paintImageXObject","paintInlineImageXObject","paintInlineImageXObjectGroup","paintImageXObjectRepeat","paintImageMaskXObjectRepeat","paintSolidColorImageMask","constructPath","unknown","forms","javaScript","smask","shadingPattern","font","errorTilingPattern","errorExtGState","errorXObject","errorFontLoadType3","errorFontState","errorFontMissing","errorFontTranslate","errorColorSpace","errorFontToUnicode","errorFontLoadNative","errorFontGetPath","NEED_PASSWORD","INCORRECT_PASSWORD","level","Number","isInteger","msg","console","log","cond","baseUrl","otherUrl","base","URL","origin","other","_isValidProtocol","url","protocol","absoluteUrl","prop","_BaseException","_super","_this","_BaseException2","_super2","details","_this2","_BaseException3","_super3","_BaseException4","_super4","_BaseException5","_super5","status","_this3","_BaseException6","_super6","_BaseException7","_super7","NullCharactersRegExp","str","replace","MAX_ARGUMENT_COUNT","String","fromCharCode","strBuf","chunkEnd","min","chunk","subarray","charCodeAt","resultLength","pos","item","itemLength","set","isLittleEndian","buffer8","view32","Uint32Array","buffer","rgbBuf","g","b","m1","m2","xt","yt","p1","applyTransform","p2","p3","p4","v","transpose","a","first","second","sqrt","sx","sy","rect","rect1","rect2","compare","orderedX","sort","orderedY","normalizeRect","PDFStringTranslateTable","_i2","_i3","decodeURIComponent","escape","unescape","encodeURIComponent","arr1","every","element","index","capability","isSettled","digits","contentType","forceDataSchema","blob","Blob","ii","b1","b2","b3","d1","d2","d3","d4","globalThis","_pdfjsCompatibilityChecked","hasDOM","document","userAgent","navigator","isIE","btoa","chars","Buffer","atob","input","Element","remove","parentNode","removeChild","div","createElement","classList","add","contains","OriginalDOMTokenListAdd","DOMTokenList","OriginalDOMTokenListRemove","_len","tokens","_key","_tokens","token","_len2","_key2","_tokens2","toggle","force","OriginalPushState","history","pushState","OriginalReplaceState","replaceState","title","startsWith","endsWith","includes","assign","log2","allSettled","isReadableStreamSupported","ReadableStream","controller","Map","entries","Set","WeakMap","WeakSet","codePointAt","fromCodePoint","padStart","padEnd","process","versions","nw","electron","$","global","getOwnPropertyDescriptor","f","createNonEnumerableProperty","redefine","setGlobal","copyConstructorProperties","isForced","options","FORCED","targetProperty","sourceProperty","TARGET","GLOBAL","STATIC","stat","noTargetGet","forced","check","it","DESCRIPTORS","propertyIsEnumerableModule","createPropertyDescriptor","toIndexedObject","toPrimitive","has","IE8_DOM_DEFINE","nativeGetOwnPropertyDescriptor","O","P","fails","exec","nativePropertyIsEnumerable","propertyIsEnumerable","NASHORN_BUG","1","V","bitmap","IndexedObject","requireObjectCoercible","classof","split","isObject","PREFERRED_STRING","val","valueOf","EXISTS","definePropertyModule","anObject","nativeDefineProperty","Attributes","inspectSource","InternalStateModule","getInternalState","enforceInternalState","enforce","TEMPLATE","unsafe","simple","store","functionToString","SHARED","NATIVE_WEAK_MAP","objectHas","sharedKey","hiddenKeys","getterFor","TYPE","wmget","wmhas","wmset","metadata","STATE","shared","uid","IS_PURE","version","copyright","postfix","random","ownKeys","getOwnPropertyDescriptorModule","getBuiltIn","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","getOwnPropertySymbols","path","aFunction","variable","namespace","internalObjectKeys","enumBugKeys","getOwnPropertyNames","names","toLength","toAbsoluteIndex","createMethod","IS_INCLUDES","$this","el","fromIndex","toInteger","argument","ceil","floor","integer","replacement","feature","detection","normalize","POLYFILL","NATIVE","string","toLowerCase","entryUnbind","notARegExp","correctIsRegExpLogic","nativeStartsWith","CORRECT_IS_REGEXP_LOGIC","MDN_POLYFILL_BUG","proto","searchString","that","search","isRegExp","wellKnownSymbol","MATCH","NATIVE_SYMBOL","USE_SYMBOL_AS_UID","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","METHOD_NAME","regexp","CONSTRUCTOR","METHOD","nativeEndsWith","endPosition","end","$includes","addToUnscopables","arrayMethodUsesToLength","USES_TO_LENGTH","ACCESSORS","UNSCOPABLES","ArrayPrototype","activeXDocument","defineProperties","html","documentCreateElement","GT","LT","PROTOTYPE","SCRIPT","IE_PROTO","EmptyConstructor","scriptTag","content","NullProtoObjectViaActiveX","write","temp","parentWindow","NullProtoObjectViaIFrame","iframeDocument","iframe","JS","style","display","appendChild","src","contentWindow","open","F","NullProtoObject","domain","ActiveXObject","Properties","objectKeys","cache","thrower","argument0","argument1","defineIterator","STRING_ITERATOR","setInternalState","iterated","point","CONVERT_TO_STRING","S","position","size","codeAt","createIteratorConstructor","setToStringTag","Iterators","IteratorsCore","BUGGY_SAFARI_ITERATORS","ITERATOR","KEYS","VALUES","ENTRIES","returnThis","Iterable","NAME","IteratorConstructor","DEFAULT","IS_SET","CurrentIteratorPrototype","methods","KEY","getIterationMethod","KIND","defaultIterator","IterablePrototype","TO_STRING_TAG","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","PrototypeOfArrayIteratorPrototype","arrayIterator","toObject","CORRECT_PROTOTYPE_GETTER","ObjectPrototype","TAG","aPossiblePrototype","setter","CORRECT_SETTER","checkCorrectnessOfIteration","INCORRECT_ITERATION","callWithSafeIterationClosing","isArrayIteratorMethod","createProperty","getIteratorMethod","arrayLike","step","C","argumentsLength","mapfn","mapping","returnMethod","propertyKey","TO_STRING_TAG_SUPPORT","classofRaw","CORRECT_ARGUMENTS","tryGet","tag","callee","SAFE_CLOSING","called","iteratorWithReturn","SKIP_CLOSING","ITERATION_SUPPORT","nativeAssign","A","B","symbol","alphabet","chr","T","j","LN2","x","number","isFinite","ArrayBufferViewCore","speciesConstructor","aTypedArray","aTypedArrayConstructor","exportTypedArrayMethod","$slice","Int8Array","list","NATIVE_ARRAY_BUFFER","Int8ArrayPrototype","Uint8ClampedArray","Uint8ClampedArrayPrototype","TypedArray","TypedArrayPrototype","isPrototypeOf","TYPED_ARRAY_TAG","NATIVE_ARRAY_BUFFER_VIEWS","opera","TYPED_ARRAY_TAG_REQIRED","TypedArrayConstructorsList","Int16Array","Uint16Array","Int32Array","Float32Array","Float64Array","isView","klass","isTypedArray","ARRAY","TypedArrayConstructor","exportTypedArrayStaticMethod","ArrayBuffer","DataView","SPECIES","defaultConstructor","DOMIterables","ArrayIteratorMethods","ArrayValues","COLLECTION_NAME","Collection","CollectionPrototype","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","ARRAY_ITERATOR","kind","Arguments","Internal","OwnPromiseCapability","PromiseWrapper","nativeThen","NativePromise","redefineAll","setSpecies","anInstance","iterate","microtask","promiseResolve","hostReportErrors","newPromiseCapabilityModule","perform","V8_VERSION","PROMISE","getInternalPromiseState","PromiseConstructor","$fetch","newPromiseCapability","newGenericPromiseCapability","IS_NODE","DISPATCH_EVENT","createEvent","dispatchEvent","UNHANDLED_REJECTION","REJECTION_HANDLED","PENDING","FULFILLED","HANDLED","UNHANDLED","GLOBAL_CORE_JS_PROMISE","PromiseRejectionEvent","FakePromise","isThenable","notify","isReject","notified","chain","reactions","ok","exited","reaction","fail","rejection","onHandleUnhandled","enter","exit","onUnhandled","event","initEvent","IS_UNHANDLED","isUnhandled","emit","parent","unwrap","internalReject","internalResolve","wrapper","executor","onFulfilled","onRejected","fetch","$promiseResolve","counter","remaining","alreadyCalled","race","CONSTRUCTOR_NAME","Result","stopped","AS_ENTRIES","IS_ITERATOR","iterFn","boundFunction","defer","channel","IS_IOS","location","setImmediate","clear","clearImmediate","MessageChannel","Dispatch","queue","ONREADYSTATECHANGE","run","runner","listener","post","host","nextTick","port2","port1","onmessage","addEventListener","importScripts","setTimeout","flush","head","last","node","macrotask","MutationObserver","WebKitMutationObserver","queueMicrotaskDescriptor","queueMicrotask","createTextNode","observe","characterData","promiseCapability","PromiseCapability","$$resolve","$$reject","match","v8","NON_GENERIC","real","onFinally","isFunction","EOF","USE_NATIVE_URL","arrayFrom","toASCII","URLSearchParamsModule","NativeURL","URLSearchParams","getInternalSearchParamsState","getState","getInternalURLState","pow","INVALID_AUTHORITY","INVALID_SCHEME","INVALID_HOST","INVALID_PORT","ALPHA","ALPHANUMERIC","DIGIT","HEX_START","OCT","DEC","HEX","FORBIDDEN_HOST_CODE_POINT","FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT","LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE","TAB_AND_NEW_LINE","parseHost","codePoints","parseIPv6","isSpecial","parseIPv4","percentEncode","C0ControlPercentEncodeSet","partsLength","numbers","part","radix","ipv4","parts","parseInt","numbersSeen","ipv4Piece","swaps","swap","address","pieceIndex","compress","pointer","char","findLongestZeroSequence","ipv6","maxIndex","maxLength","currStart","currLength","serializeHost","ignore0","unshift","fragmentPercentEncodeSet","pathPercentEncodeSet","userinfoPercentEncodeSet","specialSchemes","ftp","file","http","https","ws","wss","scheme","includesCredentials","username","cannotHaveUsernamePasswordPort","cannotBeABaseURL","isWindowsDriveLetter","normalized","startsWithWindowsDriveLetter","third","shortenURLsPath","pathSize","isSingleDot","segment","isDoubleDot","SCHEME_START","SCHEME","NO_SCHEME","SPECIAL_RELATIVE_OR_AUTHORITY","PATH_OR_AUTHORITY","RELATIVE","RELATIVE_SLASH","SPECIAL_AUTHORITY_SLASHES","SPECIAL_AUTHORITY_IGNORE_SLASHES","AUTHORITY","HOST","HOSTNAME","PORT","FILE","FILE_SLASH","FILE_HOST","PATH_START","PATH","CANNOT_BE_A_BASE_URL_PATH","QUERY","FRAGMENT","parseURL","stateOverride","bufferCodePoints","failure","seenAt","seenBracket","seenPasswordToken","query","fragment","codePoint","encodedCodePoints","shift","URLConstructor","baseState","urlString","searchParams","searchParamsState","updateSearchParams","updateURL","href","serializeURL","getOrigin","getProtocol","getUsername","getPassword","getHost","hostname","getHostname","getPort","pathname","getPathname","getSearch","getSearchParams","hash","getHash","URLPrototype","output","accessorDescriptor","nativeCreateObjectURL","nativeRevokeObjectURL","revokeObjectURL","toJSON","maxInt","tMin","tMax","skew","damp","initialBias","initialN","delimiter","regexNonASCII","regexSeparators","OVERFLOW_ERROR","baseMinusTMin","stringFromCharCode","ucs2decode","extra","digitToBasic","digit","adapt","delta","numPoints","firstTime","k","encode","currentValue","inputLength","bias","basicLength","handledCPCount","handledCPCountPlusOne","RangeError","q","qMinusT","baseMinusT","label","encoded","labels","getIterator","Headers","URL_SEARCH_PARAMS","URL_SEARCH_PARAMS_ITERATOR","getInternalParamsState","getInternalIteratorState","plus","sequences","percentSequence","RegExp","percentDecode","sequence","deserialize","find","replacer","serialize","parseSearchParams","attribute","attributes","validateArgumentsLength","passed","required","URLSearchParamsIterator","params","URLSearchParamsConstructor","entryIterator","entryNext","init","URLSearchParamsPrototype","append","getAll","found","entriesIndex","sliceIndex","callback","body","headers","SymbolPolyfill","description","noop","NumberIsNaN","rethrowAssertionErrorRejection","typeIsObject","createArrayFromList","elements","ArrayBufferCopy","dest","destOffset","srcOffset","IsFiniteNonNegativeNumber","IsNonNegativeNumber","Infinity","Call","CreateAlgorithmFromUnderlyingMethod","underlyingObject","methodName","algoArgCount","extraArgs","PromiseCall","fullArgs","promiseResolvedWith","InvokeOrNoop","promiseRejectedWith","TransferArrayBuffer","IsDetachedBuffer","ValidateAndNormalizeHighWaterMark","highWaterMark","MakeSizeAlgorithmFromSizeFunction","originalPromise","originalPromiseThen","originalPromiseResolve","originalPromiseReject","newPromise","PerformPromiseThen","uponPromise","uponFulfillment","uponRejection","transformPromiseWith","fulfillmentHandler","rejectionHandler","setPromiseIsHandledToTrue","QUEUE_MAX_ARRAY_SIZE","SimpleQueue","_cursor","_size","_front","_elements","_back","oldBack","newBack","oldFront","newFront","oldCursor","newCursor","peek","front","cursor","ReadableStreamCreateReadResult","forAuthorCode","ReadableStreamReaderGenericInitialize","reader","_forAuthorCode","_ownerReadableStream","_reader","_state","defaultReaderClosedPromiseInitialize","defaultReaderClosedPromiseInitializeAsResolved","defaultReaderClosedPromiseInitializeAsRejected","_storedError","ReadableStreamReaderGenericCancel","ReadableStreamCancel","ReadableStreamReaderGenericRelease","defaultReaderClosedPromiseReject","defaultReaderClosedPromiseResetToRejected","readerLockException","_closedPromise","_closedPromise_resolve","_closedPromise_reject","defaultReaderClosedPromiseResolve","CancelSteps","PullSteps","AcquireReadableStreamDefaultReader","ReadableStreamDefaultReader","ReadableStreamAddReadRequest","readRequest","_resolve","_reject","_readRequests","ReadableStreamFulfillReadRequest","ReadableStreamGetNumReadRequests","ReadableStreamHasDefaultReader","IsReadableStreamDefaultReader","_a","AsyncIteratorPrototype","IsReadableStream","IsReadableStreamLocked","defaultReaderBrandCheckException","cancel","ReadableStreamDefaultReaderRead","releaseLock","_disturbed","_readableStreamController","ReadableStreamAsyncIteratorPrototype","IsReadableStreamAsyncIterator","streamAsyncIteratorBrandCheckException","_asyncIteratorReader","return","_preventCancel","AcquireReadableStreamAsyncIterator","preventCancel","Boolean","DequeueValue","container","pair","_queue","_queueTotalSize","EnqueueValueWithSize","PeekQueueValue","ResetQueue","AbortSteps","ErrorSteps","WritableStream","underlyingSink","strategy","InitializeWritableStream","sizeAlgorithm","SetUpWritableStreamDefaultControllerFromUnderlyingSink","IsWritableStream","streamBrandCheckException","IsWritableStreamLocked","abort","WritableStreamAbort","WritableStreamCloseQueuedOrInFlight","WritableStreamClose","getWriter","AcquireWritableStreamDefaultWriter","WritableStreamDefaultWriter","CreateWritableStream","startAlgorithm","writeAlgorithm","closeAlgorithm","abortAlgorithm","WritableStreamDefaultController","SetUpWritableStreamDefaultController","_writer","_writableStreamController","_writeRequests","_inFlightWriteRequest","_closeRequest","_inFlightCloseRequest","_pendingAbortRequest","_backpressure","_promise","wasAlreadyErroring","_reason","_wasAlreadyErroring","WritableStreamStartErroring","closeRequest","writer","defaultWriterReadyPromiseResolve","WritableStreamDefaultControllerClose","WritableStreamAddWriteRequest","writeRequest","WritableStreamDealWithRejection","WritableStreamFinishErroring","WritableStreamDefaultWriterEnsureReadyPromiseRejected","WritableStreamHasOperationMarkedInFlight","_started","storedError","abortRequest","WritableStreamRejectCloseAndClosedPromiseIfNeeded","WritableStreamFinishInFlightWrite","WritableStreamFinishInFlightWriteWithError","WritableStreamFinishInFlightClose","defaultWriterClosedPromiseResolve","WritableStreamFinishInFlightCloseWithError","WritableStreamMarkCloseRequestInFlight","WritableStreamMarkFirstWriteRequestInFlight","defaultWriterClosedPromiseReject","WritableStreamUpdateBackpressure","backpressure","defaultWriterReadyPromiseReset","_ownerWritableStream","defaultWriterReadyPromiseInitialize","defaultWriterReadyPromiseInitializeAsResolved","defaultWriterClosedPromiseInitialize","defaultWriterReadyPromiseInitializeAsRejected","defaultWriterClosedPromiseInitializeAsResolved","defaultWriterClosedPromiseInitializeAsRejected","IsWritableStreamDefaultWriter","defaultWriterBrandCheckException","defaultWriterLockException","WritableStreamDefaultWriterGetDesiredSize","_readyPromise","WritableStreamDefaultWriterAbort","WritableStreamDefaultWriterClose","WritableStreamDefaultWriterRelease","WritableStreamDefaultWriterWrite","WritableStreamDefaultWriterCloseWithErrorPropagation","WritableStreamDefaultWriterEnsureClosedPromiseRejected","_closedPromiseState","defaultWriterClosedPromiseResetToRejected","_readyPromiseState","defaultWriterReadyPromiseReject","defaultWriterReadyPromiseResetToRejected","WritableStreamDefaultControllerGetDesiredSize","releasedError","chunkSize","WritableStreamDefaultControllerGetChunkSize","WritableStreamDefaultControllerWrite","IsWritableStreamDefaultController","_controlledWritableStream","WritableStreamDefaultControllerError","_abortAlgorithm","WritableStreamDefaultControllerClearAlgorithms","_strategySizeAlgorithm","_strategyHWM","_writeAlgorithm","_closeAlgorithm","WritableStreamDefaultControllerGetBackpressure","startResult","startPromise","WritableStreamDefaultControllerAdvanceQueueIfNeeded","chunkSizeE","WritableStreamDefaultControllerErrorIfNeeded","writeRecord","enqueueE","WritableStreamDefaultControllerProcessClose","WritableStreamDefaultControllerProcessWrite","sinkClosePromise","sinkWritePromise","_readyPromise_resolve","_readyPromise_reject","isAbortSignal","aborted","NativeDOMException","DOMException","isDOMExceptionConstructor","createDOMExceptionPolyfill","captureStackTrace","DOMException$1","ReadableStreamPipeTo","preventClose","preventAbort","signal","shuttingDown","currentWrite","actions","shutdownWithAction","map","action","pipeLoop","resolveLoop","rejectLoop","pipeStep","isOrBecomesErrored","shutdown","isOrBecomesClosed","destClosed_1","waitForWritesToFinish","oldCurrentWrite","originalIsError","originalError","doTheRest","finalize","newError","isError","removeEventListener","ReadableStreamDefaultController","IsReadableStreamDefaultController","defaultControllerBrandCheckException","ReadableStreamDefaultControllerGetDesiredSize","ReadableStreamDefaultControllerCanCloseOrEnqueue","ReadableStreamDefaultControllerClose","ReadableStreamDefaultControllerEnqueue","ReadableStreamDefaultControllerError","_cancelAlgorithm","ReadableStreamDefaultControllerClearAlgorithms","_controlledReadableStream","_closeRequested","ReadableStreamClose","ReadableStreamDefaultControllerCallPullIfNeeded","pendingPromise","shouldPull","ReadableStreamDefaultControllerShouldCallPull","_pulling","pullPromise","_pullAlgorithm","_pullAgain","ReadableStreamError","ReadableStreamDefaultControllerHasBackpressure","SetUpReadableStreamDefaultController","pullAlgorithm","cancelAlgorithm","SetUpReadableStreamDefaultControllerFromUnderlyingSource","underlyingSource","ReadableStreamTee","cloneForBranch2","reason1","reason2","branch1","branch2","resolveCancelPromise","reading","canceled1","canceled2","cancelPromise","value1","value2","cancel1Algorithm","compositeReason","cancelResult","cancel2Algorithm","CreateReadableStream","NumberIsInteger","ReadableStreamBYOBRequest","IsReadableStreamBYOBRequest","byobRequestBrandCheckException","_view","respond","bytesWritten","_associatedReadableByteStreamController","ReadableByteStreamControllerRespond","respondWithNewView","ReadableByteStreamControllerRespondWithNewView","ReadableByteStreamController","IsReadableByteStreamController","byteStreamControllerBrandCheckException","_byobRequest","_pendingPullIntos","firstDescriptor","byteOffset","bytesFilled","byobRequest","SetUpReadableStreamBYOBRequest","ReadableByteStreamControllerGetDesiredSize","_controlledReadableByteStream","ReadableByteStreamControllerClose","ReadableByteStreamControllerEnqueue","ReadableByteStreamControllerError","ReadableByteStreamControllerClearAlgorithms","ReadableByteStreamControllerHandleQueueDrain","viewE","autoAllocateChunkSize","_autoAllocateChunkSize","bufferE","pullIntoDescriptor","elementSize","readerType","ReadableByteStreamControllerCallPullIfNeeded","ReadableByteStreamControllerShouldCallPull","ReadableByteStreamControllerClearPendingPullIntos","ReadableByteStreamControllerInvalidateBYOBRequest","ReadableByteStreamControllerCommitPullIntoDescriptor","filledView","ReadableByteStreamControllerConvertPullIntoDescriptor","ReadableStreamFulfillReadIntoRequest","ReadableByteStreamControllerEnqueueChunkToQueue","ReadableByteStreamControllerFillPullIntoDescriptorFromQueue","currentAlignedBytes","maxBytesToCopy","maxBytesFilled","maxAlignedBytes","totalBytesToCopyRemaining","ready","headOfQueue","bytesToCopy","destStart","ReadableByteStreamControllerFillHeadPullIntoDescriptor","ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue","ReadableByteStreamControllerShiftPendingPullInto","ReadableByteStreamControllerPullInto","BYTES_PER_ELEMENT","ReadableStreamAddReadIntoRequest","emptyView","ReadableByteStreamControllerRespondInClosedState","ReadableStreamHasBYOBReader","ReadableStreamGetNumReadIntoRequests","ReadableByteStreamControllerRespondInReadableState","remainderSize","remainder","ReadableByteStreamControllerRespondInternal","firstPendingPullInto","transferredBuffer","transferredView","SetUpReadableByteStreamController","SetUpReadableByteStreamControllerFromUnderlyingSource","underlyingByteSource","request","AcquireReadableStreamBYOBReader","ReadableStreamBYOBReader","readIntoRequest","_readIntoRequests","IsReadableStreamBYOBReader","byobReaderBrandCheckException","ReadableStreamBYOBReaderRead","InitializeReadableStream","typeString","streamBrandCheckException$1","getReader","pipeThrough","_b","readable","_c","pipeTo","tee","branches","sourceCancelPromise","ByteLengthQueuingStrategy","CountQueuingStrategy","TransformStream","transformer","writableStrategy","readableStrategy","writableSizeFunction","writableHighWaterMark","readableSizeFunction","readableHighWaterMark","writableType","writableSizeAlgorithm","readableType","startPromise_resolve","readableSizeAlgorithm","InitializeTransformStream","SetUpTransformStreamDefaultControllerFromTransformer","_transformStreamController","IsTransformStream","streamBrandCheckException$2","_readable","_writable","TransformStreamDefaultSinkWriteAlgorithm","TransformStreamDefaultSinkAbortAlgorithm","TransformStreamDefaultSinkCloseAlgorithm","TransformStreamDefaultSourcePullAlgorithm","TransformStreamErrorWritableAndUnblockWrite","_backpressureChangePromise","_backpressureChangePromise_resolve","TransformStreamSetBackpressure","TransformStreamError","TransformStreamDefaultControllerClearAlgorithms","TransformStreamDefaultController","IsTransformStreamDefaultController","defaultControllerBrandCheckException$1","readableController","_controlledTransformStream","TransformStreamDefaultControllerEnqueue","TransformStreamDefaultControllerError","TransformStreamDefaultControllerTerminate","SetUpTransformStreamDefaultController","transformAlgorithm","flushAlgorithm","_transformAlgorithm","_flushAlgorithm","transformResultE","transformMethod","TransformStreamDefaultControllerPerformTransform","transformPromise","backpressureChangePromise","flushPromise","collection","collectionStrong","InternalMetadataModule","inheritIfRequired","common","IS_MAP","IS_WEAK","ADDER","NativeConstructor","NativePrototype","exported","fixMethod","nativeMethod","getConstructor","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","dummy","setStrong","FREEZING","METADATA","isExtensible","setMetadata","objectID","weakData","fastKey","getWeakData","onFreeze","meta","preventExtensions","Wrapper","NewTargetPrototype","internalStateGetterFor","define","previous","getEntry","removed","callbackfn","ITERATOR_NAME","getInternalCollectionState","InternalWeakMap","collectionWeak","enforceIternalState","IS_IE11","$WeakMap","WeakMapPrototype","nativeDelete","nativeHas","nativeGet","nativeSet","frozen","ArrayIterationModule","$has","findIndex","uncaughtFrozenStore","UncaughtFrozenStore","findUncaughtFrozen","arraySpeciesCreate","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","specificCreate","filter","some","originalArray","nativeFromCodePoint","INCORRECT_LENGTH","arrayMethodHasSpeciesSupport","IS_CONCAT_SPREADABLE","MAX_SAFE_INTEGER","MAXIMUM_ALLOWED_INDEX_EXCEEDED","IS_CONCAT_SPREADABLE_SUPPORT","array","SPECIES_SUPPORT","isConcatSpreadable","spreadable","E","foo","nativeObjectCreate","getOwnPropertyNamesExternal","wrappedWellKnownSymbolModule","defineWellKnownSymbol","$forEach","SYMBOL","TO_PRIMITIVE","$stringify","nativeGetOwnPropertyNames","AllSymbols","ObjectPrototypeSymbols","StringToSymbolRegistry","SymbolToStringRegistry","QObject","USE_SETTER","findChild","setSymbolDescriptor","ObjectPrototypeDescriptor","isSymbol","$defineProperty","$defineProperties","properties","$getOwnPropertySymbols","$propertyIsEnumerable","$create","$getOwnPropertyDescriptor","$getOwnPropertyNames","IS_OBJECT_PROTOTYPE","keyFor","sym","useSetter","useSimple","FORCED_JSON_STRINGIFY","stringify","space","$replacer","windowNames","getWindowNames","NativeSymbol","EmptyStringDescriptionStore","SymbolWrapper","symbolPrototype","symbolToString","native","desc","JSON","$padStart","WEBKIT_BUG","repeat","IS_END","fillString","fillLen","stringFiller","stringLength","fillStr","intMaxLength","count","$padEnd","$values","TO_ENTRIES","isEOF","isCmd","isDict","isName","isRef","isRefsEqual","isStream","RefSetCache","RefSet","Name","Dict","Cmd","nameCache","nameValue","_clearCache","cmdCache","cmd","cmdValue","nonSerializable","_map","objId","suppressEncryption","__nonSerializable__","assignXref","newXref","key1","key2","key3","getAsync","fetchAsync","getArray","getRaw","getKeys","empty","merge","dictArray","mergedDict","dict","keyName","refCache","refValue","put","putAlias","aliasRef","v1","v2","getBytes","_chunked_stream","_document","_stream","BasePdfManager","manuallyTriggered","_ensure","_x2","_x3","begin","_password","_docId","_docBaseUrl","_BasePdfManager","Stream","PDFDocument","_loadedStreamPromise","_ensure2","_callee2","_context2","_x4","_x5","_x6","_BasePdfManager2","pdfNetworkStream","streamManager","ChunkedStreamManager","getStream","_ensure3","_callee3","_context3","t0","MissingDataException","requestRange","_x7","_x8","_x9","requestAllChunks","onReceiveData","ChunkedStream","_createForOfIteratorHelper","allowArrayLike","normalCompletion","didErr","_e2","manager","loadedChunks","numChunksLoaded","numChunks","progressiveDataLength","lastSuccessfulEnsureByteChunk","chunks","beginChunk","endChunk","curChunk","ensureByte","b0","getByte","forceClamped","strEnd","ensureRange","_subarray","peekedByte","ChunkedStreamSubstream","getMissingChunks","missingChunks","allChunksLoaded","subStream","currRequestId","chunksNeededByRequest","requestsByChunk","promisesByRequest","_loadedStreamCapability","rangeReader","getRangeReader","onProgress","chunkData","_requestChunks","requestId","chunksNeeded","_step","_iterator","_chunk","hasChunk","chunksToRequest","_step2","groupedChunksToRequest","groupChunks","_iterator2","groupedChunk","sendRequest","getBeginChunk","getEndChunk","_step3","ranges","_iterator3","range","groupedChunks","prevChunk","isProgressive","onReceiveProgressiveData","loadedRequests","requestIds","_step4","_iterator4","nextEmptyChunk","lastChunk","_loadedRequests","_requestId","getLookupTableFactory","getInheritableProperty","toRomanNumerals","readInt8","readUint16","readUint32","isWhiteSpace","XRefEntryException","initializer","lookup","_ref$getArray","_ref$stopWhenFound","stopWhenFound","LOOP_LIMIT","loopCount","ROMAN_NUMBER_MAP","lowerCase","romanBuf","romanStr","offset","ch","Page","_obj","_annotation","_crypto","_parser","_operator_list","_evaluator","_function","default","_e3","DEFAULT_USER_UNIT","LETTER_SIZE_MEDIABOX","isAnnotationRenderable","annotation","viewable","printable","pageDict","fontCache","builtInCMapCache","globalImageCache","pdfFunctionFactory","resourcesPromise","idCounters","idFactory","createObjId","getDocId","box","_getInheritableProperty","streams","fetchIfRef","StreamsSequenceStream","NullStream","objectLoader","ObjectLoader","resources","load","contentStreamPromise","loadResources","partialEvaluator","PartialEvaluator","dataPromises","pageListPromise","contentStream","opList","OperatorList","transparency","hasBlendModes","operatorList","_parsedAnnotations","_ref6","pageOpList","annotations","totalLength","opListPromises","opLists","addOp","addOpList","_ref7","_ref8","_ref9","getTextContent","annotationsData","_getBoundingBox","mediaBox","cropBox","intersect","_this4","parsedAnnotations","annotationPromises","annotationRef","AnnotationFactory","PDF_HEADER_SIGNATURE","STARTXREF_SIGNATURE","ENDOBJ_SIGNATURE","FINGERPRINT_FIRST_BYTES","EMPTY_FINGERPRINT","PDF_HEADER_VERSION_REGEXP","signature","limit","backwards","signatureLength","scanBytes","peekBytes","scanLength","signatureEnd","_pos","_j","XRef","PDFFunctionFactory","_pagePromises","catDict","pdfFormatVersion","acroForm","xfa","fields","moveStart","MAX_PDF_VERSION_LENGTH","substring","setStartXRef","startXRef","parse","Catalog","linearization","objectNumberFirst","pageKidsCountCache","getPageDict","_this5","pageFirst","_getLinearizationPage","_ref10","_ref11","_this6","_ref12","_cleanup","_args2","Linearization","startXRefLength","skip","DocumentInfoValidators","Title","Author","Subject","Keywords","Creator","Producer","CreationDate","ModDate","Trapped","infoDict","docInfo","PDFFormatVersion","IsLinearized","IsAcroFormPresent","IsXFAPresent","IsCollectionPresent","trailer","_step5","_iterator5","customValue","Custom","idArray","calculateMD5","getByteRange","fingerprintBuf","hex","FileSpec","_colorspace","_image_utils","fetchDestination","getCatalogObj","GlobalImageCache","items","processed","blackColor","outlineDict","parseDestDictionary","destDict","resultObj","flags","color","rgbColor","ColorSpace","singletons","rgb","getRgb","outlineItem","unsafeUrl","newWindow","bold","italic","encrypt","permissions","destinationId","_readDests","NameTree","pageLabels","prefix","numberTree","NumberTree","nums","currentLabel","currentIndex","labelDict","st","LIMIT","A_UPPER_CASE","A_LOWER_CASE","baseCharCode","letterIndex","character","charBuf","jj","promises","translatedFonts","translatedFont","loadedName","fallback","translated","nodesToVisit","visitedNodes","currentPageIndex","_loop","currentNode","kids","_ret","pageRef","pagesBeforeRef","kidRef","parentRef","kidPromises","kid","_args","streamRef","encryptMetadata","subtype","pagesObj","_readDocumentOutline","_readPermissions","toplevelPagesDict","dests","_readPageLabels","pageLayout","pageMode","ViewerPreferencesValidators","HideToolbar","HideMenubar","HideWindowUI","FitWindow","CenterWindow","DisplayDocTitle","NonFullScreenPageMode","Direction","ViewArea","ViewClip","PrintArea","PrintClip","PrintScaling","Duplex","PickTrayByPDFSize","PrintPageRange","NumCopies","prefs","prefValue","isValid","openAction","attachments","nameTree","fs","serializable","appendIfJavaScriptDict","jsDict","js","addDefaultProtocolToUrl","tryConvertUrlEncoding","actionType","actionName","urlDict","remoteDest","namedAction","jsAction","URL_OPEN_METHODS","regex","jsUrl","xrefstms","_cacheMap","streamTypes","fontTypes","startXRefQueue","trailerDict","indexObjects","readXRef","ids","fileId","CipherTransformFactory","processXRefTable","parser","tableState","entryNum","streamPos","lexer","parserBuf1","buf1","parserBuf2","buf2","readXRefTable","getObj","firstEntryNum","entryCount","free","uncompressed","processXRefStream","streamParameters","byteWidths","streamState","entryRanges","readXRefStream","typeFieldWidth","offsetFieldWidth","generationFieldWidth","generation","TAB","LF","CR","SPACE","PERCENT","readToken","skipUntil","what","dataLength","skipped","objRegExp","endobjRegExp","nestedObjRegExp","CHECK_CONTENT_LENGTH","trailerBytes","startxrefBytes","objBytes","xrefBytes","trailers","xrefStms","startPos","endPos","checkPos","tokenStr","objToken","xrefTagOffset","Parser","Lexer","allowStreams","rootDict","startXRefParsedCache","topDict","xrefEntry","cacheEntry","fetchUncompressed","fetchCompressed","makeSubStream","obj1","obj2","obj3","createCipherTransform","tableOffset","_num","fetchIfRefAsync","NameOrNumberTree","_type","_ii","kidsOrEntries","MAX_LEVELS","limits","_l","_r","tmp","_m","currentKey","_m2","mm","_currentKey","_NameOrNumberTree","_NameOrNumberTree2","contentAvailable","pickPlatformItem","_filename","filename","contentRef","fileObj","mayHaveChildren","addChildren","dictKeys","rawValue","_i4","_ii2","refSet","_walk","_callee4","nodesToRevisit","pendingRequests","baseStreams","foundMissingData","_i5","_ii3","_context4","getBaseStreams","requestRanges","_ccitt_stream","_jbig2_stream","_jpeg_stream","_jpx_stream","MAX_LENGTH_TO_CACHE","MAX_ADLER32_LENGTH","computeAdler32","bytesLength","_ref$allowStreams","_ref$recoveryMode","imageCache","refill","cipherTransform","makeInlineImage","makeStream","decryptString","maybeEIPos","I","NUL","followingBytes","endOffset","peekByte","markerLength","foundEOI","getUint16","findDefaultInlineStreamEnd","inlineStreamSkipEI","TILDE","tildePos","maybeEI","dictLength","beginInlineImagePos","filterName","filterZero","findDCTDecodeInlineStreamEnd","findASCII85DecodeInlineStreamEnd","findASCIIHexDecodeInlineStreamEnd","cacheKey","imageStream","imageBytes","initialStreamPos","dictBytes","createStream","SCAN_BLOCK_LENGTH","skipToNextLine","nextChar","tryShift","ENDSTREAM_SIGNATURE","actualLength","_findStreamLength","MAX_TRUNCATION","TRUNCATED_SIGNATURE","maybeLength","lastByte","makeFilter","filterArray","paramsArray","xrefStreamStats","PredictorStream","FlateStream","earlyChange","LZWStream","JpegStream","JpxStream","Ascii85Stream","AsciiHexStream","CCITTFaxStream","RunLengthStream","Jbig2Stream","specialChars","toHexDigit","knownCommands","_hexStringNumWarn","currentChar","eNotation","divideBy","sign","baseValue","powerValue","powerValueSign","currentDigit","peekChar","numParen","charBuffered","previousCh","x2","MAX_HEX_STRING_NUM_WARN","firstDigit","secondDigit","isFirstHex","_hexStringWarn","comment","getNumber","getString","getName","getHexString","knownCommandFound","possibleCommand","getInt","linDict","allowZeroValue","getHints","hintsLength","hints","hint","endFirst","mainXRefEntriesOffset","StringStream","DecodeStream","DecryptStream","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","arrayBuffer","getInt32","emptyBuffer","maybeMinBufferLength","_rawMinBufferLength","bufferLength","eof","minBufferLength","readBlock","ensureBuffer","requested","buffer2","bufEnd","newLength","codeLenCodeMap","lengthDecode","distDecode","fixedLitCodeTab","fixedDistCodeTab","cmf","flg","codeSize","codeBuf","getBits","bits","getCode","table","codes","maxLen","codeLen","codeVal","generateHuffmanTable","lengths","code2","hdr","litCodeTable","distCodeTable","numLitCodes","numDistCodes","numCodeLenCodes","codeLenCodeLengths","codeLenCodeTab","bitsLength","bitsOffset","codeLengths","repeatLength","code1","dist","blockLen","block","predictor","readBlockTiff","readBlockPng","colors","columns","pixBytes","rowBytes","rawBytes","inbuf","outbuf","inbits","outbits","bytesPerPixel","sum","compArray","bitMask","kk","prevRow","up","upLeft","left","pa","pb","pc","decrypt","nextChunk","initialized","hasMoreData","TILDA_CHAR","Z_LOWER_CHAR","UPSTREAM_BLOCK_SIZE","maxDecodeLength","repeatHeader","cachedData","bitsCached","maxLzwDictionarySize","lzwState","codeLength","nextCode","dictionaryValues","dictionaryLengths","dictionaryPrevCodes","currentSequence","currentSequenceLength","readBits","lastCode","blockSize","estimatedDecodedSize","decodedSizeDelta","prevCode","decodedLength","currentBufferLength","hasPrev","_ccitt","ccittFaxDecoder","CCITTFaxDecoder","K","EndOfLine","EncodedByteAlign","Columns","Rows","EndOfBlock","BlackIs1","readNextChar","ccittEOL","ccittEOF","twoDimPass","twoDimHoriz","twoDimVert0","twoDimVertR1","twoDimVertL1","twoDimVertR2","twoDimVertL2","twoDimVertR3","twoDimVertL3","twoDimTable","whiteTable1","whiteTable2","blackTable1","blackTable2","blackTable3","encoding","eoline","byteAlign","rows","eoblock","black","codingLine","refLine","codingPos","row","nextLine2D","inputBits","inputBuf","outputBits","rowsDone","_lookBits","_eatBits","refPos","blackPixels","code3","_getTwoDimCode","_addPixels","_getBlackCode","_getWhiteCode","_addPixelsNeg","gotEOL","a1","_findTableCode","limitValue","_jbig","jbig2Image","Jbig2Image","globalsStream","globals","parseChunks","_arithmetic_decoder","Jbig2Error","ContextCache","DecodingContext","decodeInteger","contextCache","procedure","decoder","contexts","getContexts","bit","readBit","decodeIAID","ArithmeticDecoder","SegmentTypes","CodingTemplates","y","RefinementTemplates","coding","reference","ReusedContexts","RefinementReusedContexts","decodeBitmapTemplate0","width","height","decodingContext","contextLabel","pixel","row1","row2","OLD_PIXEL_MASK","decodeBitmap","mmr","templateIndex","prediction","at","Reader","decodeMMRBitmap","useskip","template","templateLength","templateX","templateY","changingTemplateEntries","reuseMask","minX","maxX","minY","changingEntriesLength","changingTemplateX","changingTemplateY","changingTemplateBit","i0","j0","sbb_left","sbb_top","sbb_right","pseudoPixelContext","ltp","sltp","decodeRefinement","referenceBitmap","offsetX","offsetY","codingTemplate","codingTemplateLength","codingTemplateX","codingTemplateY","referenceTemplate","referenceTemplateLength","referenceTemplateX","referenceTemplateY","referenceWidth","referenceHeight","decodeSymbolDictionary","huffman","refinement","symbols","numberOfNewSymbols","numberOfExportedSymbols","huffmanTables","refinementTemplateIndex","refinementAt","huffmanInput","tableB1","symbolWidths","newSymbols","currentHeight","symbolCodeLength","getStandardTable","deltaHeight","tableDeltaHeight","decode","currentWidth","totalWidth","firstSymbol","deltaWidth","tableDeltaWidth","numberOfInstances","decodeTextRegion","symbolId","rdx","rdy","bitmapSize","tableBitmapSize","collectiveBitmap","readUncompressedBitmap","originalEnd","bitmapEnd","numberOfSymbolsDecoded","xMin","xMax","bitmapWidth","symbolBitmap","exportedSymbols","currentFlag","totalSymbolsLength","runLength","defaultPixelValue","numberOfSymbolInstances","stripSize","inputSymbols","transposed","dsOffset","referenceCorner","combinationOperator","logStripSize","stripT","tableDeltaT","firstS","deltaT","deltaFirstS","tableFirstS","currentS","currentT","symbolIDTable","applyRefinement","symbolWidth","symbolHeight","rdw","rdh","s2","t2","symbolRow","offsetT","offsetS","maxWidth","deltaS","tableDeltaS","decodePatternDictionary","patternWidth","patternHeight","maxPatternIndex","collectiveWidth","patterns","patternBitmap","decodeHalftoneRegion","regionWidth","regionHeight","enableSkip","gridWidth","gridHeight","gridOffsetX","gridOffsetY","gridVectorX","gridVectorY","regionBitmap","numberOfPatterns","pattern0","bitsPerValue","mmrInput","mg","ng","patternIndex","patternRow","regionRow","grayScaleBitPlanes","regionX","regionY","readSegmentHeader","segmentHeader","segmentType","typeName","deferredNonRetain","pageAssociationFieldSize","referredFlags","referredToCount","retainBits","referredToSegmentNumberSize","referredTo","pageAssociation","genericRegionInfo","readRegionSegmentInformation","genericRegionSegmentFlags","RegionSegmentInformationFieldLength","genericRegionMmr","searchPatternLength","searchPattern","headerEnd","readSegments","header","segments","randomAccess","processSegment","visitor","atLength","dictionary","dictionaryFlags","huffmanDHSelector","huffmanDWSelector","bitmapSizeSelector","aggregationInstancesSelector","bitmapCodingContextUsed","bitmapCodingContextRetained","refinementTemplate","textRegion","textRegionSegmentFlags","textRegionHuffmanFlags","huffmanFS","huffmanDS","huffmanDT","huffmanRefinementDW","huffmanRefinementDH","huffmanRefinementDX","huffmanRefinementDY","huffmanRefinementSizeSelector","patternDictionary","patternDictionaryFlags","halftoneRegion","halftoneRegionFlags","genericRegion","pageInfo","resolutionX","resolutionY","pageSegmentFlags","lossless","requiresBuffer","combinationOperatorOverride","callbackName","processSegments","parseJbig2Chunks","SimpleSegmentVisitor","parseJbig2","numberOfPages","_visitor$currentPageI","currentPageInfo","bitPacked","imgData","mask","HuffmanLine","lineData","isOOB","rangeLow","prefixLength","rangeLength","prefixCode","isLowerRange","HuffmanTreeNode","line","isLeaf","HuffmanTable","lines","prefixCodesDone","assignPrefixCodes","rootNode","buildTree","decodeTablesSegment","lowestValue","highestValue","prefixSizeBits","rangeSizeBits","currentRangeLow","onPageInformation","rowSize","drawBitmap","regionInfo","mask0","offset0","onImmediateGenericRegion","region","onImmediateLosslessGenericRegion","onSymbolDictionary","currentSegment","referredSegments","getSymbolDictionaryHuffmanTables","customTables","referredSymbols","onImmediateTextRegion","getTextRegionHuffmanTables","onImmediateLosslessTextRegion","onPatternDictionary","onImmediateHalftoneRegion","onImmediateLosslessHalftoneRegion","onTables","decodeNode","htOffset","linesLength","prefixLengthMax","histogram","currentCode","currentTemp","currentLength","firstCode","standardTablesCache","currentByte","getCustomHuffmanTable","numberOfSymbols","runCodesTable","_codeLength","repeatedLength","numberOfRepeats","customIndex","tableAggregateInstances","endOfBlock","lookForEOFLimit","numBits","_parseJbig","QeTable","qe","nmps","nlps","switchFlag","bp","dataEnd","chigh","clow","byteIn","ct","cx_index","cx_mps","qeTableIcx","qeIcx","_jpg","jpegOptions","decodeTransform","colorTransform","decodeArr","forceRGB","bitsPerComponent","decodeArrLength","transformNeeded","maxValue","jpegImage","JpegImage","getData","drawWidth","drawHeight","isSourcePDF","JpegError","DNLMarkerError","scanLines","EOIMarkerError","dctZigZag","dctCos1","dctSin1","dctCos3","dctSin3","dctCos6","dctSin6","dctSqrt2","dctSqrt1d2","_ref$decodeTransform","_ref$colorTransform","_decodeTransform","_colorTransform","buildHuffmanTable","getBlockBufferOffset","component","col","blocksPerLine","decodeScan","frame","components","resetInterval","spectralStart","spectralEnd","successivePrev","successive","parseDNLMarker","mcusPerLine","progressive","startOffset","bitsData","bitsCount","nextByte","maybeScanLines","blockRow","decodeHuffman","tree","receive","receiveAndExtend","decodeBaseline","blockOffset","huffmanTableDC","diff","blockData","pred","rs","huffmanTableAC","z","decodeDCFirst","decodeDCSuccessive","eobrun","decodeACFirst","successiveACNextValue","successiveACState","decodeACSuccessive","offsetZ","decodeMcu","mcu","mcuRow","mcuCol","blockCol","h","decodeBlock","decodeFn","componentsLength","fileMarker","mcuExpected","blocksPerColumn","mcusPerColumn","mcuToRead","findNextFileMarker","invalid","partialMsg","marker","quantizeAndInverse","blockBufferOffset","v0","v3","v4","v5","v6","v7","p0","p5","p6","p7","qt","quantizationTable","buildComponentData","computationBuffer","currentPos","maxPos","newPos","currentMarker","newMarker","_ref2$dnlScanLines","dnlScanLines","readDataBlock","prepareComponents","samplesPerLine","maxH","maxV","blocksPerLineForMcu","blocksPerColumnForMcu","blocksBufferSize","jfif","adobe","numSOSMarkers","quantizationTables","huffmanTablesAC","huffmanTablesDC","markerLoop","appData","major","minor","densityUnits","xDensity","yDensity","thumbWidth","thumbHeight","thumbData","flags0","flags1","transformCode","quantizationTablesLength","quantizationTablesEnd","quantizationTableSpec","tableData","extended","precision","sofScanLines","componentIds","componentId","componentsCount","qId","quantizationId","huffmanLength","huffmanTableSpec","codeLengthSum","huffmanValues","selectorsCount","componentIndex","tableSpec","successiveApproximation","nextFileMarker","scaleX","scaleY","numComponents","_getLinearizedBlockData","componentScaleX","componentScaleY","blocksPerScanline","lastComponentScaleX","xScaleBlockOffset","mask3LSB","_convertYccToRgb","Y","Cb","Cr","_convertYcckToRgb","_convertYcckToCmyk","_convertCmykToRgb","_ref3$forceRGB","_ref3$isSourcePDF","rgbData","grayColor","_isColorConversionNeeded","_jpx","jpxImage","JpxImage","tileCount","tiles","tileComponents","tileWidth","tileHeight","tileLeft","tileTop","top","srcPosition","dataPosition","imgRowSize","tileRowSize","JpxError","SubbandsGainLog2","LL","LH","HL","HH","failOnCorruptedImage","calculateComponentDimensions","siz","x0","XOsiz","XRsiz","x1","Xsiz","y0","YOsiz","YRsiz","y1","Ysiz","calculateTileGrids","tile","SIZ","numXtiles","XTOsiz","XTsiz","numYtiles","YTOsiz","YTsiz","tx0","ty0","tx1","ty1","Csiz","tileComponent","tcx0","tcy0","tcx1","tcy1","getBlocksDimensions","codOrCoc","codingStyleParameters","entropyCoderWithCustomPrecincts","PPx","precinctsSizes","PPy","xcb_","xcb","ycb_","ycb","buildPrecincts","resolution","dimensions","precinctWidth","precinctHeight","isZeroRes","resLevel","precinctWidthInSubband","precinctHeightInSubband","numprecinctswide","trx1","trx0","numprecinctshigh","try1","try0","numprecincts","precinctParameters","buildCodeblocks","subband","codeblock","precinctNumber","codeblockWidth","codeblockHeight","cbx0","tbx0","cby0","tby0","cbx1","tbx1","cby1","tby1","codeblocks","precincts","cbx","cby","tbx0_","tby0_","tbx1_","tby1_","pi","pj","subbandType","Lblock","precinct","cbxMin","cbxMax","cbyMin","cbyMax","codeblockParameters","numcodeblockwide","numcodeblockhigh","createPacket","layerNumber","precinctCodeblocks","subbands","LayerResolutionComponentPositionIterator","tileIndex","currentTile","layersCount","codingStyleDefaultParameters","maxDecompositionLevelsCount","decompositionLevelsCount","nextPacket","resolutions","packet","ResolutionLayerComponentPositionIterator","ResolutionPositionComponentLayerIterator","maxNumPrecinctsInLevel","maxNumPrecincts","_component","PositionComponentResolutionLayerIterator","getPrecinctSizesInImageScale","precinctsIterationSizes","px","py","maxNumHigh","maxNumWide","sizeInImageScale","getPrecinctIndexIfExist","ComponentPositionResolutionLayerIterator","pxIndex","pyIndex","precinctIterationSizes","posX","minWidth","posY","minHeight","startPrecinctRowIndex","MAX_VALUE","sizePerComponent","sizePerResolution","minWidthCurrentComponent","minHeightCurrentComponent","maxNumWideCurrentComponent","maxNumHighCurrentComponent","scale","widthCurrentResolution","heightCurrentResolution","buildPackets","blocksDimensions","bscale","resolutionSubbands","progressionOrder","packetsIterator","parseTilePackets","bufferSize","skipNextBit","skipMarkerIfEqual","skipBytes","alignToByte","readCodingpasses","sopMarkerUsed","COD","ephMarkerUsed","valueReady","codeblockColumn","codeblockRow","codeblockIncluded","firstTimeInclusion","included","inclusionTree","zeroBitPlanesTree","InclusionTree","TagTree","incrementValue","nextLevel","zeroBitPlanes","codingpasses","codingpassesLog2","codedDataLength","packetItem","copyCoefficients","coefficients","levelWidth","levelHeight","mb","reversible","segmentationSymbolUsed","right","bottom","blockWidth","blockHeight","bitModel","currentCodingpassType","BitModel","dataItem","encodedData","setDecoder","runSignificancePropagationPass","runMagnitudeRefinementPass","runCleanupPass","checkSegmentationSymbol","nb","coefficentsSign","magnitude","coefficentsMagnitude","bitsDecoded","magnitudeCorrection","interleave","levelOffset","transformTile","quantizationParameters","spqcds","SPqcds","scalarExpounded","guardBits","reversibleTransformation","ReversibleTransform","IrreversibleTransform","subbandCoefficients","mu","epsilon","gainLog2","calculate","transformComponents","resultImages","transformedTiles","y2","tile0","out","multipleComponentTransform","fourComponents","y0items","y1items","y2items","y3items","component0","alpha01","initializeTile","qcdOrQcc","QCC","QCD","COC","headerSize","lbox","tbox","jumpDataLength","colorspace","parseCodestream","headerType","parseImageProperties","newByte","oldByte","doNotRecover","sqcd","spqcdSize","mainHeader","isSigned","qcd","noQuantization","spqcd","cqcc","qcc","cod","scod","blockStyle","selectiveArithmeticCodingBypass","resetContextProbabilities","terminationOnEachCodingPass","verticallyStripe","predictableTermination","precinctsSize","unsupported","partIndex","partsCount","levelsLength","levels","currentLevel","defaultValue","stopValue","propagateValues","levelIndex","UNIFORM_CONTEXT","RUNLENGTH_CONTEXT","LLAndLHContextsLabel","HLContextLabel","HHContextLabel","contextLabelTable","coefficientCount","neighborsSignificance","processingFlags","setNeighborsSignificance","column","processedInverseMask","processedMask","firstMagnitudeBitMask","i1","decision","decodeSignBit","contribution","sign0","sign1","significance1","decoded","horizontalContribution","indexNext","width4","index0","significance","iNext","oneRowDown","twoRowsDown","threeRowsDown","indexBase","checkAllEmpty","allEmpty","hasSignificantCoefficent","i2","Transform","u0","ll","extend","j1","j2","hl_lh_hh","u","llWidth","llHeight","llItems","bufferPadding","rowBuffer","numBuffers","colBuffers","currentBuffer","current","alpha","beta","gamma","K_","calculateSHA512","calculateSHA384","calculateSHA256","PDF20","PDF17","ARCFourCipher","AES256Cipher","AES128Cipher","keyLength","encryptBlock","tmp2","decryptBlock","h0","h1","h2","h3","paddedLength","padded","w","rotateArg","Word64","highInteger","lowInteger","high","low","and","word","xor","or","shiftRight","places","shiftLeft","rotateRight","not","lowAdd","highAdd","copyTo","rotr","maj","sigma","sigmaPrime","littleSigma","littleSigmaPrime","h4","h5","h6","h7","t1","mode384","tmp3","tmp1","NullCipher","AESBaseCipher","_inv_s","_mix","_mixCol","bufferPosition","cipherKey","_keySize","_cyclesOfRepetition","_j2","_k","_j3","s0","s1","s3","_j4","_j5","_j6","_j7","_j8","_j9","_k2","sourceLength","iv","plain","_decrypt","outputLength","lastBlock","psLen","_j10","_decryptBlock2","cipher","_encrypt","_j11","_AESBaseCipher","_rcon","_expandKey","rcon","t3","t4","_AESBaseCipher2","compareByteArrays","array1","array2","checkOwnerPassword","ownerValidationSalt","userBytes","ownerPassword","hashData","checkUserPassword","userValidationSalt","userPassword","getOwnerKey","ownerKeySalt","ownerEncryption","getUserKey","userKeySalt","userEncryption","concatArrays","calculatePDF20Hash","arrayLength","k1","concatBytes","CipherTransform","stringCipherConstructor","streamCipherConstructor","StringCipherConstructor","StreamCipherConstructor","defaultPasswordBytes","createEncryptionKey20","revision","uBytes","perms","passwordLength","pdfAlgorithm","prepareKeyData","hashDataSize","keyLengthInBytes","checkData","encryptionKey","derivedKey","decodeUserPassword","identityName","algorithm","cfDict","streamCryptoName","handlerDict","passwordBytes","fileIdBytes","decodedPassword","cf","stmf","strf","eff","buildObjectKey","isAes","buildCipherConstructor","cfm","cryptFilter","cipherConstructor","resizeRgbImage","w1","w2","COMPONENTS","oldIndex","xRatio","yRatio","newIndex","xScaled","w1Scanline","numComps","getRgbItem","decodeMap","bpc","isDefaultDecode","originalWidth","originalHeight","actualHeight","comps","numComponentColors","needsResizing","isPassthrough","allColors","colorMap","getRgbBuffer","rgbPos","destPos","_destPos","_rgbPos","cs","res","IR","parseToIR","fromIR","whitePoint","blackPoint","gray","cmyk","CalGrayCS","matrix","CalRGBCS","basePatternCS","PatternCS","baseIndexedCS","hiVal","IndexedCS","alt","tintFn","AlternateCS","LabCS","colorSpaces","resCS","altIR","altCS","DeviceGrayCS","DeviceRgbCS","DeviceCmykCS","_ColorSpace","tmpBuf","baseNumComps","usesZeroToOneRange","baseBuf","scaled","tinted","getOutputLength","_ColorSpace2","baseCS","_ColorSpace3","highVal","outputDelta","lookupPos","_ColorSpace4","_ColorSpace5","convertToRgb","srcScale","_ColorSpace6","AG","G","L","YW","_ColorSpace7","XW","ZW","XB","YB","ZB","BRADFORD_SCALE_MATRIX","BRADFORD_SCALE_INVERSE_MATRIX","SRGB_D65_XYZ_TO_RGB_MATRIX","FLAT_WHITEPOINT_MATRIX","tempNormalizeMatrix","tempConvertMatrix1","tempConvertMatrix2","DECODE_L_CONSTANT","matrixProduct","convertToFlat","sourceWhitePoint","LMS","convertToD65","D65X","D65Y","D65Z","sRGBTransferFunction","adjustToRange","decodeL","compensateBlackPoint","sourceBlackPoint","XYZ_Flat","zeroDecodeL","X_DST","X_SRC","Y_DST","Y_SRC","Z_DST","Z_SRC","X_Scale","X_Offset","Y_Scale","Y_Offset","Z_Scale","Z_Offset","normalizeWhitePointToFlat","XYZ_In","LMS_Flat","normalizeWhitePointToD65","LMS_D65","AGR","GR","BGG","GG","CGB","GB","X","MXA","MXB","MXC","MYA","MYB","MYC","Z","MZA","MZB","MZC","XYZ","XYZ_Black","XYZ_D65","SRGB","_ColorSpace8","_super8","fn_g","high1","low2","high2","maxVal","Ls","as","bs","amin","amax","bmin","bmax","M","N","_ColorSpace9","_super9","LocalImageCache","_nameRefMap","_imageMap","_imageCache","getByRef","_refCache","pageIndexSet","NUM_PAGES_THRESHOLD","MAX_IMAGES_TO_CACHE","onlyData","getQuadPoints","MarkupAnnotation","AnnotationBorderStyle","Annotation","_get","receiver","_superPropBase","parameters","LinkAnnotation","TextAnnotation","fieldType","TextWidgetAnnotation","ButtonWidgetAnnotation","ChoiceWidgetAnnotation","WidgetAnnotation","PopupAnnotation","FreeTextAnnotation","LineAnnotation","SquareAnnotation","CircleAnnotation","PolylineAnnotation","PolygonAnnotation","CaretAnnotation","InkAnnotation","HighlightAnnotation","UnderlineAnnotation","SquigglyAnnotation","StrikeOutAnnotation","StampAnnotation","FileAttachmentAnnotation","quadPoints","quadPointsLists","getTransformMatrix","bbox","_Util$getAxialAligned","getAxialAlignedBoundingBox","_Util$getAxialAligned2","maxY","setContents","setModificationDate","setFlags","setRectangle","setColor","setBorderStyle","setAppearance","annotationFlags","borderStyle","contents","hasAppearance","appearance","modificationDate","flag","_hasFlag","dictType","setWidth","setStyle","setDashArray","setHorizontalCornerRadius","setVerticalCornerRadius","appearanceStates","normalAppearanceState","evaluator","renderForms","appearanceDict","_isViewable","_isPrintable","dashArray","horizontalCornerRadius","verticalCornerRadius","maxHeight","allZeros","validNumber","radius","_Annotation","rawIRT","inReplyTo","rt","replyType","setCreationDate","creationDate","hasPopup","_Annotation2","annotationType","fieldName","_constructFieldName","fieldValue","alternativeText","defaultAppearance","fieldResources","fieldFlags","readOnly","hasFieldFlag","loopDict","_WidgetAnnotation","alignment","textAlignment","maximumLength","multiLine","comb","_WidgetAnnotation2","checkBox","radioButton","pushButton","_processCheckBox","_processRadioButton","_processPushButton","customAppearance","exportValueOptionsDict","exportValues","hasCorrectOptionCount","exportValue","buttonValue","fieldParent","fieldParentValue","_WidgetAnnotation3","option","isOptionArray","displayValue","combo","multiSelect","_MarkupAnnotation","_this7","DEFAULT_ICON_SIZE","stateModel","_Annotation3","_this8","_Annotation4","_this9","parentItem","parentSubtype","parentType","rawParent","parentId","parentFlags","_MarkupAnnotation2","_this10","_MarkupAnnotation3","_super10","_this11","lineCoordinates","_MarkupAnnotation4","_super11","_this12","_MarkupAnnotation5","_super12","_this13","_MarkupAnnotation6","_super13","_this14","rawVertices","vertices","_PolylineAnnotation","_super14","_this15","_MarkupAnnotation7","_super15","_this16","_MarkupAnnotation8","_super16","_this17","originalInkLists","inkLists","_MarkupAnnotation9","_super17","_this18","_MarkupAnnotation10","_super18","_this19","_MarkupAnnotation11","_super19","_this20","_MarkupAnnotation12","_super20","_this21","_MarkupAnnotation13","_super21","_this22","_MarkupAnnotation14","_super22","_this23","QueueOptimizer","addState","parentState","pattern","checkFn","iterateFn","processFn","handlePaintSolidColorImageMask","iFirstSave","fnArray","argsArray","iFirstPIMXO","imageMask","InitialState","iCurr","lastProcessed","MIN_IMAGES_IN_INLINE_IMAGES_BLOCK","MAX_IMAGES_IN_INLINE_IMAGES_BLOCK","MAX_WIDTH","IMAGE_PADDING","curr","iFirstTransform","iFirstPIIXO","maxLineHeight","currentX","currentY","img","imgWidth","imgHeight","dataOffset","MIN_IMAGES_IN_MASKS_BLOCK","MAX_IMAGES_IN_MASKS_BLOCK","MAX_SAME_IMAGES_IN_MASKS_BLOCK","iTransform","transformArgs","isSameImage","firstPIMXOArg0","firstTransformArg0","firstTransformArg3","iPIMXO","positions","images","maskParams","iFirstPIXO","firstPIXOArg0","MIN_IMAGES_IN_BLOCK","MAX_IMAGES_IN_BLOCK","iFirstSetFont","firstSetFontArg0","firstSetFontArg1","MIN_CHARS_IN_BLOCK","MAX_CHARS_IN_BLOCK","iFirstBeginText","iFirstSetTextMatrix","iFirstShowText","iFirstEndText","iFirst","iEndText","_optimize","NullOptimizer","CHUNK_SIZE","CHUNK_SIZE_ABOUT","streamSink","_streamSink","optimizer","dependencies","_totalLength","weight","_resolved","addDependency","addDependencies","getIR","transfers","cached","_transfers","_cmap","_fonts","_encodings","_unicode","_standard_fonts","_pattern","_bidi","_glyphlist","_metrics","_murmurhash","_image","DefaultPartialEvaluatorOptions","_ref$options","parsingType3Font","fetchBuiltInCMap","readableStream","sendWithStream","pump","compressionType","TIME_SLOT_DURATION_MS","CHECK_TIME_EVERY","TimeSlotManager","normalizeBlendMode","parsingArray","maybeBM","checked","endTime","deferred","TILING_PATTERN","SHADING_PATTERN","clone","newOptions","newEvaluator","nodes","graphicStates","graphicStatesKeys","graphicState","bm","xObjects","xObjectsKeys","xObject","xResources","buildFormXObject","xobj","initialState","group","groupOptions","groupSubtype","colorSpace","isolated","knockout","parseColorSpace","backdrop","buildPaintImageXObject","image","_ref4$isInline","isInline","localImageCache","imageRef","bitStrideLength","imgArray","softMask","SMALL_IMAGE_DIMENSIONS","imageObj","cacheGlobally","imgPromise","PDFImage","createMask","imageIsFromDecodeStream","inverseDecode","createImageData","shouldCache","buildImage","addPageIndex","setData","handleSMask","stateManager","smaskContent","smaskOptions","transferObj","isPDFFunction","transferFn","transferMap","handleTilingType","patternDict","tilingOpList","resourcesArray","patternResources","getTilingPatternIR","tilingPatternIR","handleSetFont","fontArgs","fontRef","fontName","loadFont","isType3Font","loadType3Data","TranslatedFont","ErrorFont","extraProperties","handleText","glyphs","charsToGlyphs","isAddToPathSet","textRenderingMode","fillColorSpace","buildFontPaths","ensureStateFont","gState","gStateObj","gStateKeys","errorFont","fontRes","getFallbackFontDict","fontID","translatedPromise","fontCapability","preEvaluatedFont","preEvaluateFont","fontRefIsRef","fontAliases","aliasFontRef","Font","getFontID","translateFont","fontType","xrefFontStats","fontFile3","getFontType","buildPath","parsingText","lastIndex","opArgs","handleColorN","patternName","typeNum","shading","Pattern","parseShading","_ref6$initialState","EvalState","xobjs","StateManager","preprocessor","EvaluatorPreprocessor","timeSlotManager","closePendingRestoreOPS","savedStatesDepth","promiseBody","operation","localImage","getByName","resolveXObject","rejectXObject","_localImage","globalImage","fontSize","_localImage2","combinedGlyphs","arrLength","arrItem","strokeColorSpace","shadingRes","patternIR","dictName","extGState","_ref7$stateManager","_ref7$normalizeWhites","_ref7$combineTextItem","_ref7$seenStyles","seenStyles","TextState","textState","WhitespaceRegexp","textContent","styles","textContentItem","vertical","lastAdvanceWidth","lastAdvanceHeight","textAdvanceScale","spaceWidth","fakeSpaceMin","fakeMultiSpaceMin","fakeMultiSpaceMax","textRunBreakAllowed","SPACE_FACTOR","MULTI_SPACE_FACTOR","MULTI_SPACE_FACTOR_MAX","emptyXObjectCache","ensureTextContentItem","fontFamily","fallbackName","ascent","descent","tsm","textHScale","textRise","fontMatrix","glyphHeight","trm","ctm","textMatrix","textLineMatrix","scaleLineX","scaleCtmX","isMonospace","replaceWhitespace","runBidiTransform","textChunk","bidiResult","bidi","dir","buildTextContentItem","glyph","glyphWidth","vmetric","glyphUnicode","unicode","NormalizedUnicodes","getNormalizedUnicodes","reverseIfRtl","charSpacing","isSpace","wordSpacing","addFakeSpaces","tx","ty","w0","translateTextMatrix","abs","fakeSpaces","round","flushTextContentItem","enqueueChunk","advance","fontNameArg","fontSizeArg","leading","isSameTextLine","translateTextLineMatrix","carriageReturn","calcTextLineMatrixAdvance","setTextLineMatrix","breakTextRun","currentState","xObjStateManager","sinkWrapper","enqueueInvoked","gStateFont","extractDataStructures","baseDict","cidToGidBytes","toUnicode","toUnicodePromise","readToUnicode","composite","cidSystemInfo","registry","ordering","supplement","cidToGidMap","differences","baseEncodingName","diffEncoding","defaultEncoding","getEncoding","isSymbolicFont","FontFlags","Symbolic","isNonsymbolicFont","Nonsymbolic","StandardEncoding","WinAnsiEncoding","MacRomanEncoding","SymbolSetEncoding","ZapfDingbatsEncoding","hasEncoding","buildToUnicode","builtToUnicode","readCidToGidMap","_buildSimpleFontToUnicode","forceGlyphs","charcode","glyphName","glyphsUnicodeMap","getGlyphsUnicode","_charcode","_glyphName","codeStr","getUnicodeForGlyph","baseEncoding","ToUnicodeMap","hasIncludedToUnicodeMap","fallbackToUnicode","cMap","builtInCMap","IdentityCMap","ucs2CMapName","CMapFactory","useCMap","ucs2CMap","cid","ucs2","IdentityToUnicodeMap","firstChar","lastChar","cmapObj","cmap","getMap","charCode","glyphsData","glyphID","extractWidths","defaultVMetrics","widths","glyphsWidths","defaultWidth","glyphsVMetrics","vmetrics","parseFloat","baseFontName","metrics","getBaseFontMetrics","buildCharCodeToWidth","firstWidth","FixedPitch","isSerifFont","fontNameWoStyle","getSerifFonts","monospace","stdFontMap","getStdFontMap","lookupName","Metrics","getMetrics","glyphWidths","widthsByGlyphName","uint8array","df","MurmurHash3_64","update","diffLength","diffBuf","diffEntry","hexdigest","maxCharIndex","Serif","getSymbolsFonts","newProperties","baseFont","fontNameStr","baseFontStr","cMapPromise","fontFile","length1","length2","length3","fixedPitch","xHeight","capHeight","italicAngle","cidEncoding","fontChar","renderer","hasBuiltPath","getPathJs","accent","_fallbackFontDict","_ref8$extraProperties","_extraProperties","type3Loaded","exportData","glyphCacheValues","parentOperatorList","type3Options","type3Evaluator","loadCharProcsPromise","charProcs","fontResources","charProcKeys","charProcOperatorList","_loop2","glyphStream","dummyOperatorList","stateStack","old","txDiff","tyDiff","denominator","calcRenderMatrix","getOPMap","numArgs","variableArgs","J","ri","gs","Q","cm","re","W","BT","ET","Tc","Tw","Tz","TL","Tf","Tr","Ts","Td","TD","Tm","Tj","TJ","d0","CS","SC","SCN","sc","scn","RG","rg","sh","BI","ID","EI","Do","MP","DP","BMC","BDC","EMC","BX","EX","BM","BD","fa","fal","fals","nu","nul","MAX_INVALID_PATH_OPS","opMap","nonProcessedArgs","_numInvalidPathOPS","opSpec","argsLength","preprocessCommand","CMap","BUILT_IN_CMAPS","MAX_MAP_RANGE","codespaceRanges","numCodespaceRanges","dstLow","dst","nn","codespaceRange","_CMap","addCodespaceRange","BinaryCMapReader","hexToInt","hexToStr","addHex","incHex","MAX_NUM_SIZE","MAX_ENCODED_NUM_SIZE","BinaryCMapStream","processBinaryCMap","readByte","_char","dataSize","ucs2DataSize","subitemsCount","readNumber","readHex","readHexNumber","mapOne","readSigned","mapCidRange","readHexSigned","mapBfRange","readString","stack","sp","strToInt","expectString","expectInt","parseBfChar","parseBfRange","mapBfRangeToArray","parseCidChar","parseCidRange","parseCodespaceRange","parseWMode","parseCMapName","parseCMap","embeddedUseCMap","objLoop","extendCMap","createBuiltInCMap","newCMap","useCodespaceRanges","cMapData","parsedCMap","isIdentityCMap","SEAC_ANALYSIS_ENABLED","_cff_parser","_font_renderer","_type1_parser","PRIVATE_USE_AREAS","PDF_GLYPH_SPACE_UNITS","EXPORT_DATA_PROPERTIES","EXPORT_DATA_EXTRA_PROPERTIES","Script","Italic","AllCap","SmallCap","ForceBold","MacStandardGlyphOrdering","adjustWidths","adjustToUnicode","builtInEncoding","amend","recoverGlyphName","Glyph","operatorListId","isInFont","matchesForCache","charCodeOf","OpenTypeFileBuilder","writeInt16","writeInt32","writeData","sfnt","tables","entriesCount","entrySize","maxPower2","searchRange","rangeShift","OTF_HEADER_SIZE","OTF_TABLE_ENTRY_SIZE","toArray","tablesNames","tableName","numTables","tableOffsets","checksum","quad","addTable","missingFile","glyphCache","toFontChar","isEmpty","fallbackToSystemFont","_getFontFileType","getFontFileType","_getFontFileType2","mimetype","cff","CFFFont","Type1Font","convert","checkAndRepair","isOpenType","seacMap","int16","writeSignedInt16","signedInt16","int32","string16","safeString16","isTrueTypeFile","isTrueTypeCollectionFile","isOpenTypeFile","isType1File","isCFFFile","fileType","fileSubtype","buildToFontChar","adjustMapping","charCodeToGlyphId","hasGlyph","newGlyphZeroId","newMap","privateUseAreaIndex","nextAvailableFontCharCode","privateUseOffetEnd","originalCharCode","glyphId","fontCharCode","getRanges","numGlyphs","codeIndices","createCmapTable","bmpLength","trailingRangesCount","segCount","startCount","endCount","idDeltas","idRangeOffsets","glyphsIds","contiguous","startCode","format314","format31012","header31012","validateOS2Table","os2","selection","usWinAscent","createOS2Table","charstrings","override","unitsPerEm","yMax","yMin","ulUnicodeRange1","ulUnicodeRange2","ulUnicodeRange3","ulUnicodeRange4","firstCharIndex","lastCharIndex","getUnicodeRangeFor","ascentScaled","typoAscent","typoDescent","winAscent","winDescent","createPostTable","angle","createNameTable","strings","stringsUnicode","strBufUnicode","platforms","encodings","languages","namesRecordCount","nameTable","strOffset","strs","nameRecord","FontRendererFactory","exportDataProperties","nonStdFontMap","getNonStdFontMap","isStandardFont","remeasure","GlyphMapForStandardFonts","getGlyphMapForStandardFonts","SupplementalGlyphMapForArialBlack","getSupplementalGlyphMapForArialBlack","_charCode","SupplementalGlyphMapForCalibri","getSupplementalGlyphMapForCalibri","_charCode2","isIdentityUnicode","unicodeCharCode","getDingbatsGlyphsUnicode","_GlyphMapForStandardFonts","_charCode3","VALID_TABLES","readTables","hhea","hmtx","maxp","readTableEntry","previousPosition","readOpenTypeHeader","ttf","entrySelector","readTrueTypeCollectionHeader","ttc","ttcTag","majorVersion","minorVersion","numFonts","offsetTable","dsigTag","dsigLength","dsigOffset","readTrueTypeCollectionData","_readTrueTypeCollecti","potentialHeader","potentialTables","readNameTable","nameEntry","readCmapTable","platformId","encodingId","mappings","hasShortCmap","potentialTable","canBreak","useTable","format","segIndex","offsetsCount","rangeOffset","offsetIndex","offsets","sanitizeMetrics","dupFirstEntry","numOfMetrics","numOfSidebearings","numMissing","sanitizeGlyph","sourceStart","sourceEnd","hintsValid","glyphProfile","sizeOfInstructions","glyf","contoursCount","flagsCount","endPoint","instructionsStart","instructionsLength","instructionsEnd","coordinatesLength","xLength","yLength","xyLength","glyphDataLength","sanitizeHead","locaLength","indexToLocFormat","numGlyphsPlusOne","sanitizeGlyphLocations","loca","isGlyphLocationsLong","maxSizeOfInstructions","itemSize","itemDecode","itemEncode","numGlyphsOut","locaDataSize","locaData","oldGlyfData","oldGlyfDataLength","newGlyfData","writeOffset","missingGlyphs","simpleGlyph","firstEntryLength","readPostScriptTable","propertiesObj","maxpNumGlyphs","glyphNames","valid","glyphNameIndexes","customNames","FORMAT_0_HEADER_LENGTH","numRecords","stringsStart","records","NAME_RECORD_LENGTH","platform","language","nameIndex","cffFile","TTOpsStackDeltas","sanitizeTTProgram","ttContext","funcId","lastEndf","lastDeff","callstack","functionsCalled","tooComplexToFollowFunctions","inFDEF","ifLevel","inELSE","op","functionsStackDeltas","stackTop","functionsDefined","functionsUsed","newStackLength","stackDelta","NaN","foldTTTable","checkInvalidFunctions","maxFunctionDefs","sanitizeTTPrograms","fpgm","prep","cvt","cvtData","ttcData","isTrueType","isComposite","maxZones","glyphsInfo","metricsOverride","isCidToGidMapEmpty","cmapTable","cmapPlatformId","cmapEncodingId","cmapMappings","cmapMappingsLength","standardGlyphName","unicodeOrCharCode","_charCode4","glyphZeroId","newMapping","CFFParser","duplicateFirstGlyph","compiler","CFFCompiler","compile","namePrototype","builder","tableTag","getGlyphMapping","hasGlyphId","getCharCodes","charCodes","createCharCode","seacs","charset","getCharset","seac","baseGlyphName","accentGlyphName","baseGlyphId","accentGlyphId","accentOffset","baseFontCharCode","accentFontCharCode","tan","cffWidths","charstring","possibleSpaceReplacements","charToGlyph","widthCode","mapSpecialUnicodeValues","charsCache","charsCacheKey","readCharCode","type1FontGlyphMapping","findBlock","streamBytes","startIndex","streamBytesLength","getHeaderBlock","suggestedLength","headerBytes","headerBytesLength","EEXEC_SIGNATURE","streamStartPos","getEexecBlock","eexecBytes","PFB_HEADER_SIZE","headerBlockLength","eexecBlockLength","pfbHeader","pfbHeaderPresent","headerBlock","headerBlockParser","Type1Parser","extractFontHeader","eexecBlock","eexecBlockParser","extractFontProgram","type2Charstrings","getType2Charstrings","subrs","getType2Subrs","getSeacs","_glyphId","charstringsLen","_charCode5","type1Charstrings","type1Subrs","type2Subrs","CFF","CFFHeader","CFFTopDict","setByName","CFFStrings","globalSubrIndex","CFFIndex","charsetArray","CFFStandardStrings","CFFCharset","charStringsIndex","charStrings","privateDict","CFFPrivateDict","field","privateData","subrIndex","subrsIndex","charsets","isCIDFont","CFFFDSelect","_charsets","MAX_SUBR_NESTING","NUM_STANDARD_CFF_STRINGS","CharstringValidationData","stackClearing","stem","resetStack","undefStack","CharstringValidationData12","stackFn","seacAnalysisEnabled","parseHeader","parseIndex","topDictIndex","stringIndex","topDictParsed","parseDict","createDict","parseNameIndex","parseStringIndex","parsePrivateDict","hasName","charStringOffset","charStringIndex","fontBBox","fdArrayIndex","dictRaw","fontDict","fdArray","parseCharsets","fdSelect","parseFDSelect","parseEncoding","charStringsAndSeacs","parseCharStrings","localSubrIndex","hdrSize","offSize","parseOperand","parseFloatOperand","operands","cffIndex","offsetSize","offsetStart","offsetEnd","Type","cffDict","setByKey","parseCharString","callDepth","stackSize","validationCommand","subrNumber","hasVStems","firstStackClearing","localSubrToUse","privateDictToUse","fdIndex","getFDIndex","nominalWidth","emptyPrivateDictionary","parentDict","privateOffset","privateDictEnd","dictData","subrsOffset","relativeOffset","removeByName","CFFCharsetPredefinedTypes","ISO_ADOBE","ISOAdobeCharset","EXPERT","ExpertCharset","EXPERT_SUBSET","ExpertSubsetCharset","raw","predefined","readSupplement","supplementsCount","sid","ExpertEncoding","dataStart","glyphsCount","rangesCount","gid","CFFEncoding","glyphZero","getSID","objects","CFFDict","keyToNameMap","nameToKeyMap","defaults","types","opcodes","order","valueLength","createTables","layout","glyphIndex","CFFOffsetTracker","isTracking","track","setEntryLocation","offset1","offset2","offset3","offset4","compileHeader","compileNameIndex","subDict","compiled","compileTopDicts","topDictTracker","trackers","compileStringIndex","compileIndex","compileEncoding","compileCharset","compileCharStrings","compileFDSelect","fontDictTrackers","compilePrivateDicts","encodeNumber","encodeFloat","encodeInteger","nibbles","sanitizedName","dicts","removeCidKeys","fontDictTracker","fontDictData","compileDict","privateDictTracker","privateDictData","offsetTracker","compileGlobalSubrIndex","writeByteArray","numGlyphsLessNotDef","charsetIndex","numCharsets","warned","compileTypedArray","lastFD","currentFD","numRanges","lastOffset","MacExpertEncoding","encodingName","AE","AEacute","AEmacron","AEsmall","Aacute","Aacutesmall","Abreve","Abreveacute","Abrevecyrillic","Abrevedotbelow","Abrevegrave","Abrevehookabove","Abrevetilde","Acaron","Acircle","Acircumflex","Acircumflexacute","Acircumflexdotbelow","Acircumflexgrave","Acircumflexhookabove","Acircumflexsmall","Acircumflextilde","Acute","Acutesmall","Acyrillic","Adblgrave","Adieresis","Adieresiscyrillic","Adieresismacron","Adieresissmall","Adotbelow","Adotmacron","Agrave","Agravesmall","Ahookabove","Aiecyrillic","Ainvertedbreve","Alpha","Alphatonos","Amacron","Amonospace","Aogonek","Aring","Aringacute","Aringbelow","Aringsmall","Asmall","Atilde","Atildesmall","Aybarmenian","Bcircle","Bdotaccent","Bdotbelow","Becyrillic","Benarmenian","Beta","Bhook","Blinebelow","Bmonospace","Brevesmall","Bsmall","Btopbar","Caarmenian","Cacute","Caron","Caronsmall","Ccaron","Ccedilla","Ccedillaacute","Ccedillasmall","Ccircle","Ccircumflex","Cdot","Cdotaccent","Cedillasmall","Chaarmenian","Cheabkhasiancyrillic","Checyrillic","Chedescenderabkhasiancyrillic","Chedescendercyrillic","Chedieresiscyrillic","Cheharmenian","Chekhakassiancyrillic","Cheverticalstrokecyrillic","Chi","Chook","Circumflexsmall","Cmonospace","Coarmenian","Csmall","D","DZ","DZcaron","Daarmenian","Dafrican","Dcaron","Dcedilla","Dcircle","Dcircumflexbelow","Dcroat","Ddotaccent","Ddotbelow","Decyrillic","Deicoptic","Delta","Deltagreek","Dhook","Dieresis","DieresisAcute","DieresisGrave","Dieresissmall","Digammagreek","Djecyrillic","Dlinebelow","Dmonospace","Dotaccentsmall","Dslash","Dsmall","Dtopbar","Dz","Dzcaron","Dzeabkhasiancyrillic","Dzecyrillic","Dzhecyrillic","Eacute","Eacutesmall","Ebreve","Ecaron","Ecedillabreve","Echarmenian","Ecircle","Ecircumflex","Ecircumflexacute","Ecircumflexbelow","Ecircumflexdotbelow","Ecircumflexgrave","Ecircumflexhookabove","Ecircumflexsmall","Ecircumflextilde","Ecyrillic","Edblgrave","Edieresis","Edieresissmall","Edot","Edotaccent","Edotbelow","Efcyrillic","Egrave","Egravesmall","Eharmenian","Ehookabove","Eightroman","Einvertedbreve","Eiotifiedcyrillic","Elcyrillic","Elevenroman","Emacron","Emacronacute","Emacrongrave","Emcyrillic","Emonospace","Encyrillic","Endescendercyrillic","Eng","Enghecyrillic","Enhookcyrillic","Eogonek","Eopen","Epsilon","Epsilontonos","Ercyrillic","Ereversed","Ereversedcyrillic","Escyrillic","Esdescendercyrillic","Esh","Esmall","Eta","Etarmenian","Etatonos","Eth","Ethsmall","Etilde","Etildebelow","Euro","Ezh","Ezhcaron","Ezhreversed","Fcircle","Fdotaccent","Feharmenian","Feicoptic","Fhook","Fitacyrillic","Fiveroman","Fmonospace","Fourroman","Fsmall","GBsquare","Gacute","Gamma","Gammaafrican","Gangiacoptic","Gbreve","Gcaron","Gcedilla","Gcircle","Gcircumflex","Gcommaaccent","Gdot","Gdotaccent","Gecyrillic","Ghadarmenian","Ghemiddlehookcyrillic","Ghestrokecyrillic","Gheupturncyrillic","Ghook","Gimarmenian","Gjecyrillic","Gmacron","Gmonospace","Grave","Gravesmall","Gsmall","Gsmallhook","Gstroke","H","H18533","H18543","H18551","H22073","HPsquare","Haabkhasiancyrillic","Hadescendercyrillic","Hardsigncyrillic","Hbar","Hbrevebelow","Hcedilla","Hcircle","Hcircumflex","Hdieresis","Hdotaccent","Hdotbelow","Hmonospace","Hoarmenian","Horicoptic","Hsmall","Hungarumlaut","Hungarumlautsmall","Hzsquare","IAcyrillic","IJ","IUcyrillic","Iacute","Iacutesmall","Ibreve","Icaron","Icircle","Icircumflex","Icircumflexsmall","Icyrillic","Idblgrave","Idieresis","Idieresisacute","Idieresiscyrillic","Idieresissmall","Idot","Idotaccent","Idotbelow","Iebrevecyrillic","Iecyrillic","Ifraktur","Igrave","Igravesmall","Ihookabove","Iicyrillic","Iinvertedbreve","Iishortcyrillic","Imacron","Imacroncyrillic","Imonospace","Iniarmenian","Iocyrillic","Iogonek","Iota","Iotaafrican","Iotadieresis","Iotatonos","Ismall","Istroke","Itilde","Itildebelow","Izhitsacyrillic","Izhitsadblgravecyrillic","Jaarmenian","Jcircle","Jcircumflex","Jecyrillic","Jheharmenian","Jmonospace","Jsmall","KBsquare","KKsquare","Kabashkircyrillic","Kacute","Kacyrillic","Kadescendercyrillic","Kahookcyrillic","Kappa","Kastrokecyrillic","Kaverticalstrokecyrillic","Kcaron","Kcedilla","Kcircle","Kcommaaccent","Kdotbelow","Keharmenian","Kenarmenian","Khacyrillic","Kheicoptic","Khook","Kjecyrillic","Klinebelow","Kmonospace","Koppacyrillic","Koppagreek","Ksicyrillic","Ksmall","LJ","Lacute","Lambda","Lcaron","Lcedilla","Lcircle","Lcircumflexbelow","Lcommaaccent","Ldot","Ldotaccent","Ldotbelow","Ldotbelowmacron","Liwnarmenian","Lj","Ljecyrillic","Llinebelow","Lmonospace","Lslash","Lslashsmall","Lsmall","MBsquare","Macron","Macronsmall","Macute","Mcircle","Mdotaccent","Mdotbelow","Menarmenian","Mmonospace","Msmall","Mturned","Mu","NJ","Nacute","Ncaron","Ncedilla","Ncircle","Ncircumflexbelow","Ncommaaccent","Ndotaccent","Ndotbelow","Nhookleft","Nineroman","Nj","Njecyrillic","Nlinebelow","Nmonospace","Nowarmenian","Nsmall","Ntilde","Ntildesmall","Nu","OE","OEsmall","Oacute","Oacutesmall","Obarredcyrillic","Obarreddieresiscyrillic","Obreve","Ocaron","Ocenteredtilde","Ocircle","Ocircumflex","Ocircumflexacute","Ocircumflexdotbelow","Ocircumflexgrave","Ocircumflexhookabove","Ocircumflexsmall","Ocircumflextilde","Ocyrillic","Odblacute","Odblgrave","Odieresis","Odieresiscyrillic","Odieresissmall","Odotbelow","Ogoneksmall","Ograve","Ogravesmall","Oharmenian","Ohm","Ohookabove","Ohorn","Ohornacute","Ohorndotbelow","Ohorngrave","Ohornhookabove","Ohorntilde","Ohungarumlaut","Oi","Oinvertedbreve","Omacron","Omacronacute","Omacrongrave","Omega","Omegacyrillic","Omegagreek","Omegaroundcyrillic","Omegatitlocyrillic","Omegatonos","Omicron","Omicrontonos","Omonospace","Oneroman","Oogonek","Oogonekmacron","Oopen","Oslash","Oslashacute","Oslashsmall","Osmall","Ostrokeacute","Otcyrillic","Otilde","Otildeacute","Otildedieresis","Otildesmall","Pacute","Pcircle","Pdotaccent","Pecyrillic","Peharmenian","Pemiddlehookcyrillic","Phi","Phook","Pi","Piwrarmenian","Pmonospace","Psi","Psicyrillic","Psmall","Qcircle","Qmonospace","Qsmall","R","Raarmenian","Racute","Rcaron","Rcedilla","Rcircle","Rcommaaccent","Rdblgrave","Rdotaccent","Rdotbelow","Rdotbelowmacron","Reharmenian","Rfraktur","Rho","Ringsmall","Rinvertedbreve","Rlinebelow","Rmonospace","Rsmall","Rsmallinverted","Rsmallinvertedsuperior","SF010000","SF020000","SF030000","SF040000","SF050000","SF060000","SF070000","SF080000","SF090000","SF100000","SF110000","SF190000","SF200000","SF210000","SF220000","SF230000","SF240000","SF250000","SF260000","SF270000","SF280000","SF360000","SF370000","SF380000","SF390000","SF400000","SF410000","SF420000","SF430000","SF440000","SF450000","SF460000","SF470000","SF480000","SF490000","SF500000","SF510000","SF520000","SF530000","SF540000","Sacute","Sacutedotaccent","Sampigreek","Scaron","Scarondotaccent","Scaronsmall","Scedilla","Schwa","Schwacyrillic","Schwadieresiscyrillic","Scircle","Scircumflex","Scommaaccent","Sdotaccent","Sdotbelow","Sdotbelowdotaccent","Seharmenian","Sevenroman","Shaarmenian","Shacyrillic","Shchacyrillic","Sheicoptic","Shhacyrillic","Shimacoptic","Sigma","Sixroman","Smonospace","Softsigncyrillic","Ssmall","Stigmagreek","Tau","Tbar","Tcaron","Tcedilla","Tcircle","Tcircumflexbelow","Tcommaaccent","Tdotaccent","Tdotbelow","Tecyrillic","Tedescendercyrillic","Tenroman","Tetsecyrillic","Theta","Thook","Thorn","Thornsmall","Threeroman","Tildesmall","Tiwnarmenian","Tlinebelow","Tmonospace","Toarmenian","Tonefive","Tonesix","Tonetwo","Tretroflexhook","Tsecyrillic","Tshecyrillic","Tsmall","Twelveroman","Tworoman","U","Uacute","Uacutesmall","Ubreve","Ucaron","Ucircle","Ucircumflex","Ucircumflexbelow","Ucircumflexsmall","Ucyrillic","Udblacute","Udblgrave","Udieresis","Udieresisacute","Udieresisbelow","Udieresiscaron","Udieresiscyrillic","Udieresisgrave","Udieresismacron","Udieresissmall","Udotbelow","Ugrave","Ugravesmall","Uhookabove","Uhorn","Uhornacute","Uhorndotbelow","Uhorngrave","Uhornhookabove","Uhorntilde","Uhungarumlaut","Uhungarumlautcyrillic","Uinvertedbreve","Ukcyrillic","Umacron","Umacroncyrillic","Umacrondieresis","Umonospace","Uogonek","Upsilon","Upsilon1","Upsilonacutehooksymbolgreek","Upsilonafrican","Upsilondieresis","Upsilondieresishooksymbolgreek","Upsilonhooksymbol","Upsilontonos","Uring","Ushortcyrillic","Usmall","Ustraightcyrillic","Ustraightstrokecyrillic","Utilde","Utildeacute","Utildebelow","Vcircle","Vdotbelow","Vecyrillic","Vewarmenian","Vhook","Vmonospace","Voarmenian","Vsmall","Vtilde","Wacute","Wcircle","Wcircumflex","Wdieresis","Wdotaccent","Wdotbelow","Wgrave","Wmonospace","Wsmall","Xcircle","Xdieresis","Xdotaccent","Xeharmenian","Xi","Xmonospace","Xsmall","Yacute","Yacutesmall","Yatcyrillic","Ycircle","Ycircumflex","Ydieresis","Ydieresissmall","Ydotaccent","Ydotbelow","Yericyrillic","Yerudieresiscyrillic","Ygrave","Yhook","Yhookabove","Yiarmenian","Yicyrillic","Yiwnarmenian","Ymonospace","Ysmall","Ytilde","Yusbigcyrillic","Yusbigiotifiedcyrillic","Yuslittlecyrillic","Yuslittleiotifiedcyrillic","Zaarmenian","Zacute","Zcaron","Zcaronsmall","Zcircle","Zcircumflex","Zdot","Zdotaccent","Zdotbelow","Zecyrillic","Zedescendercyrillic","Zedieresiscyrillic","Zeta","Zhearmenian","Zhebrevecyrillic","Zhecyrillic","Zhedescendercyrillic","Zhedieresiscyrillic","Zlinebelow","Zmonospace","Zsmall","Zstroke","aabengali","aacute","aadeva","aagujarati","aagurmukhi","aamatragurmukhi","aarusquare","aavowelsignbengali","aavowelsigndeva","aavowelsigngujarati","abbreviationmarkarmenian","abbreviationsigndeva","abengali","abopomofo","abreve","abreveacute","abrevecyrillic","abrevedotbelow","abrevegrave","abrevehookabove","abrevetilde","acaron","acircle","acircumflex","acircumflexacute","acircumflexdotbelow","acircumflexgrave","acircumflexhookabove","acircumflextilde","acute","acutebelowcmb","acutecmb","acutecomb","acutedeva","acutelowmod","acutetonecmb","acyrillic","adblgrave","addakgurmukhi","adeva","adieresis","adieresiscyrillic","adieresismacron","adotbelow","adotmacron","ae","aeacute","aekorean","aemacron","afii00208","afii08941","afii10017","afii10018","afii10019","afii10020","afii10021","afii10022","afii10023","afii10024","afii10025","afii10026","afii10027","afii10028","afii10029","afii10030","afii10031","afii10032","afii10033","afii10034","afii10035","afii10036","afii10037","afii10038","afii10039","afii10040","afii10041","afii10042","afii10043","afii10044","afii10045","afii10046","afii10047","afii10048","afii10049","afii10050","afii10051","afii10052","afii10053","afii10054","afii10055","afii10056","afii10057","afii10058","afii10059","afii10060","afii10061","afii10062","afii10063","afii10064","afii10065","afii10066","afii10067","afii10068","afii10069","afii10070","afii10071","afii10072","afii10073","afii10074","afii10075","afii10076","afii10077","afii10078","afii10079","afii10080","afii10081","afii10082","afii10083","afii10084","afii10085","afii10086","afii10087","afii10088","afii10089","afii10090","afii10091","afii10092","afii10093","afii10094","afii10095","afii10096","afii10097","afii10098","afii10099","afii10100","afii10101","afii10102","afii10103","afii10104","afii10105","afii10106","afii10107","afii10108","afii10109","afii10110","afii10145","afii10146","afii10147","afii10148","afii10192","afii10193","afii10194","afii10195","afii10196","afii10831","afii10832","afii10846","afii299","afii300","afii301","afii57381","afii57388","afii57392","afii57393","afii57394","afii57395","afii57396","afii57397","afii57398","afii57399","afii57400","afii57401","afii57403","afii57407","afii57409","afii57410","afii57411","afii57412","afii57413","afii57414","afii57415","afii57416","afii57417","afii57418","afii57419","afii57420","afii57421","afii57422","afii57423","afii57424","afii57425","afii57426","afii57427","afii57428","afii57429","afii57430","afii57431","afii57432","afii57433","afii57434","afii57440","afii57441","afii57442","afii57443","afii57444","afii57445","afii57446","afii57448","afii57449","afii57450","afii57451","afii57452","afii57453","afii57454","afii57455","afii57456","afii57457","afii57458","afii57470","afii57505","afii57506","afii57507","afii57508","afii57509","afii57511","afii57512","afii57513","afii57514","afii57519","afii57534","afii57636","afii57645","afii57658","afii57664","afii57665","afii57666","afii57667","afii57668","afii57669","afii57670","afii57671","afii57672","afii57673","afii57674","afii57675","afii57676","afii57677","afii57678","afii57679","afii57680","afii57681","afii57682","afii57683","afii57684","afii57685","afii57686","afii57687","afii57688","afii57689","afii57690","afii57694","afii57695","afii57700","afii57705","afii57716","afii57717","afii57718","afii57723","afii57793","afii57794","afii57795","afii57796","afii57797","afii57798","afii57799","afii57800","afii57801","afii57802","afii57803","afii57804","afii57806","afii57807","afii57839","afii57841","afii57842","afii57929","afii61248","afii61289","afii61352","afii61573","afii61574","afii61575","afii61664","afii63167","afii64937","agrave","agujarati","agurmukhi","ahiragana","ahookabove","aibengali","aibopomofo","aideva","aiecyrillic","aigujarati","aigurmukhi","aimatragurmukhi","ainarabic","ainfinalarabic","aininitialarabic","ainmedialarabic","ainvertedbreve","aivowelsignbengali","aivowelsigndeva","aivowelsigngujarati","akatakana","akatakanahalfwidth","akorean","alef","alefarabic","alefdageshhebrew","aleffinalarabic","alefhamzaabovearabic","alefhamzaabovefinalarabic","alefhamzabelowarabic","alefhamzabelowfinalarabic","alefhebrew","aleflamedhebrew","alefmaddaabovearabic","alefmaddaabovefinalarabic","alefmaksuraarabic","alefmaksurafinalarabic","alefmaksurainitialarabic","alefmaksuramedialarabic","alefpatahhebrew","alefqamatshebrew","aleph","allequal","alphatonos","amacron","amonospace","ampersand","ampersandmonospace","ampersandsmall","amsquare","anbopomofo","angbopomofo","angbracketleft","angbracketright","angkhankhuthai","anglebracketleft","anglebracketleftvertical","anglebracketright","anglebracketrightvertical","angleleft","angleright","angstrom","anoteleia","anudattadeva","anusvarabengali","anusvaradeva","anusvaragujarati","aogonek","apaatosquare","aparen","apostrophearmenian","apostrophemod","apple","approaches","approxequal","approxequalorimage","approximatelyequal","araeaekorean","araeakorean","arc","arighthalfring","aring","aringacute","aringbelow","arrowboth","arrowdashdown","arrowdashleft","arrowdashright","arrowdashup","arrowdblboth","arrowdbldown","arrowdblleft","arrowdblright","arrowdblup","arrowdown","arrowdownleft","arrowdownright","arrowdownwhite","arrowheaddownmod","arrowheadleftmod","arrowheadrightmod","arrowheadupmod","arrowhorizex","arrowleft","arrowleftdbl","arrowleftdblstroke","arrowleftoverright","arrowleftwhite","arrowright","arrowrightdblstroke","arrowrightheavy","arrowrightoverleft","arrowrightwhite","arrowtableft","arrowtabright","arrowup","arrowupdn","arrowupdnbse","arrowupdownbase","arrowupleft","arrowupleftofdown","arrowupright","arrowupwhite","arrowvertex","asciicircum","asciicircummonospace","asciitilde","asciitildemonospace","ascript","ascriptturned","asmallhiragana","asmallkatakana","asmallkatakanahalfwidth","asterisk","asteriskaltonearabic","asteriskarabic","asteriskmath","asteriskmonospace","asterisksmall","asterism","asuperior","asymptoticallyequal","atilde","atmonospace","atsmall","aturned","aubengali","aubopomofo","audeva","augujarati","augurmukhi","aulengthmarkbengali","aumatragurmukhi","auvowelsignbengali","auvowelsigndeva","auvowelsigngujarati","avagrahadeva","aybarmenian","ayin","ayinaltonehebrew","ayinhebrew","babengali","backslash","backslashmonospace","badeva","bagujarati","bagurmukhi","bahiragana","bahtthai","bakatakana","bar","barmonospace","bbopomofo","bcircle","bdotaccent","bdotbelow","beamedsixteenthnotes","because","becyrillic","beharabic","behfinalarabic","behinitialarabic","behiragana","behmedialarabic","behmeeminitialarabic","behmeemisolatedarabic","behnoonfinalarabic","bekatakana","benarmenian","bet","betasymbolgreek","betdagesh","betdageshhebrew","bethebrew","betrafehebrew","bhabengali","bhadeva","bhagujarati","bhagurmukhi","bhook","bihiragana","bikatakana","bilabialclick","bindigurmukhi","birusquare","blackcircle","blackdiamond","blackdownpointingtriangle","blackleftpointingpointer","blackleftpointingtriangle","blacklenticularbracketleft","blacklenticularbracketleftvertical","blacklenticularbracketright","blacklenticularbracketrightvertical","blacklowerlefttriangle","blacklowerrighttriangle","blackrectangle","blackrightpointingpointer","blackrightpointingtriangle","blacksmallsquare","blacksmilingface","blacksquare","blackstar","blackupperlefttriangle","blackupperrighttriangle","blackuppointingsmalltriangle","blackuppointingtriangle","blank","blinebelow","bmonospace","bobaimaithai","bohiragana","bokatakana","bparen","bqsquare","braceex","braceleft","braceleftbt","braceleftmid","braceleftmonospace","braceleftsmall","bracelefttp","braceleftvertical","braceright","bracerightbt","bracerightmid","bracerightmonospace","bracerightsmall","bracerighttp","bracerightvertical","bracketleft","bracketleftbt","bracketleftex","bracketleftmonospace","bracketlefttp","bracketright","bracketrightbt","bracketrightex","bracketrightmonospace","bracketrighttp","breve","brevebelowcmb","brevecmb","breveinvertedbelowcmb","breveinvertedcmb","breveinverteddoublecmb","bridgebelowcmb","bridgeinvertedbelowcmb","brokenbar","bstroke","bsuperior","btopbar","buhiragana","bukatakana","bullet","bulletinverse","bulletoperator","bullseye","caarmenian","cabengali","cacute","cadeva","cagujarati","cagurmukhi","calsquare","candrabindubengali","candrabinducmb","candrabindudeva","candrabindugujarati","capslock","careof","caron","caronbelowcmb","caroncmb","carriagereturn","cbopomofo","ccaron","ccedilla","ccedillaacute","ccircle","ccircumflex","ccurl","cdot","cdotaccent","cdsquare","cedilla","cedillacmb","cent","centigrade","centinferior","centmonospace","centoldstyle","centsuperior","chaarmenian","chabengali","chadeva","chagujarati","chagurmukhi","chbopomofo","cheabkhasiancyrillic","checkmark","checyrillic","chedescenderabkhasiancyrillic","chedescendercyrillic","chedieresiscyrillic","cheharmenian","chekhakassiancyrillic","cheverticalstrokecyrillic","chi","chieuchacirclekorean","chieuchaparenkorean","chieuchcirclekorean","chieuchkorean","chieuchparenkorean","chochangthai","chochanthai","chochingthai","chochoethai","chook","cieucacirclekorean","cieucaparenkorean","cieuccirclekorean","cieuckorean","cieucparenkorean","cieucuparenkorean","circle","circlecopyrt","circlemultiply","circleot","circleplus","circlepostalmark","circlewithlefthalfblack","circlewithrighthalfblack","circumflex","circumflexbelowcmb","circumflexcmb","clickalveolar","clickdental","clicklateral","clickretroflex","club","clubsuitblack","clubsuitwhite","cmcubedsquare","cmonospace","cmsquaredsquare","coarmenian","colon","colonmonetary","colonmonospace","colonsign","colonsmall","colontriangularhalfmod","colontriangularmod","comma","commaabovecmb","commaaboverightcmb","commaaccent","commaarabic","commaarmenian","commainferior","commamonospace","commareversedabovecmb","commareversedmod","commasmall","commasuperior","commaturnedabovecmb","commaturnedmod","compass","congruent","contourintegral","control","controlACK","controlBEL","controlBS","controlCAN","controlCR","controlDC1","controlDC2","controlDC3","controlDC4","controlDEL","controlDLE","controlEM","controlENQ","controlEOT","controlESC","controlETB","controlETX","controlFF","controlFS","controlGS","controlHT","controlLF","controlNAK","controlNULL","controlRS","controlSI","controlSO","controlSOT","controlSTX","controlSUB","controlSYN","controlUS","controlVT","copyrightsans","copyrightserif","cornerbracketleft","cornerbracketlefthalfwidth","cornerbracketleftvertical","cornerbracketright","cornerbracketrighthalfwidth","cornerbracketrightvertical","corporationsquare","cosquare","coverkgsquare","cparen","cruzeiro","cstretched","curlyand","curlyor","currency","cyrBreve","cyrFlex","cyrbreve","cyrflex","daarmenian","dabengali","dadarabic","dadeva","dadfinalarabic","dadinitialarabic","dadmedialarabic","dagesh","dageshhebrew","dagger","daggerdbl","dagujarati","dagurmukhi","dahiragana","dakatakana","dalarabic","dalet","daletdagesh","daletdageshhebrew","dalethebrew","dalfinalarabic","dammaarabic","dammalowarabic","dammatanaltonearabic","dammatanarabic","danda","dargahebrew","dargalefthebrew","dasiapneumatacyrilliccmb","dblGrave","dblanglebracketleft","dblanglebracketleftvertical","dblanglebracketright","dblanglebracketrightvertical","dblarchinvertedbelowcmb","dblarrowleft","dblarrowright","dbldanda","dblgrave","dblgravecmb","dblintegral","dbllowline","dbllowlinecmb","dbloverlinecmb","dblprimemod","dblverticalbar","dblverticallineabovecmb","dbopomofo","dbsquare","dcaron","dcedilla","dcircle","dcircumflexbelow","dcroat","ddabengali","ddadeva","ddagujarati","ddagurmukhi","ddalarabic","ddalfinalarabic","dddhadeva","ddhabengali","ddhadeva","ddhagujarati","ddhagurmukhi","ddotaccent","ddotbelow","decimalseparatorarabic","decimalseparatorpersian","decyrillic","degree","dehihebrew","dehiragana","deicoptic","dekatakana","deleteleft","deleteright","deltaturned","denominatorminusonenumeratorbengali","dezh","dhabengali","dhadeva","dhagujarati","dhagurmukhi","dhook","dialytikatonos","dialytikatonoscmb","diamond","diamondsuitwhite","dieresis","dieresisacute","dieresisbelowcmb","dieresiscmb","dieresisgrave","dieresistonos","dihiragana","dikatakana","dittomark","divide","divides","divisionslash","djecyrillic","dkshade","dlinebelow","dlsquare","dmacron","dmonospace","dnblock","dochadathai","dodekthai","dohiragana","dokatakana","dollar","dollarinferior","dollarmonospace","dollaroldstyle","dollarsmall","dollarsuperior","dong","dorusquare","dotaccent","dotaccentcmb","dotbelowcmb","dotbelowcomb","dotkatakana","dotlessi","dotlessj","dotlessjstrokehook","dotmath","dottedcircle","doubleyodpatah","doubleyodpatahhebrew","downtackbelowcmb","downtackmod","dparen","dsuperior","dtail","dtopbar","duhiragana","dukatakana","dz","dzaltone","dzcaron","dzcurl","dzeabkhasiancyrillic","dzecyrillic","dzhecyrillic","eacute","earth","ebengali","ebopomofo","ebreve","ecandradeva","ecandragujarati","ecandravowelsigndeva","ecandravowelsigngujarati","ecaron","ecedillabreve","echarmenian","echyiwnarmenian","ecircle","ecircumflex","ecircumflexacute","ecircumflexbelow","ecircumflexdotbelow","ecircumflexgrave","ecircumflexhookabove","ecircumflextilde","ecyrillic","edblgrave","edeva","edieresis","edot","edotaccent","edotbelow","eegurmukhi","eematragurmukhi","efcyrillic","egrave","egujarati","eharmenian","ehbopomofo","ehiragana","ehookabove","eibopomofo","eight","eightarabic","eightbengali","eightcircle","eightcircleinversesansserif","eightdeva","eighteencircle","eighteenparen","eighteenperiod","eightgujarati","eightgurmukhi","eighthackarabic","eighthangzhou","eighthnotebeamed","eightideographicparen","eightinferior","eightmonospace","eightoldstyle","eightparen","eightperiod","eightpersian","eightroman","eightsuperior","eightthai","einvertedbreve","eiotifiedcyrillic","ekatakana","ekatakanahalfwidth","ekonkargurmukhi","ekorean","elcyrillic","elevencircle","elevenparen","elevenperiod","elevenroman","ellipsis","ellipsisvertical","emacron","emacronacute","emacrongrave","emcyrillic","emdash","emdashvertical","emonospace","emphasismarkarmenian","emptyset","enbopomofo","encyrillic","endash","endashvertical","endescendercyrillic","eng","engbopomofo","enghecyrillic","enhookcyrillic","enspace","eogonek","eokorean","eopen","eopenclosed","eopenreversed","eopenreversedclosed","eopenreversedhook","eparen","epsilontonos","equal","equalmonospace","equalsmall","equalsuperior","equivalence","erbopomofo","ercyrillic","ereversed","ereversedcyrillic","escyrillic","esdescendercyrillic","esh","eshcurl","eshortdeva","eshortvowelsigndeva","eshreversedloop","eshsquatreversed","esmallhiragana","esmallkatakana","esmallkatakanahalfwidth","estimated","esuperior","eta","etarmenian","etatonos","eth","etilde","etildebelow","etnahtafoukhhebrew","etnahtafoukhlefthebrew","etnahtahebrew","etnahtalefthebrew","eturned","eukorean","euro","evowelsignbengali","evowelsigndeva","evowelsigngujarati","exclam","exclamarmenian","exclamdbl","exclamdown","exclamdownsmall","exclammonospace","exclamsmall","existential","ezh","ezhcaron","ezhcurl","ezhreversed","ezhtail","fadeva","fagurmukhi","fahrenheit","fathaarabic","fathalowarabic","fathatanarabic","fbopomofo","fcircle","fdotaccent","feharabic","feharmenian","fehfinalarabic","fehinitialarabic","fehmedialarabic","feicoptic","female","ff","f_f","ffi","ffl","fi","fifteencircle","fifteenparen","fifteenperiod","figuredash","filledbox","filledrect","finalkaf","finalkafdagesh","finalkafdageshhebrew","finalkafhebrew","finalmem","finalmemhebrew","finalnun","finalnunhebrew","finalpe","finalpehebrew","finaltsadi","finaltsadihebrew","firsttonechinese","fisheye","fitacyrillic","five","fivearabic","fivebengali","fivecircle","fivecircleinversesansserif","fivedeva","fiveeighths","fivegujarati","fivegurmukhi","fivehackarabic","fivehangzhou","fiveideographicparen","fiveinferior","fivemonospace","fiveoldstyle","fiveparen","fiveperiod","fivepersian","fiveroman","fivesuperior","fivethai","fl","florin","fmonospace","fmsquare","fofanthai","fofathai","fongmanthai","forall","four","fourarabic","fourbengali","fourcircle","fourcircleinversesansserif","fourdeva","fourgujarati","fourgurmukhi","fourhackarabic","fourhangzhou","fourideographicparen","fourinferior","fourmonospace","fournumeratorbengali","fouroldstyle","fourparen","fourperiod","fourpersian","fourroman","foursuperior","fourteencircle","fourteenparen","fourteenperiod","fourthai","fourthtonechinese","fparen","fraction","franc","gabengali","gacute","gadeva","gafarabic","gaffinalarabic","gafinitialarabic","gafmedialarabic","gagujarati","gagurmukhi","gahiragana","gakatakana","gammalatinsmall","gammasuperior","gangiacoptic","gbopomofo","gbreve","gcaron","gcedilla","gcircle","gcircumflex","gcommaaccent","gdot","gdotaccent","gecyrillic","gehiragana","gekatakana","geometricallyequal","gereshaccenthebrew","gereshhebrew","gereshmuqdamhebrew","germandbls","gershayimaccenthebrew","gershayimhebrew","getamark","ghabengali","ghadarmenian","ghadeva","ghagujarati","ghagurmukhi","ghainarabic","ghainfinalarabic","ghaininitialarabic","ghainmedialarabic","ghemiddlehookcyrillic","ghestrokecyrillic","gheupturncyrillic","ghhadeva","ghhagurmukhi","ghook","ghzsquare","gihiragana","gikatakana","gimarmenian","gimel","gimeldagesh","gimeldageshhebrew","gimelhebrew","gjecyrillic","glottalinvertedstroke","glottalstop","glottalstopinverted","glottalstopmod","glottalstopreversed","glottalstopreversedmod","glottalstopreversedsuperior","glottalstopstroke","glottalstopstrokereversed","gmacron","gmonospace","gohiragana","gokatakana","gparen","gpasquare","gradient","grave","gravebelowcmb","gravecmb","gravecomb","gravedeva","gravelowmod","gravemonospace","gravetonecmb","greater","greaterequal","greaterequalorless","greatermonospace","greaterorequivalent","greaterorless","greateroverequal","greatersmall","gscript","gstroke","guhiragana","guillemotleft","guillemotright","guilsinglleft","guilsinglright","gukatakana","guramusquare","gysquare","haabkhasiancyrillic","haaltonearabic","habengali","hadescendercyrillic","hadeva","hagujarati","hagurmukhi","haharabic","hahfinalarabic","hahinitialarabic","hahiragana","hahmedialarabic","haitusquare","hakatakana","hakatakanahalfwidth","halantgurmukhi","hamzaarabic","hamzalowarabic","hangulfiller","hardsigncyrillic","harpoonleftbarbup","harpoonrightbarbup","hasquare","hatafpatah","hatafpatah16","hatafpatah23","hatafpatah2f","hatafpatahhebrew","hatafpatahnarrowhebrew","hatafpatahquarterhebrew","hatafpatahwidehebrew","hatafqamats","hatafqamats1b","hatafqamats28","hatafqamats34","hatafqamatshebrew","hatafqamatsnarrowhebrew","hatafqamatsquarterhebrew","hatafqamatswidehebrew","hatafsegol","hatafsegol17","hatafsegol24","hatafsegol30","hatafsegolhebrew","hatafsegolnarrowhebrew","hatafsegolquarterhebrew","hatafsegolwidehebrew","hbar","hbopomofo","hbrevebelow","hcedilla","hcircle","hcircumflex","hdieresis","hdotaccent","hdotbelow","he","heart","heartsuitblack","heartsuitwhite","hedagesh","hedageshhebrew","hehaltonearabic","heharabic","hehebrew","hehfinalaltonearabic","hehfinalalttwoarabic","hehfinalarabic","hehhamzaabovefinalarabic","hehhamzaaboveisolatedarabic","hehinitialaltonearabic","hehinitialarabic","hehiragana","hehmedialaltonearabic","hehmedialarabic","heiseierasquare","hekatakana","hekatakanahalfwidth","hekutaarusquare","henghook","herutusquare","het","hethebrew","hhook","hhooksuperior","hieuhacirclekorean","hieuhaparenkorean","hieuhcirclekorean","hieuhkorean","hieuhparenkorean","hihiragana","hikatakana","hikatakanahalfwidth","hiriq","hiriq14","hiriq21","hiriq2d","hiriqhebrew","hiriqnarrowhebrew","hiriqquarterhebrew","hiriqwidehebrew","hlinebelow","hmonospace","hoarmenian","hohipthai","hohiragana","hokatakana","hokatakanahalfwidth","holam","holam19","holam26","holam32","holamhebrew","holamnarrowhebrew","holamquarterhebrew","holamwidehebrew","honokhukthai","hookabovecomb","hookcmb","hookpalatalizedbelowcmb","hookretroflexbelowcmb","hoonsquare","horicoptic","horizontalbar","horncmb","hotsprings","house","hparen","hsuperior","hturned","huhiragana","huiitosquare","hukatakana","hukatakanahalfwidth","hungarumlaut","hungarumlautcmb","hv","hyphen","hypheninferior","hyphenmonospace","hyphensmall","hyphensuperior","hyphentwo","iacute","iacyrillic","ibengali","ibopomofo","ibreve","icaron","icircle","icircumflex","icyrillic","idblgrave","ideographearthcircle","ideographfirecircle","ideographicallianceparen","ideographiccallparen","ideographiccentrecircle","ideographicclose","ideographiccomma","ideographiccommaleft","ideographiccongratulationparen","ideographiccorrectcircle","ideographicearthparen","ideographicenterpriseparen","ideographicexcellentcircle","ideographicfestivalparen","ideographicfinancialcircle","ideographicfinancialparen","ideographicfireparen","ideographichaveparen","ideographichighcircle","ideographiciterationmark","ideographiclaborcircle","ideographiclaborparen","ideographicleftcircle","ideographiclowcircle","ideographicmedicinecircle","ideographicmetalparen","ideographicmoonparen","ideographicnameparen","ideographicperiod","ideographicprintcircle","ideographicreachparen","ideographicrepresentparen","ideographicresourceparen","ideographicrightcircle","ideographicsecretcircle","ideographicselfparen","ideographicsocietyparen","ideographicspace","ideographicspecialparen","ideographicstockparen","ideographicstudyparen","ideographicsunparen","ideographicsuperviseparen","ideographicwaterparen","ideographicwoodparen","ideographiczero","ideographmetalcircle","ideographmooncircle","ideographnamecircle","ideographsuncircle","ideographwatercircle","ideographwoodcircle","ideva","idieresis","idieresisacute","idieresiscyrillic","idotbelow","iebrevecyrillic","iecyrillic","ieungacirclekorean","ieungaparenkorean","ieungcirclekorean","ieungkorean","ieungparenkorean","igrave","igujarati","igurmukhi","ihiragana","ihookabove","iibengali","iicyrillic","iideva","iigujarati","iigurmukhi","iimatragurmukhi","iinvertedbreve","iishortcyrillic","iivowelsignbengali","iivowelsigndeva","iivowelsigngujarati","ij","ikatakana","ikatakanahalfwidth","ikorean","ilde","iluyhebrew","imacron","imacroncyrillic","imageorapproximatelyequal","imatragurmukhi","imonospace","increment","infinity","iniarmenian","integral","integralbottom","integralbt","integralex","integraltop","integraltp","intersection","intisquare","invbullet","invcircle","invsmileface","iocyrillic","iogonek","iota","iotadieresis","iotadieresistonos","iotalatin","iotatonos","iparen","irigurmukhi","ismallhiragana","ismallkatakana","ismallkatakanahalfwidth","issharbengali","istroke","isuperior","iterationhiragana","iterationkatakana","itilde","itildebelow","iubopomofo","iucyrillic","ivowelsignbengali","ivowelsigndeva","ivowelsigngujarati","izhitsacyrillic","izhitsadblgravecyrillic","jaarmenian","jabengali","jadeva","jagujarati","jagurmukhi","jbopomofo","jcaron","jcircle","jcircumflex","jcrossedtail","jdotlessstroke","jecyrillic","jeemarabic","jeemfinalarabic","jeeminitialarabic","jeemmedialarabic","jeharabic","jehfinalarabic","jhabengali","jhadeva","jhagujarati","jhagurmukhi","jheharmenian","jis","jmonospace","jparen","jsuperior","kabashkircyrillic","kabengali","kacute","kacyrillic","kadescendercyrillic","kadeva","kaf","kafarabic","kafdagesh","kafdageshhebrew","kaffinalarabic","kafhebrew","kafinitialarabic","kafmedialarabic","kafrafehebrew","kagujarati","kagurmukhi","kahiragana","kahookcyrillic","kakatakana","kakatakanahalfwidth","kappa","kappasymbolgreek","kapyeounmieumkorean","kapyeounphieuphkorean","kapyeounpieupkorean","kapyeounssangpieupkorean","karoriisquare","kashidaautoarabic","kashidaautonosidebearingarabic","kasmallkatakana","kasquare","kasraarabic","kasratanarabic","kastrokecyrillic","katahiraprolongmarkhalfwidth","kaverticalstrokecyrillic","kbopomofo","kcalsquare","kcaron","kcedilla","kcircle","kcommaaccent","kdotbelow","keharmenian","kehiragana","kekatakana","kekatakanahalfwidth","kenarmenian","kesmallkatakana","kgreenlandic","khabengali","khacyrillic","khadeva","khagujarati","khagurmukhi","khaharabic","khahfinalarabic","khahinitialarabic","khahmedialarabic","kheicoptic","khhadeva","khhagurmukhi","khieukhacirclekorean","khieukhaparenkorean","khieukhcirclekorean","khieukhkorean","khieukhparenkorean","khokhaithai","khokhonthai","khokhuatthai","khokhwaithai","khomutthai","khook","khorakhangthai","khzsquare","kihiragana","kikatakana","kikatakanahalfwidth","kiroguramusquare","kiromeetorusquare","kirosquare","kiyeokacirclekorean","kiyeokaparenkorean","kiyeokcirclekorean","kiyeokkorean","kiyeokparenkorean","kiyeoksioskorean","kjecyrillic","klinebelow","klsquare","kmcubedsquare","kmonospace","kmsquaredsquare","kohiragana","kohmsquare","kokaithai","kokatakana","kokatakanahalfwidth","kooposquare","koppacyrillic","koreanstandardsymbol","koroniscmb","kparen","kpasquare","ksicyrillic","ktsquare","kturned","kuhiragana","kukatakana","kukatakanahalfwidth","kvsquare","kwsquare","labengali","lacute","ladeva","lagujarati","lagurmukhi","lakkhangyaothai","lamaleffinalarabic","lamalefhamzaabovefinalarabic","lamalefhamzaaboveisolatedarabic","lamalefhamzabelowfinalarabic","lamalefhamzabelowisolatedarabic","lamalefisolatedarabic","lamalefmaddaabovefinalarabic","lamalefmaddaaboveisolatedarabic","lamarabic","lambda","lambdastroke","lamed","lameddagesh","lameddageshhebrew","lamedhebrew","lamfinalarabic","lamhahinitialarabic","laminitialarabic","lamjeeminitialarabic","lamkhahinitialarabic","lamlamhehisolatedarabic","lammedialarabic","lammeemhahinitialarabic","lammeeminitialarabic","largecircle","lbar","lbelt","lbopomofo","lcaron","lcedilla","lcircle","lcircumflexbelow","lcommaaccent","ldot","ldotaccent","ldotbelow","ldotbelowmacron","leftangleabovecmb","lefttackbelowcmb","less","lessequal","lessequalorgreater","lessmonospace","lessorequivalent","lessorgreater","lessoverequal","lesssmall","lezh","lfblock","lhookretroflex","lira","liwnarmenian","lj","ljecyrillic","lladeva","llagujarati","llinebelow","llladeva","llvocalicbengali","llvocalicdeva","llvocalicvowelsignbengali","llvocalicvowelsigndeva","lmiddletilde","lmonospace","lmsquare","lochulathai","logicaland","logicalnot","logicalnotreversed","logicalor","lolingthai","longs","lowlinecenterline","lowlinecmb","lowlinedashed","lozenge","lparen","lslash","lsquare","lsuperior","ltshade","luthai","lvocalicbengali","lvocalicdeva","lvocalicvowelsignbengali","lvocalicvowelsigndeva","lxsquare","mabengali","macron","macronbelowcmb","macroncmb","macronlowmod","macronmonospace","macute","madeva","magujarati","magurmukhi","mahapakhhebrew","mahapakhlefthebrew","mahiragana","maichattawalowleftthai","maichattawalowrightthai","maichattawathai","maichattawaupperleftthai","maieklowleftthai","maieklowrightthai","maiekthai","maiekupperleftthai","maihanakatleftthai","maihanakatthai","maitaikhuleftthai","maitaikhuthai","maitholowleftthai","maitholowrightthai","maithothai","maithoupperleftthai","maitrilowleftthai","maitrilowrightthai","maitrithai","maitriupperleftthai","maiyamokthai","makatakana","makatakanahalfwidth","male","mansyonsquare","maqafhebrew","mars","masoracirclehebrew","masquare","mbopomofo","mbsquare","mcircle","mcubedsquare","mdotaccent","mdotbelow","meemarabic","meemfinalarabic","meeminitialarabic","meemmedialarabic","meemmeeminitialarabic","meemmeemisolatedarabic","meetorusquare","mehiragana","meizierasquare","mekatakana","mekatakanahalfwidth","mem","memdagesh","memdageshhebrew","memhebrew","menarmenian","merkhahebrew","merkhakefulahebrew","merkhakefulalefthebrew","merkhalefthebrew","mhook","mhzsquare","middledotkatakanahalfwidth","middot","mieumacirclekorean","mieumaparenkorean","mieumcirclekorean","mieumkorean","mieumpansioskorean","mieumparenkorean","mieumpieupkorean","mieumsioskorean","mihiragana","mikatakana","mikatakanahalfwidth","minus","minusbelowcmb","minuscircle","minusmod","minusplus","minute","miribaarusquare","mirisquare","mlonglegturned","mlsquare","mmcubedsquare","mmonospace","mmsquaredsquare","mohiragana","mohmsquare","mokatakana","mokatakanahalfwidth","molsquare","momathai","moverssquare","moverssquaredsquare","mparen","mpasquare","mssquare","msuperior","mturned","mu1","muasquare","muchgreater","muchless","mufsquare","mugreek","mugsquare","muhiragana","mukatakana","mukatakanahalfwidth","mulsquare","multiply","mumsquare","munahhebrew","munahlefthebrew","musicalnote","musicalnotedbl","musicflatsign","musicsharpsign","mussquare","muvsquare","muwsquare","mvmegasquare","mvsquare","mwmegasquare","mwsquare","nabengali","nabla","nacute","nadeva","nagujarati","nagurmukhi","nahiragana","nakatakana","nakatakanahalfwidth","napostrophe","nasquare","nbopomofo","nbspace","ncaron","ncedilla","ncircle","ncircumflexbelow","ncommaaccent","ndotaccent","ndotbelow","nehiragana","nekatakana","nekatakanahalfwidth","newsheqelsign","nfsquare","ngabengali","ngadeva","ngagujarati","ngagurmukhi","ngonguthai","nhiragana","nhookleft","nhookretroflex","nieunacirclekorean","nieunaparenkorean","nieuncieuckorean","nieuncirclekorean","nieunhieuhkorean","nieunkorean","nieunpansioskorean","nieunparenkorean","nieunsioskorean","nieuntikeutkorean","nihiragana","nikatakana","nikatakanahalfwidth","nikhahitleftthai","nikhahitthai","nine","ninearabic","ninebengali","ninecircle","ninecircleinversesansserif","ninedeva","ninegujarati","ninegurmukhi","ninehackarabic","ninehangzhou","nineideographicparen","nineinferior","ninemonospace","nineoldstyle","nineparen","nineperiod","ninepersian","nineroman","ninesuperior","nineteencircle","nineteenparen","nineteenperiod","ninethai","nj","njecyrillic","nkatakana","nkatakanahalfwidth","nlegrightlong","nlinebelow","nmonospace","nmsquare","nnabengali","nnadeva","nnagujarati","nnagurmukhi","nnnadeva","nohiragana","nokatakana","nokatakanahalfwidth","nonbreakingspace","nonenthai","nonuthai","noonarabic","noonfinalarabic","noonghunnaarabic","noonghunnafinalarabic","nooninitialarabic","noonjeeminitialarabic","noonjeemisolatedarabic","noonmedialarabic","noonmeeminitialarabic","noonmeemisolatedarabic","noonnoonfinalarabic","notcontains","notelement","notelementof","notequal","notgreater","notgreaternorequal","notgreaternorless","notidentical","notless","notlessnorequal","notparallel","notprecedes","notsubset","notsucceeds","notsuperset","nowarmenian","nparen","nssquare","nsuperior","ntilde","nuhiragana","nukatakana","nukatakanahalfwidth","nuktabengali","nuktadeva","nuktagujarati","nuktagurmukhi","numbersign","numbersignmonospace","numbersignsmall","numeralsigngreek","numeralsignlowergreek","numero","nun","nundagesh","nundageshhebrew","nunhebrew","nvsquare","nwsquare","nyabengali","nyadeva","nyagujarati","nyagurmukhi","oacute","oangthai","obarred","obarredcyrillic","obarreddieresiscyrillic","obengali","obopomofo","obreve","ocandradeva","ocandragujarati","ocandravowelsigndeva","ocandravowelsigngujarati","ocaron","ocircle","ocircumflex","ocircumflexacute","ocircumflexdotbelow","ocircumflexgrave","ocircumflexhookabove","ocircumflextilde","ocyrillic","odblacute","odblgrave","odeva","odieresis","odieresiscyrillic","odotbelow","oe","oekorean","ogonek","ogonekcmb","ograve","ogujarati","oharmenian","ohiragana","ohookabove","ohorn","ohornacute","ohorndotbelow","ohorngrave","ohornhookabove","ohorntilde","ohungarumlaut","oi","oinvertedbreve","okatakana","okatakanahalfwidth","okorean","olehebrew","omacron","omacronacute","omacrongrave","omdeva","omega","omega1","omegacyrillic","omegalatinclosed","omegaroundcyrillic","omegatitlocyrillic","omegatonos","omgujarati","omicron","omicrontonos","omonospace","one","onearabic","onebengali","onecircle","onecircleinversesansserif","onedeva","onedotenleader","oneeighth","onefitted","onegujarati","onegurmukhi","onehackarabic","onehalf","onehangzhou","oneideographicparen","oneinferior","onemonospace","onenumeratorbengali","oneoldstyle","oneparen","oneperiod","onepersian","onequarter","oneroman","onesuperior","onethai","onethird","oogonek","oogonekmacron","oogurmukhi","oomatragurmukhi","oopen","oparen","openbullet","ordfeminine","ordmasculine","orthogonal","oshortdeva","oshortvowelsigndeva","oslash","oslashacute","osmallhiragana","osmallkatakana","osmallkatakanahalfwidth","ostrokeacute","osuperior","otcyrillic","otilde","otildeacute","otildedieresis","oubopomofo","overline","overlinecenterline","overlinecmb","overlinedashed","overlinedblwavy","overlinewavy","overscore","ovowelsignbengali","ovowelsigndeva","ovowelsigngujarati","paampssquare","paasentosquare","pabengali","pacute","padeva","pagedown","pageup","pagujarati","pagurmukhi","pahiragana","paiyannoithai","pakatakana","palatalizationcyrilliccmb","palochkacyrillic","pansioskorean","paragraph","parallel","parenleft","parenleftaltonearabic","parenleftbt","parenleftex","parenleftinferior","parenleftmonospace","parenleftsmall","parenleftsuperior","parenlefttp","parenleftvertical","parenright","parenrightaltonearabic","parenrightbt","parenrightex","parenrightinferior","parenrightmonospace","parenrightsmall","parenrightsuperior","parenrighttp","parenrightvertical","partialdiff","paseqhebrew","pashtahebrew","pasquare","patah","patah11","patah1d","patah2a","patahhebrew","patahnarrowhebrew","patahquarterhebrew","patahwidehebrew","pazerhebrew","pbopomofo","pcircle","pdotaccent","pe","pecyrillic","pedagesh","pedageshhebrew","peezisquare","pefinaldageshhebrew","peharabic","peharmenian","pehebrew","pehfinalarabic","pehinitialarabic","pehiragana","pehmedialarabic","pekatakana","pemiddlehookcyrillic","perafehebrew","percent","percentarabic","percentmonospace","percentsmall","period","periodarmenian","periodcentered","periodhalfwidth","periodinferior","periodmonospace","periodsmall","periodsuperior","perispomenigreekcmb","perpendicular","perthousand","peseta","pfsquare","phabengali","phadeva","phagujarati","phagurmukhi","phi","phi1","phieuphacirclekorean","phieuphaparenkorean","phieuphcirclekorean","phieuphkorean","phieuphparenkorean","philatin","phinthuthai","phisymbolgreek","phook","phophanthai","phophungthai","phosamphaothai","pieupacirclekorean","pieupaparenkorean","pieupcieuckorean","pieupcirclekorean","pieupkiyeokkorean","pieupkorean","pieupparenkorean","pieupsioskiyeokkorean","pieupsioskorean","pieupsiostikeutkorean","pieupthieuthkorean","pieuptikeutkorean","pihiragana","pikatakana","pisymbolgreek","piwrarmenian","plusbelowcmb","pluscircle","plusminus","plusmod","plusmonospace","plussmall","plussuperior","pmonospace","pmsquare","pohiragana","pointingindexdownwhite","pointingindexleftwhite","pointingindexrightwhite","pointingindexupwhite","pokatakana","poplathai","postalmark","postalmarkface","pparen","precedes","prescription","primemod","primereversed","product","projective","prolongedkana","propellor","propersubset","propersuperset","proportion","proportional","psi","psicyrillic","psilipneumatacyrilliccmb","pssquare","puhiragana","pukatakana","pvsquare","pwsquare","qadeva","qadmahebrew","qafarabic","qaffinalarabic","qafinitialarabic","qafmedialarabic","qamats","qamats10","qamats1a","qamats1c","qamats27","qamats29","qamats33","qamatsde","qamatshebrew","qamatsnarrowhebrew","qamatsqatanhebrew","qamatsqatannarrowhebrew","qamatsqatanquarterhebrew","qamatsqatanwidehebrew","qamatsquarterhebrew","qamatswidehebrew","qarneyparahebrew","qbopomofo","qcircle","qhook","qmonospace","qof","qofdagesh","qofdageshhebrew","qofhebrew","qparen","quarternote","qubuts","qubuts18","qubuts25","qubuts31","qubutshebrew","qubutsnarrowhebrew","qubutsquarterhebrew","qubutswidehebrew","question","questionarabic","questionarmenian","questiondown","questiondownsmall","questiongreek","questionmonospace","questionsmall","quotedbl","quotedblbase","quotedblleft","quotedblmonospace","quotedblprime","quotedblprimereversed","quotedblright","quoteleft","quoteleftreversed","quotereversed","quoteright","quoterightn","quotesinglbase","quotesingle","quotesinglemonospace","raarmenian","rabengali","racute","radeva","radical","radicalex","radoverssquare","radoverssquaredsquare","radsquare","rafe","rafehebrew","ragujarati","ragurmukhi","rahiragana","rakatakana","rakatakanahalfwidth","ralowerdiagonalbengali","ramiddlediagonalbengali","ramshorn","ratio","rbopomofo","rcaron","rcedilla","rcircle","rcommaaccent","rdblgrave","rdotaccent","rdotbelow","rdotbelowmacron","referencemark","reflexsubset","reflexsuperset","registered","registersans","registerserif","reharabic","reharmenian","rehfinalarabic","rehiragana","rekatakana","rekatakanahalfwidth","resh","reshdageshhebrew","reshhebrew","reversedtilde","reviahebrew","reviamugrashhebrew","revlogicalnot","rfishhook","rfishhookreversed","rhabengali","rhadeva","rho","rhook","rhookturned","rhookturnedsuperior","rhosymbolgreek","rhotichookmod","rieulacirclekorean","rieulaparenkorean","rieulcirclekorean","rieulhieuhkorean","rieulkiyeokkorean","rieulkiyeoksioskorean","rieulkorean","rieulmieumkorean","rieulpansioskorean","rieulparenkorean","rieulphieuphkorean","rieulpieupkorean","rieulpieupsioskorean","rieulsioskorean","rieulthieuthkorean","rieultikeutkorean","rieulyeorinhieuhkorean","rightangle","righttackbelowcmb","righttriangle","rihiragana","rikatakana","rikatakanahalfwidth","ring","ringbelowcmb","ringcmb","ringhalfleft","ringhalfleftarmenian","ringhalfleftbelowcmb","ringhalfleftcentered","ringhalfright","ringhalfrightbelowcmb","ringhalfrightcentered","rinvertedbreve","rittorusquare","rlinebelow","rlongleg","rlonglegturned","rmonospace","rohiragana","rokatakana","rokatakanahalfwidth","roruathai","rparen","rrabengali","rradeva","rragurmukhi","rreharabic","rrehfinalarabic","rrvocalicbengali","rrvocalicdeva","rrvocalicgujarati","rrvocalicvowelsignbengali","rrvocalicvowelsigndeva","rrvocalicvowelsigngujarati","rsuperior","rtblock","rturned","rturnedsuperior","ruhiragana","rukatakana","rukatakanahalfwidth","rupeemarkbengali","rupeesignbengali","rupiah","ruthai","rvocalicbengali","rvocalicdeva","rvocalicgujarati","rvocalicvowelsignbengali","rvocalicvowelsigndeva","rvocalicvowelsigngujarati","sabengali","sacute","sacutedotaccent","sadarabic","sadeva","sadfinalarabic","sadinitialarabic","sadmedialarabic","sagujarati","sagurmukhi","sahiragana","sakatakana","sakatakanahalfwidth","sallallahoualayhewasallamarabic","samekh","samekhdagesh","samekhdageshhebrew","samekhhebrew","saraaathai","saraaethai","saraaimaimalaithai","saraaimaimuanthai","saraamthai","saraathai","saraethai","saraiileftthai","saraiithai","saraileftthai","saraithai","saraothai","saraueeleftthai","saraueethai","saraueleftthai","sarauethai","sarauthai","sarauuthai","sbopomofo","scaron","scarondotaccent","scedilla","schwa","schwacyrillic","schwadieresiscyrillic","schwahook","scircle","scircumflex","scommaaccent","sdotaccent","sdotbelow","sdotbelowdotaccent","seagullbelowcmb","secondtonechinese","section","seenarabic","seenfinalarabic","seeninitialarabic","seenmedialarabic","segol","segol13","segol1f","segol2c","segolhebrew","segolnarrowhebrew","segolquarterhebrew","segoltahebrew","segolwidehebrew","seharmenian","sehiragana","sekatakana","sekatakanahalfwidth","semicolon","semicolonarabic","semicolonmonospace","semicolonsmall","semivoicedmarkkana","semivoicedmarkkanahalfwidth","sentisquare","sentosquare","seven","sevenarabic","sevenbengali","sevencircle","sevencircleinversesansserif","sevendeva","seveneighths","sevengujarati","sevengurmukhi","sevenhackarabic","sevenhangzhou","sevenideographicparen","seveninferior","sevenmonospace","sevenoldstyle","sevenparen","sevenperiod","sevenpersian","sevenroman","sevensuperior","seventeencircle","seventeenparen","seventeenperiod","seventhai","sfthyphen","shaarmenian","shabengali","shacyrillic","shaddaarabic","shaddadammaarabic","shaddadammatanarabic","shaddafathaarabic","shaddakasraarabic","shaddakasratanarabic","shade","shadedark","shadelight","shademedium","shadeva","shagujarati","shagurmukhi","shalshelethebrew","shbopomofo","shchacyrillic","sheenarabic","sheenfinalarabic","sheeninitialarabic","sheenmedialarabic","sheicoptic","sheqel","sheqelhebrew","sheva","sheva115","sheva15","sheva22","sheva2e","shevahebrew","shevanarrowhebrew","shevaquarterhebrew","shevawidehebrew","shhacyrillic","shimacoptic","shin","shindagesh","shindageshhebrew","shindageshshindot","shindageshshindothebrew","shindageshsindot","shindageshsindothebrew","shindothebrew","shinhebrew","shinshindot","shinshindothebrew","shinsindot","shinsindothebrew","shook","sigma1","sigmafinal","sigmalunatesymbolgreek","sihiragana","sikatakana","sikatakanahalfwidth","siluqhebrew","siluqlefthebrew","similar","sindothebrew","siosacirclekorean","siosaparenkorean","sioscieuckorean","sioscirclekorean","sioskiyeokkorean","sioskorean","siosnieunkorean","siosparenkorean","siospieupkorean","siostikeutkorean","six","sixarabic","sixbengali","sixcircle","sixcircleinversesansserif","sixdeva","sixgujarati","sixgurmukhi","sixhackarabic","sixhangzhou","sixideographicparen","sixinferior","sixmonospace","sixoldstyle","sixparen","sixperiod","sixpersian","sixroman","sixsuperior","sixteencircle","sixteencurrencydenominatorbengali","sixteenparen","sixteenperiod","sixthai","slash","slashmonospace","slong","slongdotaccent","smileface","smonospace","sofpasuqhebrew","softhyphen","softsigncyrillic","sohiragana","sokatakana","sokatakanahalfwidth","soliduslongoverlaycmb","solidusshortoverlaycmb","sorusithai","sosalathai","sosothai","sosuathai","spacehackarabic","spade","spadesuitblack","spadesuitwhite","sparen","squarebelowcmb","squarecc","squarecm","squarediagonalcrosshatchfill","squarehorizontalfill","squarekg","squarekm","squarekmcapital","squareln","squarelog","squaremg","squaremil","squaremm","squaremsquared","squareorthogonalcrosshatchfill","squareupperlefttolowerrightfill","squareupperrighttolowerleftfill","squareverticalfill","squarewhitewithsmallblack","srsquare","ssabengali","ssadeva","ssagujarati","ssangcieuckorean","ssanghieuhkorean","ssangieungkorean","ssangkiyeokkorean","ssangnieunkorean","ssangpieupkorean","ssangsioskorean","ssangtikeutkorean","ssuperior","sterling","sterlingmonospace","strokelongoverlaycmb","strokeshortoverlaycmb","subset","subsetnotequal","subsetorequal","succeeds","suchthat","suhiragana","sukatakana","sukatakanahalfwidth","sukunarabic","summation","sun","superset","supersetnotequal","supersetorequal","svsquare","syouwaerasquare","tabengali","tackdown","tackleft","tadeva","tagujarati","tagurmukhi","taharabic","tahfinalarabic","tahinitialarabic","tahiragana","tahmedialarabic","taisyouerasquare","takatakana","takatakanahalfwidth","tatweelarabic","tau","tav","tavdages","tavdagesh","tavdageshhebrew","tavhebrew","tbar","tbopomofo","tcaron","tccurl","tcedilla","tcheharabic","tchehfinalarabic","tchehinitialarabic","tchehmedialarabic","tcircle","tcircumflexbelow","tcommaaccent","tdieresis","tdotaccent","tdotbelow","tecyrillic","tedescendercyrillic","teharabic","tehfinalarabic","tehhahinitialarabic","tehhahisolatedarabic","tehinitialarabic","tehiragana","tehjeeminitialarabic","tehjeemisolatedarabic","tehmarbutaarabic","tehmarbutafinalarabic","tehmedialarabic","tehmeeminitialarabic","tehmeemisolatedarabic","tehnoonfinalarabic","tekatakana","tekatakanahalfwidth","telephone","telephoneblack","telishagedolahebrew","telishaqetanahebrew","tencircle","tenideographicparen","tenparen","tenperiod","tenroman","tesh","tet","tetdagesh","tetdageshhebrew","tethebrew","tetsecyrillic","tevirhebrew","tevirlefthebrew","thabengali","thadeva","thagujarati","thagurmukhi","thalarabic","thalfinalarabic","thanthakhatlowleftthai","thanthakhatlowrightthai","thanthakhatthai","thanthakhatupperleftthai","theharabic","thehfinalarabic","thehinitialarabic","thehmedialarabic","thereexists","therefore","theta","theta1","thetasymbolgreek","thieuthacirclekorean","thieuthaparenkorean","thieuthcirclekorean","thieuthkorean","thieuthparenkorean","thirteencircle","thirteenparen","thirteenperiod","thonangmonthothai","thook","thophuthaothai","thorn","thothahanthai","thothanthai","thothongthai","thothungthai","thousandcyrillic","thousandsseparatorarabic","thousandsseparatorpersian","three","threearabic","threebengali","threecircle","threecircleinversesansserif","threedeva","threeeighths","threegujarati","threegurmukhi","threehackarabic","threehangzhou","threeideographicparen","threeinferior","threemonospace","threenumeratorbengali","threeoldstyle","threeparen","threeperiod","threepersian","threequarters","threequartersemdash","threeroman","threesuperior","threethai","thzsquare","tihiragana","tikatakana","tikatakanahalfwidth","tikeutacirclekorean","tikeutaparenkorean","tikeutcirclekorean","tikeutkorean","tikeutparenkorean","tilde","tildebelowcmb","tildecmb","tildecomb","tildedoublecmb","tildeoperator","tildeoverlaycmb","tildeverticalcmb","timescircle","tipehahebrew","tipehalefthebrew","tippigurmukhi","titlocyrilliccmb","tiwnarmenian","tlinebelow","tmonospace","toarmenian","tohiragana","tokatakana","tokatakanahalfwidth","tonebarextrahighmod","tonebarextralowmod","tonebarhighmod","tonebarlowmod","tonebarmidmod","tonefive","tonesix","tonetwo","tonos","tonsquare","topatakthai","tortoiseshellbracketleft","tortoiseshellbracketleftsmall","tortoiseshellbracketleftvertical","tortoiseshellbracketright","tortoiseshellbracketrightsmall","tortoiseshellbracketrightvertical","totaothai","tpalatalhook","tparen","trademark","trademarksans","trademarkserif","tretroflexhook","triagdn","triaglf","triagrt","triagup","ts","tsadi","tsadidagesh","tsadidageshhebrew","tsadihebrew","tsecyrillic","tsere","tsere12","tsere1e","tsere2b","tserehebrew","tserenarrowhebrew","tserequarterhebrew","tserewidehebrew","tshecyrillic","tsuperior","ttabengali","ttadeva","ttagujarati","ttagurmukhi","tteharabic","ttehfinalarabic","ttehinitialarabic","ttehmedialarabic","tthabengali","tthadeva","tthagujarati","tthagurmukhi","tturned","tuhiragana","tukatakana","tukatakanahalfwidth","tusmallhiragana","tusmallkatakana","tusmallkatakanahalfwidth","twelvecircle","twelveparen","twelveperiod","twelveroman","twentycircle","twentyhangzhou","twentyparen","twentyperiod","two","twoarabic","twobengali","twocircle","twocircleinversesansserif","twodeva","twodotenleader","twodotleader","twodotleadervertical","twogujarati","twogurmukhi","twohackarabic","twohangzhou","twoideographicparen","twoinferior","twomonospace","twonumeratorbengali","twooldstyle","twoparen","twoperiod","twopersian","tworoman","twostroke","twosuperior","twothai","twothirds","uacute","ubar","ubengali","ubopomofo","ubreve","ucaron","ucircle","ucircumflex","ucircumflexbelow","ucyrillic","udattadeva","udblacute","udblgrave","udeva","udieresis","udieresisacute","udieresisbelow","udieresiscaron","udieresiscyrillic","udieresisgrave","udieresismacron","udotbelow","ugrave","ugujarati","ugurmukhi","uhiragana","uhookabove","uhorn","uhornacute","uhorndotbelow","uhorngrave","uhornhookabove","uhorntilde","uhungarumlaut","uhungarumlautcyrillic","uinvertedbreve","ukatakana","ukatakanahalfwidth","ukcyrillic","ukorean","umacron","umacroncyrillic","umacrondieresis","umatragurmukhi","umonospace","underscore","underscoredbl","underscoremonospace","underscorevertical","underscorewavy","union","universal","uogonek","uparen","upblock","upperdothebrew","upsilon","upsilondieresis","upsilondieresistonos","upsilonlatin","upsilontonos","uptackbelowcmb","uptackmod","uragurmukhi","uring","ushortcyrillic","usmallhiragana","usmallkatakana","usmallkatakanahalfwidth","ustraightcyrillic","ustraightstrokecyrillic","utilde","utildeacute","utildebelow","uubengali","uudeva","uugujarati","uugurmukhi","uumatragurmukhi","uuvowelsignbengali","uuvowelsigndeva","uuvowelsigngujarati","uvowelsignbengali","uvowelsigndeva","uvowelsigngujarati","vadeva","vagujarati","vagurmukhi","vakatakana","vav","vavdagesh","vavdagesh65","vavdageshhebrew","vavhebrew","vavholam","vavholamhebrew","vavvavhebrew","vavyodhebrew","vcircle","vdotbelow","vecyrillic","veharabic","vehfinalarabic","vehinitialarabic","vehmedialarabic","vekatakana","venus","verticalbar","verticallineabovecmb","verticallinebelowcmb","verticallinelowmod","verticallinemod","vewarmenian","vhook","vikatakana","viramabengali","viramadeva","viramagujarati","visargabengali","visargadeva","visargagujarati","vmonospace","voarmenian","voicediterationhiragana","voicediterationkatakana","voicedmarkkana","voicedmarkkanahalfwidth","vokatakana","vparen","vtilde","vturned","vuhiragana","vukatakana","wacute","waekorean","wahiragana","wakatakana","wakatakanahalfwidth","wakorean","wasmallhiragana","wasmallkatakana","wattosquare","wavedash","wavyunderscorevertical","wawarabic","wawfinalarabic","wawhamzaabovearabic","wawhamzaabovefinalarabic","wbsquare","wcircle","wcircumflex","wdieresis","wdotaccent","wdotbelow","wehiragana","weierstrass","wekatakana","wekorean","weokorean","wgrave","whitebullet","whitecircle","whitecircleinverse","whitecornerbracketleft","whitecornerbracketleftvertical","whitecornerbracketright","whitecornerbracketrightvertical","whitediamond","whitediamondcontainingblacksmalldiamond","whitedownpointingsmalltriangle","whitedownpointingtriangle","whiteleftpointingsmalltriangle","whiteleftpointingtriangle","whitelenticularbracketleft","whitelenticularbracketright","whiterightpointingsmalltriangle","whiterightpointingtriangle","whitesmallsquare","whitesmilingface","whitesquare","whitestar","whitetelephone","whitetortoiseshellbracketleft","whitetortoiseshellbracketright","whiteuppointingsmalltriangle","whiteuppointingtriangle","wihiragana","wikatakana","wikorean","wmonospace","wohiragana","wokatakana","wokatakanahalfwidth","won","wonmonospace","wowaenthai","wparen","wring","wsuperior","wturned","wynn","xabovecmb","xbopomofo","xcircle","xdieresis","xdotaccent","xeharmenian","xi","xmonospace","xparen","xsuperior","yaadosquare","yabengali","yacute","yadeva","yaekorean","yagujarati","yagurmukhi","yahiragana","yakatakana","yakatakanahalfwidth","yakorean","yamakkanthai","yasmallhiragana","yasmallkatakana","yasmallkatakanahalfwidth","yatcyrillic","ycircle","ycircumflex","ydieresis","ydotaccent","ydotbelow","yeharabic","yehbarreearabic","yehbarreefinalarabic","yehfinalarabic","yehhamzaabovearabic","yehhamzaabovefinalarabic","yehhamzaaboveinitialarabic","yehhamzaabovemedialarabic","yehinitialarabic","yehmedialarabic","yehmeeminitialarabic","yehmeemisolatedarabic","yehnoonfinalarabic","yehthreedotsbelowarabic","yekorean","yen","yenmonospace","yeokorean","yeorinhieuhkorean","yerahbenyomohebrew","yerahbenyomolefthebrew","yericyrillic","yerudieresiscyrillic","yesieungkorean","yesieungpansioskorean","yesieungsioskorean","yetivhebrew","ygrave","yhook","yhookabove","yiarmenian","yicyrillic","yikorean","yinyang","yiwnarmenian","ymonospace","yod","yoddagesh","yoddageshhebrew","yodhebrew","yodyodhebrew","yodyodpatahhebrew","yohiragana","yoikorean","yokatakana","yokatakanahalfwidth","yokorean","yosmallhiragana","yosmallkatakana","yosmallkatakanahalfwidth","yotgreek","yoyaekorean","yoyakorean","yoyakthai","yoyingthai","yparen","ypogegrammeni","ypogegrammenigreekcmb","yr","yring","ysuperior","ytilde","yturned","yuhiragana","yuikorean","yukatakana","yukatakanahalfwidth","yukorean","yusbigcyrillic","yusbigiotifiedcyrillic","yuslittlecyrillic","yuslittleiotifiedcyrillic","yusmallhiragana","yusmallkatakana","yusmallkatakanahalfwidth","yuyekorean","yuyeokorean","yyabengali","yyadeva","zaarmenian","zacute","zadeva","zagurmukhi","zaharabic","zahfinalarabic","zahinitialarabic","zahiragana","zahmedialarabic","zainarabic","zainfinalarabic","zakatakana","zaqefgadolhebrew","zaqefqatanhebrew","zarqahebrew","zayin","zayindagesh","zayindageshhebrew","zayinhebrew","zbopomofo","zcaron","zcircle","zcircumflex","zcurl","zdot","zdotaccent","zdotbelow","zecyrillic","zedescendercyrillic","zedieresiscyrillic","zehiragana","zekatakana","zero","zeroarabic","zerobengali","zerodeva","zerogujarati","zerogurmukhi","zerohackarabic","zeroinferior","zeromonospace","zerooldstyle","zeropersian","zerosuperior","zerothai","zerowidthjoiner","zerowidthnonjoiner","zerowidthspace","zeta","zhbopomofo","zhearmenian","zhebrevecyrillic","zhecyrillic","zhedescendercyrillic","zhedieresiscyrillic","zihiragana","zikatakana","zinorhebrew","zlinebelow","zmonospace","zohiragana","zokatakana","zparen","zretroflexhook","zstroke","zuhiragana","zukatakana","angbracketleftbig","angbracketleftBig","angbracketleftbigg","angbracketleftBigg","angbracketrightBig","angbracketrightbig","angbracketrightBigg","angbracketrightbigg","arrowhookleft","arrowhookright","arrowlefttophalf","arrowleftbothalf","arrownortheast","arrownorthwest","arrowrighttophalf","arrowrightbothalf","arrowsoutheast","arrowsouthwest","backslashbig","backslashBig","backslashBigg","backslashbigg","bardbl","bracehtipdownleft","bracehtipdownright","bracehtipupleft","bracehtipupright","braceleftBig","braceleftbig","braceleftbigg","braceleftBigg","bracerightBig","bracerightbig","bracerightbigg","bracerightBigg","bracketleftbig","bracketleftBig","bracketleftbigg","bracketleftBigg","bracketrightBig","bracketrightbig","bracketrightbigg","bracketrightBigg","ceilingleftbig","ceilingleftBig","ceilingleftBigg","ceilingleftbigg","ceilingrightbig","ceilingrightBig","ceilingrightbigg","ceilingrightBigg","circledotdisplay","circledottext","circlemultiplydisplay","circlemultiplytext","circleplusdisplay","circleplustext","contintegraldisplay","contintegraltext","coproductdisplay","coproducttext","floorleftBig","floorleftbig","floorleftbigg","floorleftBigg","floorrightbig","floorrightBig","floorrightBigg","floorrightbigg","hatwide","hatwider","hatwidest","intercal","integraldisplay","integraltext","intersectiondisplay","intersectiontext","logicalanddisplay","logicalandtext","logicalordisplay","logicalortext","parenleftBig","parenleftbig","parenleftBigg","parenleftbigg","parenrightBig","parenrightbig","parenrightBigg","parenrightbigg","prime","productdisplay","producttext","radicalbig","radicalBig","radicalBigg","radicalbigg","radicalbt","radicaltp","radicalvertex","slashbig","slashBig","slashBigg","slashbigg","summationdisplay","summationtext","tildewide","tildewider","tildewidest","uniondisplay","unionmultidisplay","unionmultitext","unionsqdisplay","unionsqtext","uniontext","vextenddouble","vextendsingle","a2","a202","a3","a4","a5","a119","a118","a117","a11","a12","a13","a14","a15","a16","a105","a17","a18","a19","a20","a21","a22","a23","a24","a25","a26","a27","a28","a6","a7","a8","a9","a10","a29","a30","a31","a32","a33","a34","a35","a36","a37","a38","a39","a40","a41","a42","a43","a44","a45","a46","a47","a48","a49","a50","a51","a52","a53","a54","a55","a56","a57","a58","a59","a60","a61","a62","a63","a64","a65","a66","a67","a68","a69","a70","a71","a72","a73","a74","a203","a75","a204","a76","a77","a78","a79","a81","a82","a83","a84","a97","a98","a99","a100","a101","a102","a103","a104","a106","a107","a108","a112","a111","a110","a109","a120","a121","a122","a123","a124","a125","a126","a127","a128","a129","a130","a131","a132","a133","a134","a135","a136","a137","a138","a139","a140","a141","a142","a143","a144","a145","a146","a147","a148","a149","a150","a151","a152","a153","a154","a155","a156","a157","a158","a159","a160","a161","a163","a164","a196","a165","a192","a166","a167","a168","a169","a170","a171","a172","a173","a162","a174","a175","a176","a177","a178","a179","a193","a180","a199","a181","a200","a182","a201","a183","a184","a197","a185","a194","a198","a186","a195","a187","a188","a189","a190","a191","a89","a90","a93","a94","a91","a92","a205","a85","a206","a86","a87","a88","a95","a96","ArialNarrow","ArialBlack","Arial","ArialMT","CourierNew","CourierNewPSMT","Helvetica","TimesNewRoman","TimesNewRomanPS","TimesNewRomanPSMT","Calibri","CenturyGothic","ComicSansMS","LucidaConsole","NuptialScript","SegoeUISymbol","Wingdings","Albertus","Aldus","Alexandria","Algerian","Antiqua","Apex","Arno","Aster","Aurora","Baskerville","Bell","Bembo","Benguiat","Bodoni","Bookman","Calisto","Calvert","Capitals","Cambria","Cartier","Caslon","Catull","Centaur","Chaparral","Cheltenham","Clarendon","Clearface","Cochin","Colonna","Constantia","Corona","Ecotype","Egyptienne","Elephant","Excelsior","Fairfield","Folkard","Footlight","FreeSerif","Garamond","Gentium","Georgia","Gloucester","Granjon","Heather","Hercules","Hiroshige","Imprint","Janson","Joanna","Korinna","Lexicon","Literaturnaya","Lucida","Melior","Memphis","Miller","Minion","Modern","Palatino","Perpetua","Plantin","Playbill","Renault","Requiem","Rockwell","Roman","Sabon","Scala","Seagull","Sistina","Souvenir","STIX","Sylfaen","Times","Trajan","Utopia","Versailles","Wanted","Weiss","Windsor","XITS","Dingbats","ZapfDingbats","getSpecialPUASymbols","hexStr","nameLen","toUpperCase","UnicodeRanges","isRTLRangeFor","charsLength","getLong","getUshort","getSubroutineBias","numSubrs","parseCmap","idDelta","idOffset","groups","parseCff","gsubrs","isCFFCIDFont","parseGlyfTable","lookupCmap","compileGlyf","cmds","quadraticCurveTo","xa","ya","numberOfContours","arg1","arg2","scale01","scale10","subglyph","endPtsOfContours","instructionLength","numberOfPoints","points","startPoint","contour","compileCharString","charStringCode","bezierCurveTo","stems","xb","yb","y3","subrCode","stackClean","subrsBias","achar","bchar","glyphNameMap","gsubrsBias","NOOP","CompiledFont","compiledGlyphs","compiledCharCodeToGlyphId","compileGlyph","compileGlyphImpl","TrueTypeCompiled","_CompiledFont","Type2Compiled","_CompiledFont2","cffInfo","HINTING_ENABLED","Type1CharString","COMMAND_MAP","hstem","vstem","vmoveto","rlineto","hlineto","vlineto","rrcurveto","callsubr","flex","drop","endchar","rmoveto","hmoveto","vhcurveto","hvcurveto","lsb","flexing","wx","sbx","executeCommand","dy","sby","num2","num1","flexArgs","howManyArgs","command","keepStack","stackLength","EEXEC_ENCRYPT_KEY","CHAR_STRS_ENCRYPT_KEY","isHexDigit","discardNumber","c1","c2","decrypted","decryptAscii","digit1","digit2","encrypted","isBinary","readNumberArray","getToken","readInt","readBoolean","readCharStrings","lenIV","program","blueArray","charString","charStringObject","_index","encodingArg","ShadingType","FUNCTION_BASED","AXIAL","RADIAL","FREE_FORM_MESH","LATTICE_FORM_MESH","COONS_PATCH_MESH","TENSOR_PATCH_MESH","getPattern","ctx","Shadings","RadialAxial","Mesh","Dummy","xstep","ystep","paintType","tilingType","SMALL_NUMBER","coordsArr","shadingType","domainArr","extendStart","extendEnd","extendArr","r1","r2","distance","fnObj","createFromArray","NUMBER_OF_SAMPLES","colorStops","cssColor","makeCssRgb","background","r0","singularValueDecompose2dScale","MeshStreamReader","tmpCompsBuf","csNumComps","tmpCsCompsBuf","colorFn","decodeType4Shading","mesh","coords","operators","ps","verticesLeft","hasData","readFlag","coord","readCoordinate","readComponents","align","figures","decodeType5Shading","verticesPerRow","bitsPerFlag","bitsPerCoordinate","yi","ci","MIN_SPLIT_PATCH_CHUNKS_AMOUNT","MAX_SPLIT_PATCH_CHUNKS_AMOUNT","TRIANGLE_DENSITY","getB","buildB","lut","t_","buildFigureFromPatch","figure","figureMinX","figureMinY","figureMaxX","figureMaxY","splitXBy","bounds","splitYBy","figureCoords","figureColors","cl","cr","c0","c3","bRow","bCol","newColor","decodeType6Shading","tmp4","decodeType7Shading","updateBounds","packData","coordsPacked","xy","colorsPacked","decodeContext","patchMesh","baseTypes","arabicTypes","isOdd","isEven","findUnequal","setValues","reverseValues","createBidiText","isLTR","startLevel","strLength","numBidi","charType","sor","eor","lastType","before","after","highestLevel","lowestOddLevel","Courier","PostScriptCompiler","PostScriptEvaluator","_ps_parser","_ref$isEvalSupported","PDFFunction","parseArray","toNumberArray","CONSTRUCT_SAMPLED","CONSTRUCT_INTERPOLATED","CONSTRUCT_STICHED","CONSTRUCT_POSTSCRIPT","getSampleArray","outputSize","bps","sampleMul","strBytes","strIdx","constructSampled","constructInterpolated","constructStiched","constructPostScript","typeFn","constructSampledFromIR","constructInterpolatedFromIR","constructStichedFromIR","constructPostScriptFromIR","toMultiArray","inputSize","samples","interpolate","xmin","xmax","ymin","ymax","cubeVertices","cubeN","cubeVertex","domain_2i","domain_2i_1","size_i","e0","n0","n1","rj","fnRefs","fns","dmin","dmax","rmin","rmax","PostScriptLexer","PostScriptParser","_ref13","numOutputs","numInputs","MAX_CACHE_SIZE","cache_available","cachedValue","execute","stackIndex","bound","fnDict","PostScriptStack","MAX_STACK_SIZE","initialStack","copy","roll","operator","atan","cos","LN10","sin","AstNode","AstArgument","AstLiteral","AstBinaryOperation","AstMin","AstVariable","AstVariableDefinition","ExpressionBuilderVisitor","buildAddOperation","buildMulOperation","buildSubOperation","buildMinOperation","visit","visitArgument","visitLiteral","visitBinaryOperation","visitMin","visitVariable","visitVariableDefinition","literal","definition","ast1","ast2","tmpVar","instructions","lastRegister","instruction","statementBuilder","expr","nextToken","accept","expect","PostScriptTokenTypes","LBRACE","parseBlock","RBRACE","NUMBER","OPERATOR","parseCondition","conditionLocation","IF","jumpLocation","endOfTrue","IFELSE","PostScriptToken","opCache","opValue","getOperator","SEED","MASK_HIGH","MASK_LOW","seed","blockCounts","tailLength","dataUint32","k2","C1","C2","C1_LOW","C2_LOW","hex1","hex2","decodeAndClamp","addend","coefficient","resizeImageMask","_ref$isInline","_ref$smask","_ref$mask","_ref$isMask","isMask","matte","needsDecode","decodeCoefficients","decodeAddends","isIndexed","maskDict","_ref2$isInline","imageData","smaskData","maskData","computedLength","haveFullData","decodeBuffer","getComponents","bufferPos","buf","rowComps","loop1End","loop2End","remainingBits","fillOpacity","rgbaBuf","alphaBuf","sw","fillGrayBuffer","opacity","imageOffset","maskOffset","undoPreblend","matteRgb","matteR","matteG","matteB","forceRGBA","getImageBytes","newArray","imageLength","maybeUndoPreblend","fillRgb","CallbackKind","DATA","ERROR","StreamKind","CANCEL","CANCEL_COMPLETE","CLOSE","ENQUEUE","PULL","PULL_COMPLETE","START_COMPLETE","wrapReason","sourceName","targetName","comObj","callbackId","streamId","streamSinks","streamControllers","callbackCapabilities","actionHandler","_onComObjOnMessage","_processStreamMessage","cbSourceName","cbTargetName","_createStreamSink","ah","_postMessage","queueingStrategy","startCapability","startCall","pullCall","cancelCall","isClosed","pull","pullCapability","cancelCapability","isCancelled","lastDesiredSize","sinkCapability","success","_deleteStreamController","_deleteStreamController2","_msgHandler","_contentLength","_fullRequestReader","_rangeRequestReaders","PDFWorkerStreamReader","PDFWorkerStreamRangeReader","readers","_isRangeSupported","_isStreamingSupported","_headersReady","_read","_yield$this$_reader$r","_read2","_yield$this$_reader$r2","toByteArray","fromByteArray","revLookup","Arr","getLens","b64","validLen","placeHoldersLen","lens","_byteLength","curByte","tripletToBase64","encodeChunk","uint8","extraBytes","maxChunkLength","len2","arch","execPath","pid","browser","env","argv","binding","cwd","chdir","kill","umask","dlopen","uptime","memoryUsage","uvCounters","features","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","base64","ieee754","typedArraySupport","kMaxLength","TYPED_ARRAY_SUPPORT","createBuffer","encodingOrOffset","allocUnsafe","fromArrayBuffer","fromString","fromObject","assertSize","alloc","isEncoding","actual","fromArrayLike","isBuffer","isnan","SlowBuffer","loweredCase","utf8ToBytes","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","bidirectionalIndexOf","arrayIndexOf","lastIndexOf","indexSize","valLength","readUInt16BE","foundIndex","hexWrite","strLen","parsed","substr","utf8Write","blitBuffer","asciiWrite","asciiToBytes","latin1Write","base64Write","ucs2Write","utf16leToBytes","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","bytesPerSequence","decodeCodePointsArray","INSPECT_MAX_BYTES","poolSize","_augment","species","allocUnsafeSlow","_isBuffer","swap16","swap32","swap64","equals","inspect","thisStart","thisEnd","thisCopy","targetCopy","MAX_ARGUMENTS_LENGTH","ret","toHex","checkOffset","ext","checkInt","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","writeDouble","newBuf","sliceLen","readUIntLE","mul","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","readIntBE","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","maxBytes","writeUIntBE","writeUInt8","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","INVALID_BASE64_RE","base64clean","stringtrim","trim","units","leadSurrogate","byteArray","hi","lo","normalizeArray","allowAboveRoot","basename","matchedSlash","xs","resolvedPath","resolvedAbsolute","isAbsolute","trailingSlash","relative","to","fromParts","toParts","samePartsLength","outputParts","sep","dirname","hasRoot","extname","startDot","startPart","preDotState"],"mappings":"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S,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAA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CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGG,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGD,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGD,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,IAC/wEQ,EAAc,CAAC,EAAE,GAAI,GAAI,CAAC,GAAIZ,GAAW,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,OAC9Wa,EAAc,CAAC,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,IACx3IC,EAAc,CAAC,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,CAAC,GAAId,GAAW,CAAC,GAAIA,GAAW,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,KAC53Ce,EAAc,CAAC,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,KAAM,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,KACjwDC,EAAc,CAAC,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,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AM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,MACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,MACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,MACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,IACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,IACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,IACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,IACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,IACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,GACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,GACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,GACJC,KAAM,GACNC,KAAM,GACNC,WAAY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AAM,GAAM,EAAM,GAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,EAAM,IAAM,IAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,EAAM,IAAM,GAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,KACphD7E,KAAKmxH,OAAS,IAAItsH,WAAW,CAAC,GAAM,EAAM,IAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,GAAM,EAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,EAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,EAAM,IAAM,IAAM,GAAM,EAAM,IAAM,GAAM,GAAM,IAAM,IAAM,GAAM,GAAM,EAAM,IAAM,IAAM,IAAM,EAAM,EAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,I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CRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,MACTA,EAAE,KAAO,MACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,MACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,MACTA,EAAE,KAAO,MACTA,EAAE,KAAO,MACTA,EAAE,KAAO,MACTA,EAAE,KAAO,MACTA,EAAE,KAAO,MACTA,EAAE,KAAO,MACTA,EAAE,KAAO,MACTA,EAAE,KAAO,MACTA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,MACVA,EAAE,MAAQ,MA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KACP7qC,IAAK,MAEN,CACC6qC,MAAO,KACP7qC,IAAK,MAEN,CACC6qC,MAAO,KACP7qC,IAAK,MAEN,CACC6qC,MAAO,KACP7qC,IAAK,MAEN,CACC6qC,MAAO,KACP7qC,IAAK,MAEN,CACC6qC,MAAO,KACP7qC,IAAK,MAEN,CACC6qC,MAAO,KACP7qC,IAAK,MAEN,CACC6qC,MAAO,KACP7qC,IAAK,MAEN,CACC6qC,MAAO,KACP7qC,IAAK,MAEN,CACC6qC,MAAO,KACP7qC,IAAK,MAEN,CACC6qC,MAAO,KACP7qC,IAAK,OAEN,CACC6qC,MAAO,MACP7qC,IAAK,OAEN,CACC6qC,MAAO,MACP7qC,IAAK,OAEN,CACC6qC,MAAO,MACP7qC,IAAK,OAEN,CACC6qC,MAAO,MACP7qC,IAAK,OAEN,CACC6qC,MAAO,MACP7qC,IAAK,OAEN,CACC6qC,MAAO,MACP7qC,IAAK,OAEN,CACC6qC,MAAO,MACP7qC,IAAK,OAEN,CACC6qC,MAAO,MACP7qC,IAAK,OAEN,CACC6qC,MAAO,MACP7qC,IAAK,OAEN,CACC6qC,MAAO,MACP7qC,IAAK,OAEN,CACC6qC,MAAO,MACP7qC,IAAK,OAEN,CACC6qC,MAAO,MACP7qC,IAAK,OAEN,CACC6qC,MAAO,MACP7qC,IAAK,OAEN,CACC6qC,MAAO,MACP7qC,IAAK,OAEN,CACC6qC,MAAO,MACP7qC,IAAK,OAEN,CACC6qC,MAAO,MACP7qC,IAAK,OAEN,CACC6qC,MAAO,MACP7qC,IAAK,OAEN,CACC6qC,MAAO,MACP7qC,IAAK,OAEN,CACC6qC,MAAO,MACP7qC,IAAK,OAEN,CACC6qC,MAAO,MACP7qC,IAAK,OAEN,CACC6qC,MAAO,MACP7qC,IAAK,OAEN,CACC6qC,MAAO,MACP7qC,IAAK,OAEN,CACC6qC,MAAO,KACP7qC,IAAK,MAEN,CACC6qC,MAAO,KACP7qC,IAAK,MAEN,CACC6qC,MAAO,KACP7qC,IAAK,MAEN,CACC6qC,MAAO,KACP7qC,IAAK,MAEN,CACC6qC,MAAO,KACP7qC,IAAK,MAEN,CACC6qC,MAAO,KACP7qC,IAAK,MAEN,CACC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AAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,OACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,MACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,OACdA,EAAE,KAAY,KACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,OACdA,EAAE,KAAY,KACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,OACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,UACdA,EAAE,KAAY,SACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,K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K,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAC14CC,EAAc,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,KAAM,KAAM,GAAI,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,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","file":"e159015b73e8325fd015.worker.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 = \"069e\");\n","/**\n * @licstart The following is the entire license notice for the\n * Javascript code in this page\n *\n * Copyright 2020 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * @licend The above is the entire license notice for the\n * Javascript code in this page\n */\n\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"pdfjs-dist/build/pdf.worker\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"pdfjs-dist/build/pdf.worker\"] = factory();\n\telse\n\t\troot[\"pdfjs-dist/build/pdf.worker\"] = root.pdfjsWorker = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __w_pdfjs_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, __w_pdfjs_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__w_pdfjs_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__w_pdfjs_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__w_pdfjs_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__w_pdfjs_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__w_pdfjs_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__w_pdfjs_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __w_pdfjs_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__w_pdfjs_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) __w_pdfjs_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__w_pdfjs_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__w_pdfjs_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__w_pdfjs_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__w_pdfjs_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __w_pdfjs_require__(__w_pdfjs_require__.s = 0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nObject.defineProperty(exports, \"WorkerMessageHandler\", {\n  enumerable: true,\n  get: function get() {\n    return _worker.WorkerMessageHandler;\n  }\n});\n\nvar _worker = __w_pdfjs_require__(1);\n\nvar pdfjsVersion = '2.5.207';\nvar pdfjsBuild = '0974d605';\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.WorkerMessageHandler = exports.WorkerTask = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _primitives = __w_pdfjs_require__(198);\n\nvar _pdf_manager = __w_pdfjs_require__(199);\n\nvar _is_node = __w_pdfjs_require__(7);\n\nvar _message_handler = __w_pdfjs_require__(238);\n\nvar _worker_stream = __w_pdfjs_require__(239);\n\nvar _core_utils = __w_pdfjs_require__(201);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nvar WorkerTask = function WorkerTaskClosure() {\n  function WorkerTask(name) {\n    this.name = name;\n    this.terminated = false;\n    this._capability = (0, _util.createPromiseCapability)();\n  }\n\n  WorkerTask.prototype = {\n    get finished() {\n      return this._capability.promise;\n    },\n\n    finish: function finish() {\n      this._capability.resolve();\n    },\n    terminate: function terminate() {\n      this.terminated = true;\n    },\n    ensureNotTerminated: function ensureNotTerminated() {\n      if (this.terminated) {\n        throw new Error(\"Worker task was terminated\");\n      }\n    }\n  };\n  return WorkerTask;\n}();\n\nexports.WorkerTask = WorkerTask;\nvar WorkerMessageHandler = {\n  setup: function setup(handler, port) {\n    var testMessageProcessed = false;\n    handler.on(\"test\", function wphSetupTest(data) {\n      if (testMessageProcessed) {\n        return;\n      }\n\n      testMessageProcessed = true;\n\n      if (!(data instanceof Uint8Array)) {\n        handler.send(\"test\", null);\n        return;\n      }\n\n      var supportTransfers = data[0] === 255;\n      handler.postMessageTransfers = supportTransfers;\n      handler.send(\"test\", {\n        supportTransfers: supportTransfers\n      });\n    });\n    handler.on(\"configure\", function wphConfigure(data) {\n      (0, _util.setVerbosityLevel)(data.verbosity);\n    });\n    handler.on(\"GetDocRequest\", function wphSetupDoc(data) {\n      return WorkerMessageHandler.createDocumentHandler(data, port);\n    });\n  },\n  createDocumentHandler: function createDocumentHandler(docParams, port) {\n    var pdfManager;\n    var terminated = false;\n    var cancelXHRs = null;\n    var WorkerTasks = [];\n    var verbosity = (0, _util.getVerbosityLevel)();\n    var apiVersion = docParams.apiVersion;\n    var workerVersion = '2.5.207';\n\n    if (apiVersion !== workerVersion) {\n      throw new Error(\"The API version \\\"\".concat(apiVersion, \"\\\" does not match \") + \"the Worker version \\\"\".concat(workerVersion, \"\\\".\"));\n    }\n\n    var enumerableProperties = [];\n\n    for (var property in []) {\n      enumerableProperties.push(property);\n    }\n\n    if (enumerableProperties.length) {\n      throw new Error(\"The `Array.prototype` contains unexpected enumerable properties: \" + enumerableProperties.join(\", \") + \"; thus breaking e.g. `for...in` iteration of `Array`s.\");\n    }\n\n    var docId = docParams.docId;\n    var docBaseUrl = docParams.docBaseUrl;\n    var workerHandlerName = docParams.docId + \"_worker\";\n    var handler = new _message_handler.MessageHandler(workerHandlerName, docId, port);\n    handler.postMessageTransfers = docParams.postMessageTransfers;\n\n    function ensureNotTerminated() {\n      if (terminated) {\n        throw new Error(\"Worker was terminated\");\n      }\n    }\n\n    function startWorkerTask(task) {\n      WorkerTasks.push(task);\n    }\n\n    function finishWorkerTask(task) {\n      task.finish();\n      var i = WorkerTasks.indexOf(task);\n      WorkerTasks.splice(i, 1);\n    }\n\n    function loadDocument(_x) {\n      return _loadDocument.apply(this, arguments);\n    }\n\n    function _loadDocument() {\n      _loadDocument = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee(recoveryMode) {\n        var _yield$Promise$all, _yield$Promise$all2, numPages, fingerprint;\n\n        return _regenerator[\"default\"].wrap(function _callee$(_context) {\n          while (1) {\n            switch (_context.prev = _context.next) {\n              case 0:\n                _context.next = 2;\n                return pdfManager.ensureDoc(\"checkHeader\");\n\n              case 2:\n                _context.next = 4;\n                return pdfManager.ensureDoc(\"parseStartXRef\");\n\n              case 4:\n                _context.next = 6;\n                return pdfManager.ensureDoc(\"parse\", [recoveryMode]);\n\n              case 6:\n                if (recoveryMode) {\n                  _context.next = 9;\n                  break;\n                }\n\n                _context.next = 9;\n                return pdfManager.ensureDoc(\"checkFirstPage\");\n\n              case 9:\n                _context.next = 11;\n                return Promise.all([pdfManager.ensureDoc(\"numPages\"), pdfManager.ensureDoc(\"fingerprint\")]);\n\n              case 11:\n                _yield$Promise$all = _context.sent;\n                _yield$Promise$all2 = _slicedToArray(_yield$Promise$all, 2);\n                numPages = _yield$Promise$all2[0];\n                fingerprint = _yield$Promise$all2[1];\n                return _context.abrupt(\"return\", {\n                  numPages: numPages,\n                  fingerprint: fingerprint\n                });\n\n              case 16:\n              case \"end\":\n                return _context.stop();\n            }\n          }\n        }, _callee);\n      }));\n      return _loadDocument.apply(this, arguments);\n    }\n\n    function getPdfManager(data, evaluatorOptions) {\n      var pdfManagerCapability = (0, _util.createPromiseCapability)();\n      var newPdfManager;\n      var source = data.source;\n\n      if (source.data) {\n        try {\n          newPdfManager = new _pdf_manager.LocalPdfManager(docId, source.data, source.password, evaluatorOptions, docBaseUrl);\n          pdfManagerCapability.resolve(newPdfManager);\n        } catch (ex) {\n          pdfManagerCapability.reject(ex);\n        }\n\n        return pdfManagerCapability.promise;\n      }\n\n      var pdfStream,\n          cachedChunks = [];\n\n      try {\n        pdfStream = new _worker_stream.PDFWorkerStream(handler);\n      } catch (ex) {\n        pdfManagerCapability.reject(ex);\n        return pdfManagerCapability.promise;\n      }\n\n      var fullRequest = pdfStream.getFullReader();\n      fullRequest.headersReady.then(function () {\n        if (!fullRequest.isRangeSupported) {\n          return;\n        }\n\n        var disableAutoFetch = source.disableAutoFetch || fullRequest.isStreamingSupported;\n        newPdfManager = new _pdf_manager.NetworkPdfManager(docId, pdfStream, {\n          msgHandler: handler,\n          password: source.password,\n          length: fullRequest.contentLength,\n          disableAutoFetch: disableAutoFetch,\n          rangeChunkSize: source.rangeChunkSize\n        }, evaluatorOptions, docBaseUrl);\n\n        for (var i = 0; i < cachedChunks.length; i++) {\n          newPdfManager.sendProgressiveData(cachedChunks[i]);\n        }\n\n        cachedChunks = [];\n        pdfManagerCapability.resolve(newPdfManager);\n        cancelXHRs = null;\n      })[\"catch\"](function (reason) {\n        pdfManagerCapability.reject(reason);\n        cancelXHRs = null;\n      });\n      var loaded = 0;\n\n      var flushChunks = function flushChunks() {\n        var pdfFile = (0, _util.arraysToBytes)(cachedChunks);\n\n        if (source.length && pdfFile.length !== source.length) {\n          (0, _util.warn)(\"reported HTTP length is different from actual\");\n        }\n\n        try {\n          newPdfManager = new _pdf_manager.LocalPdfManager(docId, pdfFile, source.password, evaluatorOptions, docBaseUrl);\n          pdfManagerCapability.resolve(newPdfManager);\n        } catch (ex) {\n          pdfManagerCapability.reject(ex);\n        }\n\n        cachedChunks = [];\n      };\n\n      var readPromise = new Promise(function (resolve, reject) {\n        var readChunk = function readChunk(_ref) {\n          var value = _ref.value,\n              done = _ref.done;\n\n          try {\n            ensureNotTerminated();\n\n            if (done) {\n              if (!newPdfManager) {\n                flushChunks();\n              }\n\n              cancelXHRs = null;\n              return;\n            }\n\n            loaded += (0, _util.arrayByteLength)(value);\n\n            if (!fullRequest.isStreamingSupported) {\n              handler.send(\"DocProgress\", {\n                loaded: loaded,\n                total: Math.max(loaded, fullRequest.contentLength || 0)\n              });\n            }\n\n            if (newPdfManager) {\n              newPdfManager.sendProgressiveData(value);\n            } else {\n              cachedChunks.push(value);\n            }\n\n            fullRequest.read().then(readChunk, reject);\n          } catch (e) {\n            reject(e);\n          }\n        };\n\n        fullRequest.read().then(readChunk, reject);\n      });\n      readPromise[\"catch\"](function (e) {\n        pdfManagerCapability.reject(e);\n        cancelXHRs = null;\n      });\n\n      cancelXHRs = function cancelXHRs(reason) {\n        pdfStream.cancelAllRequests(reason);\n      };\n\n      return pdfManagerCapability.promise;\n    }\n\n    function setupDoc(data) {\n      function onSuccess(doc) {\n        ensureNotTerminated();\n        handler.send(\"GetDoc\", {\n          pdfInfo: doc\n        });\n      }\n\n      function onFailure(ex) {\n        ensureNotTerminated();\n\n        if (ex instanceof _util.PasswordException) {\n          var task = new WorkerTask(\"PasswordException: response \".concat(ex.code));\n          startWorkerTask(task);\n          handler.sendWithPromise(\"PasswordRequest\", ex).then(function (_ref2) {\n            var password = _ref2.password;\n            finishWorkerTask(task);\n            pdfManager.updatePassword(password);\n            pdfManagerReady();\n          })[\"catch\"](function () {\n            finishWorkerTask(task);\n            handler.send(\"DocException\", ex);\n          });\n        } else if (ex instanceof _util.InvalidPDFException || ex instanceof _util.MissingPDFException || ex instanceof _util.UnexpectedResponseException || ex instanceof _util.UnknownErrorException) {\n          handler.send(\"DocException\", ex);\n        } else {\n          handler.send(\"DocException\", new _util.UnknownErrorException(ex.message, ex.toString()));\n        }\n      }\n\n      function pdfManagerReady() {\n        ensureNotTerminated();\n        loadDocument(false).then(onSuccess, function loadFailure(ex) {\n          ensureNotTerminated();\n\n          if (!(ex instanceof _core_utils.XRefParseException)) {\n            onFailure(ex);\n            return;\n          }\n\n          pdfManager.requestLoadedStream();\n          pdfManager.onLoadedStream().then(function () {\n            ensureNotTerminated();\n            loadDocument(true).then(onSuccess, onFailure);\n          });\n        }, onFailure);\n      }\n\n      ensureNotTerminated();\n      var evaluatorOptions = {\n        maxImageSize: data.maxImageSize,\n        disableFontFace: data.disableFontFace,\n        ignoreErrors: data.ignoreErrors,\n        isEvalSupported: data.isEvalSupported,\n        fontExtraProperties: data.fontExtraProperties\n      };\n      getPdfManager(data, evaluatorOptions).then(function (newPdfManager) {\n        if (terminated) {\n          newPdfManager.terminate(new _util.AbortException(\"Worker was terminated.\"));\n          throw new Error(\"Worker was terminated\");\n        }\n\n        pdfManager = newPdfManager;\n        pdfManager.onLoadedStream().then(function (stream) {\n          handler.send(\"DataLoaded\", {\n            length: stream.bytes.byteLength\n          });\n        });\n      }).then(pdfManagerReady, onFailure);\n    }\n\n    handler.on(\"GetPage\", function wphSetupGetPage(data) {\n      return pdfManager.getPage(data.pageIndex).then(function (page) {\n        return Promise.all([pdfManager.ensure(page, \"rotate\"), pdfManager.ensure(page, \"ref\"), pdfManager.ensure(page, \"userUnit\"), pdfManager.ensure(page, \"view\")]).then(function (_ref3) {\n          var _ref4 = _slicedToArray(_ref3, 4),\n              rotate = _ref4[0],\n              ref = _ref4[1],\n              userUnit = _ref4[2],\n              view = _ref4[3];\n\n          return {\n            rotate: rotate,\n            ref: ref,\n            userUnit: userUnit,\n            view: view\n          };\n        });\n      });\n    });\n    handler.on(\"GetPageIndex\", function wphSetupGetPageIndex(data) {\n      var ref = _primitives.Ref.get(data.ref.num, data.ref.gen);\n\n      var catalog = pdfManager.pdfDocument.catalog;\n      return catalog.getPageIndex(ref);\n    });\n    handler.on(\"GetDestinations\", function wphSetupGetDestinations(data) {\n      return pdfManager.ensureCatalog(\"destinations\");\n    });\n    handler.on(\"GetDestination\", function wphSetupGetDestination(data) {\n      return pdfManager.ensureCatalog(\"getDestination\", [data.id]);\n    });\n    handler.on(\"GetPageLabels\", function wphSetupGetPageLabels(data) {\n      return pdfManager.ensureCatalog(\"pageLabels\");\n    });\n    handler.on(\"GetPageLayout\", function wphSetupGetPageLayout(data) {\n      return pdfManager.ensureCatalog(\"pageLayout\");\n    });\n    handler.on(\"GetPageMode\", function wphSetupGetPageMode(data) {\n      return pdfManager.ensureCatalog(\"pageMode\");\n    });\n    handler.on(\"GetViewerPreferences\", function (data) {\n      return pdfManager.ensureCatalog(\"viewerPreferences\");\n    });\n    handler.on(\"GetOpenAction\", function (data) {\n      return pdfManager.ensureCatalog(\"openAction\");\n    });\n    handler.on(\"GetAttachments\", function wphSetupGetAttachments(data) {\n      return pdfManager.ensureCatalog(\"attachments\");\n    });\n    handler.on(\"GetJavaScript\", function wphSetupGetJavaScript(data) {\n      return pdfManager.ensureCatalog(\"javaScript\");\n    });\n    handler.on(\"GetOutline\", function wphSetupGetOutline(data) {\n      return pdfManager.ensureCatalog(\"documentOutline\");\n    });\n    handler.on(\"GetPermissions\", function (data) {\n      return pdfManager.ensureCatalog(\"permissions\");\n    });\n    handler.on(\"GetMetadata\", function wphSetupGetMetadata(data) {\n      return Promise.all([pdfManager.ensureDoc(\"documentInfo\"), pdfManager.ensureCatalog(\"metadata\")]);\n    });\n    handler.on(\"GetData\", function wphSetupGetData(data) {\n      pdfManager.requestLoadedStream();\n      return pdfManager.onLoadedStream().then(function (stream) {\n        return stream.bytes;\n      });\n    });\n    handler.on(\"GetStats\", function wphSetupGetStats(data) {\n      return pdfManager.pdfDocument.xref.stats;\n    });\n    handler.on(\"GetAnnotations\", function (_ref5) {\n      var pageIndex = _ref5.pageIndex,\n          intent = _ref5.intent;\n      return pdfManager.getPage(pageIndex).then(function (page) {\n        return page.getAnnotationsData(intent);\n      });\n    });\n    handler.on(\"GetOperatorList\", function wphSetupRenderPage(data, sink) {\n      var pageIndex = data.pageIndex;\n      pdfManager.getPage(pageIndex).then(function (page) {\n        var task = new WorkerTask(\"GetOperatorList: page \".concat(pageIndex));\n        startWorkerTask(task);\n        var start = verbosity >= _util.VerbosityLevel.INFOS ? Date.now() : 0;\n        page.getOperatorList({\n          handler: handler,\n          sink: sink,\n          task: task,\n          intent: data.intent,\n          renderInteractiveForms: data.renderInteractiveForms\n        }).then(function (operatorListInfo) {\n          finishWorkerTask(task);\n\n          if (start) {\n            (0, _util.info)(\"page=\".concat(pageIndex + 1, \" - getOperatorList: time=\") + \"\".concat(Date.now() - start, \"ms, len=\").concat(operatorListInfo.length));\n          }\n\n          sink.close();\n        }, function (reason) {\n          finishWorkerTask(task);\n\n          if (task.terminated) {\n            return;\n          }\n\n          handler.send(\"UnsupportedFeature\", {\n            featureId: _util.UNSUPPORTED_FEATURES.errorOperatorList\n          });\n          sink.error(reason);\n        });\n      });\n    }, this);\n    handler.on(\"GetTextContent\", function wphExtractText(data, sink) {\n      var pageIndex = data.pageIndex;\n\n      sink.onPull = function (desiredSize) {};\n\n      sink.onCancel = function (reason) {};\n\n      pdfManager.getPage(pageIndex).then(function (page) {\n        var task = new WorkerTask(\"GetTextContent: page \" + pageIndex);\n        startWorkerTask(task);\n        var start = verbosity >= _util.VerbosityLevel.INFOS ? Date.now() : 0;\n        page.extractTextContent({\n          handler: handler,\n          task: task,\n          sink: sink,\n          normalizeWhitespace: data.normalizeWhitespace,\n          combineTextItems: data.combineTextItems\n        }).then(function () {\n          finishWorkerTask(task);\n\n          if (start) {\n            (0, _util.info)(\"page=\".concat(pageIndex + 1, \" - getTextContent: time=\") + \"\".concat(Date.now() - start, \"ms\"));\n          }\n\n          sink.close();\n        }, function (reason) {\n          finishWorkerTask(task);\n\n          if (task.terminated) {\n            return;\n          }\n\n          sink.error(reason);\n        });\n      });\n    });\n    handler.on(\"FontFallback\", function (data) {\n      return pdfManager.fontFallback(data.id, handler);\n    });\n    handler.on(\"Cleanup\", function wphCleanup(data) {\n      return pdfManager.cleanup(true);\n    });\n    handler.on(\"Terminate\", function wphTerminate(data) {\n      terminated = true;\n      var waitOn = [];\n\n      if (pdfManager) {\n        pdfManager.terminate(new _util.AbortException(\"Worker was terminated.\"));\n        var cleanupPromise = pdfManager.cleanup();\n        waitOn.push(cleanupPromise);\n        pdfManager = null;\n      } else {\n        (0, _primitives.clearPrimitiveCaches)();\n      }\n\n      if (cancelXHRs) {\n        cancelXHRs(new _util.AbortException(\"Worker was terminated.\"));\n      }\n\n      WorkerTasks.forEach(function (task) {\n        waitOn.push(task.finished);\n        task.terminate();\n      });\n      return Promise.all(waitOn).then(function () {\n        handler.destroy();\n        handler = null;\n      });\n    });\n    handler.on(\"Ready\", function wphReady(data) {\n      setupDoc(docParams);\n      docParams = null;\n    });\n    return workerHandlerName;\n  },\n  initializeFromPort: function initializeFromPort(port) {\n    var handler = new _message_handler.MessageHandler(\"worker\", \"main\", port);\n    WorkerMessageHandler.setup(handler, port);\n    handler.send(\"ready\", null);\n  }\n};\nexports.WorkerMessageHandler = WorkerMessageHandler;\n\nfunction isMessagePort(maybePort) {\n  return typeof maybePort.postMessage === \"function\" && \"onmessage\" in maybePort;\n}\n\nif (typeof window === \"undefined\" && !_is_node.isNodeJS && typeof self !== \"undefined\" && isMessagePort(self)) {\n  WorkerMessageHandler.initializeFromPort(self);\n}\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = __w_pdfjs_require__(3);\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(module) {\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar runtime = function (exports) {\n  \"use strict\";\n\n  var Op = Object.prototype;\n  var hasOwn = Op.hasOwnProperty;\n  var undefined;\n  var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n  var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n  var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n  var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n  function wrap(innerFn, outerFn, self, tryLocsList) {\n    var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n    var generator = Object.create(protoGenerator.prototype);\n    var context = new Context(tryLocsList || []);\n    generator._invoke = makeInvokeMethod(innerFn, self, context);\n    return generator;\n  }\n\n  exports.wrap = wrap;\n\n  function tryCatch(fn, obj, arg) {\n    try {\n      return {\n        type: \"normal\",\n        arg: fn.call(obj, arg)\n      };\n    } catch (err) {\n      return {\n        type: \"throw\",\n        arg: err\n      };\n    }\n  }\n\n  var GenStateSuspendedStart = \"suspendedStart\";\n  var GenStateSuspendedYield = \"suspendedYield\";\n  var GenStateExecuting = \"executing\";\n  var GenStateCompleted = \"completed\";\n  var ContinueSentinel = {};\n\n  function Generator() {}\n\n  function GeneratorFunction() {}\n\n  function GeneratorFunctionPrototype() {}\n\n  var IteratorPrototype = {};\n\n  IteratorPrototype[iteratorSymbol] = function () {\n    return this;\n  };\n\n  var getProto = Object.getPrototypeOf;\n  var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n\n  if (NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n    IteratorPrototype = NativeIteratorPrototype;\n  }\n\n  var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);\n  GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n  GeneratorFunctionPrototype.constructor = GeneratorFunction;\n  GeneratorFunctionPrototype[toStringTagSymbol] = GeneratorFunction.displayName = \"GeneratorFunction\";\n\n  function defineIteratorMethods(prototype) {\n    [\"next\", \"throw\", \"return\"].forEach(function (method) {\n      prototype[method] = function (arg) {\n        return this._invoke(method, arg);\n      };\n    });\n  }\n\n  exports.isGeneratorFunction = function (genFun) {\n    var ctor = typeof genFun === \"function\" && genFun.constructor;\n    return ctor ? ctor === GeneratorFunction || (ctor.displayName || ctor.name) === \"GeneratorFunction\" : false;\n  };\n\n  exports.mark = function (genFun) {\n    if (Object.setPrototypeOf) {\n      Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n    } else {\n      genFun.__proto__ = GeneratorFunctionPrototype;\n\n      if (!(toStringTagSymbol in genFun)) {\n        genFun[toStringTagSymbol] = \"GeneratorFunction\";\n      }\n    }\n\n    genFun.prototype = Object.create(Gp);\n    return genFun;\n  };\n\n  exports.awrap = function (arg) {\n    return {\n      __await: arg\n    };\n  };\n\n  function AsyncIterator(generator, PromiseImpl) {\n    function invoke(method, arg, resolve, reject) {\n      var record = tryCatch(generator[method], generator, arg);\n\n      if (record.type === \"throw\") {\n        reject(record.arg);\n      } else {\n        var result = record.arg;\n        var value = result.value;\n\n        if (value && _typeof(value) === \"object\" && hasOwn.call(value, \"__await\")) {\n          return PromiseImpl.resolve(value.__await).then(function (value) {\n            invoke(\"next\", value, resolve, reject);\n          }, function (err) {\n            invoke(\"throw\", err, resolve, reject);\n          });\n        }\n\n        return PromiseImpl.resolve(value).then(function (unwrapped) {\n          result.value = unwrapped;\n          resolve(result);\n        }, function (error) {\n          return invoke(\"throw\", error, resolve, reject);\n        });\n      }\n    }\n\n    var previousPromise;\n\n    function enqueue(method, arg) {\n      function callInvokeWithMethodAndArg() {\n        return new PromiseImpl(function (resolve, reject) {\n          invoke(method, arg, resolve, reject);\n        });\n      }\n\n      return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n    }\n\n    this._invoke = enqueue;\n  }\n\n  defineIteratorMethods(AsyncIterator.prototype);\n\n  AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n    return this;\n  };\n\n  exports.AsyncIterator = AsyncIterator;\n\n  exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n    if (PromiseImpl === void 0) PromiseImpl = Promise;\n    var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);\n    return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {\n      return result.done ? result.value : iter.next();\n    });\n  };\n\n  function makeInvokeMethod(innerFn, self, context) {\n    var state = GenStateSuspendedStart;\n    return function invoke(method, arg) {\n      if (state === GenStateExecuting) {\n        throw new Error(\"Generator is already running\");\n      }\n\n      if (state === GenStateCompleted) {\n        if (method === \"throw\") {\n          throw arg;\n        }\n\n        return doneResult();\n      }\n\n      context.method = method;\n      context.arg = arg;\n\n      while (true) {\n        var delegate = context.delegate;\n\n        if (delegate) {\n          var delegateResult = maybeInvokeDelegate(delegate, context);\n\n          if (delegateResult) {\n            if (delegateResult === ContinueSentinel) continue;\n            return delegateResult;\n          }\n        }\n\n        if (context.method === \"next\") {\n          context.sent = context._sent = context.arg;\n        } else if (context.method === \"throw\") {\n          if (state === GenStateSuspendedStart) {\n            state = GenStateCompleted;\n            throw context.arg;\n          }\n\n          context.dispatchException(context.arg);\n        } else if (context.method === \"return\") {\n          context.abrupt(\"return\", context.arg);\n        }\n\n        state = GenStateExecuting;\n        var record = tryCatch(innerFn, self, context);\n\n        if (record.type === \"normal\") {\n          state = context.done ? GenStateCompleted : GenStateSuspendedYield;\n\n          if (record.arg === ContinueSentinel) {\n            continue;\n          }\n\n          return {\n            value: record.arg,\n            done: context.done\n          };\n        } else if (record.type === \"throw\") {\n          state = GenStateCompleted;\n          context.method = \"throw\";\n          context.arg = record.arg;\n        }\n      }\n    };\n  }\n\n  function maybeInvokeDelegate(delegate, context) {\n    var method = delegate.iterator[context.method];\n\n    if (method === undefined) {\n      context.delegate = null;\n\n      if (context.method === \"throw\") {\n        if (delegate.iterator[\"return\"]) {\n          context.method = \"return\";\n          context.arg = undefined;\n          maybeInvokeDelegate(delegate, context);\n\n          if (context.method === \"throw\") {\n            return ContinueSentinel;\n          }\n        }\n\n        context.method = \"throw\";\n        context.arg = new TypeError(\"The iterator does not provide a 'throw' method\");\n      }\n\n      return ContinueSentinel;\n    }\n\n    var record = tryCatch(method, delegate.iterator, context.arg);\n\n    if (record.type === \"throw\") {\n      context.method = \"throw\";\n      context.arg = record.arg;\n      context.delegate = null;\n      return ContinueSentinel;\n    }\n\n    var info = record.arg;\n\n    if (!info) {\n      context.method = \"throw\";\n      context.arg = new TypeError(\"iterator result is not an object\");\n      context.delegate = null;\n      return ContinueSentinel;\n    }\n\n    if (info.done) {\n      context[delegate.resultName] = info.value;\n      context.next = delegate.nextLoc;\n\n      if (context.method !== \"return\") {\n        context.method = \"next\";\n        context.arg = undefined;\n      }\n    } else {\n      return info;\n    }\n\n    context.delegate = null;\n    return ContinueSentinel;\n  }\n\n  defineIteratorMethods(Gp);\n  Gp[toStringTagSymbol] = \"Generator\";\n\n  Gp[iteratorSymbol] = function () {\n    return this;\n  };\n\n  Gp.toString = function () {\n    return \"[object Generator]\";\n  };\n\n  function pushTryEntry(locs) {\n    var entry = {\n      tryLoc: locs[0]\n    };\n\n    if (1 in locs) {\n      entry.catchLoc = locs[1];\n    }\n\n    if (2 in locs) {\n      entry.finallyLoc = locs[2];\n      entry.afterLoc = locs[3];\n    }\n\n    this.tryEntries.push(entry);\n  }\n\n  function resetTryEntry(entry) {\n    var record = entry.completion || {};\n    record.type = \"normal\";\n    delete record.arg;\n    entry.completion = record;\n  }\n\n  function Context(tryLocsList) {\n    this.tryEntries = [{\n      tryLoc: \"root\"\n    }];\n    tryLocsList.forEach(pushTryEntry, this);\n    this.reset(true);\n  }\n\n  exports.keys = function (object) {\n    var keys = [];\n\n    for (var key in object) {\n      keys.push(key);\n    }\n\n    keys.reverse();\n    return function next() {\n      while (keys.length) {\n        var key = keys.pop();\n\n        if (key in object) {\n          next.value = key;\n          next.done = false;\n          return next;\n        }\n      }\n\n      next.done = true;\n      return next;\n    };\n  };\n\n  function values(iterable) {\n    if (iterable) {\n      var iteratorMethod = iterable[iteratorSymbol];\n\n      if (iteratorMethod) {\n        return iteratorMethod.call(iterable);\n      }\n\n      if (typeof iterable.next === \"function\") {\n        return iterable;\n      }\n\n      if (!isNaN(iterable.length)) {\n        var i = -1,\n            next = function next() {\n          while (++i < iterable.length) {\n            if (hasOwn.call(iterable, i)) {\n              next.value = iterable[i];\n              next.done = false;\n              return next;\n            }\n          }\n\n          next.value = undefined;\n          next.done = true;\n          return next;\n        };\n\n        return next.next = next;\n      }\n    }\n\n    return {\n      next: doneResult\n    };\n  }\n\n  exports.values = values;\n\n  function doneResult() {\n    return {\n      value: undefined,\n      done: true\n    };\n  }\n\n  Context.prototype = {\n    constructor: Context,\n    reset: function reset(skipTempReset) {\n      this.prev = 0;\n      this.next = 0;\n      this.sent = this._sent = undefined;\n      this.done = false;\n      this.delegate = null;\n      this.method = \"next\";\n      this.arg = undefined;\n      this.tryEntries.forEach(resetTryEntry);\n\n      if (!skipTempReset) {\n        for (var name in this) {\n          if (name.charAt(0) === \"t\" && hasOwn.call(this, name) && !isNaN(+name.slice(1))) {\n            this[name] = undefined;\n          }\n        }\n      }\n    },\n    stop: function stop() {\n      this.done = true;\n      var rootEntry = this.tryEntries[0];\n      var rootRecord = rootEntry.completion;\n\n      if (rootRecord.type === \"throw\") {\n        throw rootRecord.arg;\n      }\n\n      return this.rval;\n    },\n    dispatchException: function dispatchException(exception) {\n      if (this.done) {\n        throw exception;\n      }\n\n      var context = this;\n\n      function handle(loc, caught) {\n        record.type = \"throw\";\n        record.arg = exception;\n        context.next = loc;\n\n        if (caught) {\n          context.method = \"next\";\n          context.arg = undefined;\n        }\n\n        return !!caught;\n      }\n\n      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n        var entry = this.tryEntries[i];\n        var record = entry.completion;\n\n        if (entry.tryLoc === \"root\") {\n          return handle(\"end\");\n        }\n\n        if (entry.tryLoc <= this.prev) {\n          var hasCatch = hasOwn.call(entry, \"catchLoc\");\n          var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n          if (hasCatch && hasFinally) {\n            if (this.prev < entry.catchLoc) {\n              return handle(entry.catchLoc, true);\n            } else if (this.prev < entry.finallyLoc) {\n              return handle(entry.finallyLoc);\n            }\n          } else if (hasCatch) {\n            if (this.prev < entry.catchLoc) {\n              return handle(entry.catchLoc, true);\n            }\n          } else if (hasFinally) {\n            if (this.prev < entry.finallyLoc) {\n              return handle(entry.finallyLoc);\n            }\n          } else {\n            throw new Error(\"try statement without catch or finally\");\n          }\n        }\n      }\n    },\n    abrupt: function abrupt(type, arg) {\n      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n        var entry = this.tryEntries[i];\n\n        if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) {\n          var finallyEntry = entry;\n          break;\n        }\n      }\n\n      if (finallyEntry && (type === \"break\" || type === \"continue\") && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc) {\n        finallyEntry = null;\n      }\n\n      var record = finallyEntry ? finallyEntry.completion : {};\n      record.type = type;\n      record.arg = arg;\n\n      if (finallyEntry) {\n        this.method = \"next\";\n        this.next = finallyEntry.finallyLoc;\n        return ContinueSentinel;\n      }\n\n      return this.complete(record);\n    },\n    complete: function complete(record, afterLoc) {\n      if (record.type === \"throw\") {\n        throw record.arg;\n      }\n\n      if (record.type === \"break\" || record.type === \"continue\") {\n        this.next = record.arg;\n      } else if (record.type === \"return\") {\n        this.rval = this.arg = record.arg;\n        this.method = \"return\";\n        this.next = \"end\";\n      } else if (record.type === \"normal\" && afterLoc) {\n        this.next = afterLoc;\n      }\n\n      return ContinueSentinel;\n    },\n    finish: function finish(finallyLoc) {\n      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n        var entry = this.tryEntries[i];\n\n        if (entry.finallyLoc === finallyLoc) {\n          this.complete(entry.completion, entry.afterLoc);\n          resetTryEntry(entry);\n          return ContinueSentinel;\n        }\n      }\n    },\n    \"catch\": function _catch(tryLoc) {\n      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n        var entry = this.tryEntries[i];\n\n        if (entry.tryLoc === tryLoc) {\n          var record = entry.completion;\n\n          if (record.type === \"throw\") {\n            var thrown = record.arg;\n            resetTryEntry(entry);\n          }\n\n          return thrown;\n        }\n      }\n\n      throw new Error(\"illegal catch attempt\");\n    },\n    delegateYield: function delegateYield(iterable, resultName, nextLoc) {\n      this.delegate = {\n        iterator: values(iterable),\n        resultName: resultName,\n        nextLoc: nextLoc\n      };\n\n      if (this.method === \"next\") {\n        this.arg = undefined;\n      }\n\n      return ContinueSentinel;\n    }\n  };\n  return exports;\n}(( false ? undefined : _typeof(module)) === \"object\" ? module.exports : {});\n\ntry {\n  regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n  Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n/* WEBPACK VAR INJECTION */}.call(this, __w_pdfjs_require__(4)(module)))\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (module) {\n  if (!module.webpackPolyfill) {\n    module.deprecate = function () {};\n\n    module.paths = [];\n    if (!module.children) module.children = [];\n    Object.defineProperty(module, \"loaded\", {\n      enumerable: true,\n      get: function get() {\n        return module.l;\n      }\n    });\n    Object.defineProperty(module, \"id\", {\n      enumerable: true,\n      get: function get() {\n        return module.i;\n      }\n    });\n    module.webpackPolyfill = 1;\n  }\n\n  return module;\n};\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.arrayByteLength = arrayByteLength;\nexports.arraysToBytes = arraysToBytes;\nexports.assert = assert;\nexports.bytesToString = bytesToString;\nexports.createPromiseCapability = createPromiseCapability;\nexports.getVerbosityLevel = getVerbosityLevel;\nexports.info = info;\nexports.isArrayBuffer = isArrayBuffer;\nexports.isArrayEqual = isArrayEqual;\nexports.isBool = isBool;\nexports.isEmptyObj = isEmptyObj;\nexports.isNum = isNum;\nexports.isString = isString;\nexports.isSameOrigin = isSameOrigin;\nexports.createValidAbsoluteUrl = createValidAbsoluteUrl;\nexports.removeNullCharacters = removeNullCharacters;\nexports.setVerbosityLevel = setVerbosityLevel;\nexports.shadow = shadow;\nexports.string32 = string32;\nexports.stringToBytes = stringToBytes;\nexports.stringToPDFString = stringToPDFString;\nexports.stringToUTF8String = stringToUTF8String;\nexports.utf8StringToString = utf8StringToString;\nexports.warn = warn;\nexports.unreachable = unreachable;\nexports.IsEvalSupportedCached = exports.IsLittleEndianCached = exports.createObjectURL = exports.FormatError = exports.Util = exports.UnknownErrorException = exports.UnexpectedResponseException = exports.TextRenderingMode = exports.StreamType = exports.PermissionFlag = exports.PasswordResponses = exports.PasswordException = exports.MissingPDFException = exports.InvalidPDFException = exports.AbortException = exports.CMapCompressionType = exports.ImageKind = exports.FontType = exports.AnnotationType = exports.AnnotationStateModelType = exports.AnnotationReviewState = exports.AnnotationReplyType = exports.AnnotationMarkedState = exports.AnnotationFlag = exports.AnnotationFieldFlag = exports.AnnotationBorderStyleType = exports.UNSUPPORTED_FEATURES = exports.VerbosityLevel = exports.OPS = exports.IDENTITY_MATRIX = exports.FONT_IDENTITY_MATRIX = exports.BaseException = void 0;\n\n__w_pdfjs_require__(6);\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];\nexports.IDENTITY_MATRIX = IDENTITY_MATRIX;\nvar FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];\nexports.FONT_IDENTITY_MATRIX = FONT_IDENTITY_MATRIX;\nvar PermissionFlag = {\n  PRINT: 0x04,\n  MODIFY_CONTENTS: 0x08,\n  COPY: 0x10,\n  MODIFY_ANNOTATIONS: 0x20,\n  FILL_INTERACTIVE_FORMS: 0x100,\n  COPY_FOR_ACCESSIBILITY: 0x200,\n  ASSEMBLE: 0x400,\n  PRINT_HIGH_QUALITY: 0x800\n};\nexports.PermissionFlag = PermissionFlag;\nvar TextRenderingMode = {\n  FILL: 0,\n  STROKE: 1,\n  FILL_STROKE: 2,\n  INVISIBLE: 3,\n  FILL_ADD_TO_PATH: 4,\n  STROKE_ADD_TO_PATH: 5,\n  FILL_STROKE_ADD_TO_PATH: 6,\n  ADD_TO_PATH: 7,\n  FILL_STROKE_MASK: 3,\n  ADD_TO_PATH_FLAG: 4\n};\nexports.TextRenderingMode = TextRenderingMode;\nvar ImageKind = {\n  GRAYSCALE_1BPP: 1,\n  RGB_24BPP: 2,\n  RGBA_32BPP: 3\n};\nexports.ImageKind = ImageKind;\nvar AnnotationType = {\n  TEXT: 1,\n  LINK: 2,\n  FREETEXT: 3,\n  LINE: 4,\n  SQUARE: 5,\n  CIRCLE: 6,\n  POLYGON: 7,\n  POLYLINE: 8,\n  HIGHLIGHT: 9,\n  UNDERLINE: 10,\n  SQUIGGLY: 11,\n  STRIKEOUT: 12,\n  STAMP: 13,\n  CARET: 14,\n  INK: 15,\n  POPUP: 16,\n  FILEATTACHMENT: 17,\n  SOUND: 18,\n  MOVIE: 19,\n  WIDGET: 20,\n  SCREEN: 21,\n  PRINTERMARK: 22,\n  TRAPNET: 23,\n  WATERMARK: 24,\n  THREED: 25,\n  REDACT: 26\n};\nexports.AnnotationType = AnnotationType;\nvar AnnotationStateModelType = {\n  MARKED: \"Marked\",\n  REVIEW: \"Review\"\n};\nexports.AnnotationStateModelType = AnnotationStateModelType;\nvar AnnotationMarkedState = {\n  MARKED: \"Marked\",\n  UNMARKED: \"Unmarked\"\n};\nexports.AnnotationMarkedState = AnnotationMarkedState;\nvar AnnotationReviewState = {\n  ACCEPTED: \"Accepted\",\n  REJECTED: \"Rejected\",\n  CANCELLED: \"Cancelled\",\n  COMPLETED: \"Completed\",\n  NONE: \"None\"\n};\nexports.AnnotationReviewState = AnnotationReviewState;\nvar AnnotationReplyType = {\n  GROUP: \"Group\",\n  REPLY: \"R\"\n};\nexports.AnnotationReplyType = AnnotationReplyType;\nvar AnnotationFlag = {\n  INVISIBLE: 0x01,\n  HIDDEN: 0x02,\n  PRINT: 0x04,\n  NOZOOM: 0x08,\n  NOROTATE: 0x10,\n  NOVIEW: 0x20,\n  READONLY: 0x40,\n  LOCKED: 0x80,\n  TOGGLENOVIEW: 0x100,\n  LOCKEDCONTENTS: 0x200\n};\nexports.AnnotationFlag = AnnotationFlag;\nvar AnnotationFieldFlag = {\n  READONLY: 0x0000001,\n  REQUIRED: 0x0000002,\n  NOEXPORT: 0x0000004,\n  MULTILINE: 0x0001000,\n  PASSWORD: 0x0002000,\n  NOTOGGLETOOFF: 0x0004000,\n  RADIO: 0x0008000,\n  PUSHBUTTON: 0x0010000,\n  COMBO: 0x0020000,\n  EDIT: 0x0040000,\n  SORT: 0x0080000,\n  FILESELECT: 0x0100000,\n  MULTISELECT: 0x0200000,\n  DONOTSPELLCHECK: 0x0400000,\n  DONOTSCROLL: 0x0800000,\n  COMB: 0x1000000,\n  RICHTEXT: 0x2000000,\n  RADIOSINUNISON: 0x2000000,\n  COMMITONSELCHANGE: 0x4000000\n};\nexports.AnnotationFieldFlag = AnnotationFieldFlag;\nvar AnnotationBorderStyleType = {\n  SOLID: 1,\n  DASHED: 2,\n  BEVELED: 3,\n  INSET: 4,\n  UNDERLINE: 5\n};\nexports.AnnotationBorderStyleType = AnnotationBorderStyleType;\nvar StreamType = {\n  UNKNOWN: \"UNKNOWN\",\n  FLATE: \"FLATE\",\n  LZW: \"LZW\",\n  DCT: \"DCT\",\n  JPX: \"JPX\",\n  JBIG: \"JBIG\",\n  A85: \"A85\",\n  AHX: \"AHX\",\n  CCF: \"CCF\",\n  RLX: \"RLX\"\n};\nexports.StreamType = StreamType;\nvar FontType = {\n  UNKNOWN: \"UNKNOWN\",\n  TYPE1: \"TYPE1\",\n  TYPE1C: \"TYPE1C\",\n  CIDFONTTYPE0: \"CIDFONTTYPE0\",\n  CIDFONTTYPE0C: \"CIDFONTTYPE0C\",\n  TRUETYPE: \"TRUETYPE\",\n  CIDFONTTYPE2: \"CIDFONTTYPE2\",\n  TYPE3: \"TYPE3\",\n  OPENTYPE: \"OPENTYPE\",\n  TYPE0: \"TYPE0\",\n  MMTYPE1: \"MMTYPE1\"\n};\nexports.FontType = FontType;\nvar VerbosityLevel = {\n  ERRORS: 0,\n  WARNINGS: 1,\n  INFOS: 5\n};\nexports.VerbosityLevel = VerbosityLevel;\nvar CMapCompressionType = {\n  NONE: 0,\n  BINARY: 1,\n  STREAM: 2\n};\nexports.CMapCompressionType = CMapCompressionType;\nvar OPS = {\n  dependency: 1,\n  setLineWidth: 2,\n  setLineCap: 3,\n  setLineJoin: 4,\n  setMiterLimit: 5,\n  setDash: 6,\n  setRenderingIntent: 7,\n  setFlatness: 8,\n  setGState: 9,\n  save: 10,\n  restore: 11,\n  transform: 12,\n  moveTo: 13,\n  lineTo: 14,\n  curveTo: 15,\n  curveTo2: 16,\n  curveTo3: 17,\n  closePath: 18,\n  rectangle: 19,\n  stroke: 20,\n  closeStroke: 21,\n  fill: 22,\n  eoFill: 23,\n  fillStroke: 24,\n  eoFillStroke: 25,\n  closeFillStroke: 26,\n  closeEOFillStroke: 27,\n  endPath: 28,\n  clip: 29,\n  eoClip: 30,\n  beginText: 31,\n  endText: 32,\n  setCharSpacing: 33,\n  setWordSpacing: 34,\n  setHScale: 35,\n  setLeading: 36,\n  setFont: 37,\n  setTextRenderingMode: 38,\n  setTextRise: 39,\n  moveText: 40,\n  setLeadingMoveText: 41,\n  setTextMatrix: 42,\n  nextLine: 43,\n  showText: 44,\n  showSpacedText: 45,\n  nextLineShowText: 46,\n  nextLineSetSpacingShowText: 47,\n  setCharWidth: 48,\n  setCharWidthAndBounds: 49,\n  setStrokeColorSpace: 50,\n  setFillColorSpace: 51,\n  setStrokeColor: 52,\n  setStrokeColorN: 53,\n  setFillColor: 54,\n  setFillColorN: 55,\n  setStrokeGray: 56,\n  setFillGray: 57,\n  setStrokeRGBColor: 58,\n  setFillRGBColor: 59,\n  setStrokeCMYKColor: 60,\n  setFillCMYKColor: 61,\n  shadingFill: 62,\n  beginInlineImage: 63,\n  beginImageData: 64,\n  endInlineImage: 65,\n  paintXObject: 66,\n  markPoint: 67,\n  markPointProps: 68,\n  beginMarkedContent: 69,\n  beginMarkedContentProps: 70,\n  endMarkedContent: 71,\n  beginCompat: 72,\n  endCompat: 73,\n  paintFormXObjectBegin: 74,\n  paintFormXObjectEnd: 75,\n  beginGroup: 76,\n  endGroup: 77,\n  beginAnnotations: 78,\n  endAnnotations: 79,\n  beginAnnotation: 80,\n  endAnnotation: 81,\n  paintJpegXObject: 82,\n  paintImageMaskXObject: 83,\n  paintImageMaskXObjectGroup: 84,\n  paintImageXObject: 85,\n  paintInlineImageXObject: 86,\n  paintInlineImageXObjectGroup: 87,\n  paintImageXObjectRepeat: 88,\n  paintImageMaskXObjectRepeat: 89,\n  paintSolidColorImageMask: 90,\n  constructPath: 91\n};\nexports.OPS = OPS;\nvar UNSUPPORTED_FEATURES = {\n  unknown: \"unknown\",\n  forms: \"forms\",\n  javaScript: \"javaScript\",\n  smask: \"smask\",\n  shadingPattern: \"shadingPattern\",\n  font: \"font\",\n  errorTilingPattern: \"errorTilingPattern\",\n  errorExtGState: \"errorExtGState\",\n  errorXObject: \"errorXObject\",\n  errorFontLoadType3: \"errorFontLoadType3\",\n  errorFontState: \"errorFontState\",\n  errorFontMissing: \"errorFontMissing\",\n  errorFontTranslate: \"errorFontTranslate\",\n  errorColorSpace: \"errorColorSpace\",\n  errorOperatorList: \"errorOperatorList\",\n  errorFontToUnicode: \"errorFontToUnicode\",\n  errorFontLoadNative: \"errorFontLoadNative\",\n  errorFontGetPath: \"errorFontGetPath\"\n};\nexports.UNSUPPORTED_FEATURES = UNSUPPORTED_FEATURES;\nvar PasswordResponses = {\n  NEED_PASSWORD: 1,\n  INCORRECT_PASSWORD: 2\n};\nexports.PasswordResponses = PasswordResponses;\nvar verbosity = VerbosityLevel.WARNINGS;\n\nfunction setVerbosityLevel(level) {\n  if (Number.isInteger(level)) {\n    verbosity = level;\n  }\n}\n\nfunction getVerbosityLevel() {\n  return verbosity;\n}\n\nfunction info(msg) {\n  if (verbosity >= VerbosityLevel.INFOS) {\n    console.log(\"Info: \".concat(msg));\n  }\n}\n\nfunction warn(msg) {\n  if (verbosity >= VerbosityLevel.WARNINGS) {\n    console.log(\"Warning: \".concat(msg));\n  }\n}\n\nfunction unreachable(msg) {\n  throw new Error(msg);\n}\n\nfunction assert(cond, msg) {\n  if (!cond) {\n    unreachable(msg);\n  }\n}\n\nfunction isSameOrigin(baseUrl, otherUrl) {\n  var base;\n\n  try {\n    base = new URL(baseUrl);\n\n    if (!base.origin || base.origin === \"null\") {\n      return false;\n    }\n  } catch (e) {\n    return false;\n  }\n\n  var other = new URL(otherUrl, base);\n  return base.origin === other.origin;\n}\n\nfunction _isValidProtocol(url) {\n  if (!url) {\n    return false;\n  }\n\n  switch (url.protocol) {\n    case \"http:\":\n    case \"https:\":\n    case \"ftp:\":\n    case \"mailto:\":\n    case \"tel:\":\n      return true;\n\n    default:\n      return false;\n  }\n}\n\nfunction createValidAbsoluteUrl(url, baseUrl) {\n  if (!url) {\n    return null;\n  }\n\n  try {\n    var absoluteUrl = baseUrl ? new URL(url, baseUrl) : new URL(url);\n\n    if (_isValidProtocol(absoluteUrl)) {\n      return absoluteUrl;\n    }\n  } catch (ex) {}\n\n  return null;\n}\n\nfunction shadow(obj, prop, value) {\n  Object.defineProperty(obj, prop, {\n    value: value,\n    enumerable: true,\n    configurable: true,\n    writable: false\n  });\n  return value;\n}\n\nvar BaseException = function BaseExceptionClosure() {\n  function BaseException(message) {\n    if (this.constructor === BaseException) {\n      unreachable(\"Cannot initialize BaseException.\");\n    }\n\n    this.message = message;\n    this.name = this.constructor.name;\n  }\n\n  BaseException.prototype = new Error();\n  BaseException.constructor = BaseException;\n  return BaseException;\n}();\n\nexports.BaseException = BaseException;\n\nvar PasswordException = /*#__PURE__*/function (_BaseException) {\n  _inherits(PasswordException, _BaseException);\n\n  var _super = _createSuper(PasswordException);\n\n  function PasswordException(msg, code) {\n    var _this;\n\n    _classCallCheck(this, PasswordException);\n\n    _this = _super.call(this, msg);\n    _this.code = code;\n    return _this;\n  }\n\n  return PasswordException;\n}(BaseException);\n\nexports.PasswordException = PasswordException;\n\nvar UnknownErrorException = /*#__PURE__*/function (_BaseException2) {\n  _inherits(UnknownErrorException, _BaseException2);\n\n  var _super2 = _createSuper(UnknownErrorException);\n\n  function UnknownErrorException(msg, details) {\n    var _this2;\n\n    _classCallCheck(this, UnknownErrorException);\n\n    _this2 = _super2.call(this, msg);\n    _this2.details = details;\n    return _this2;\n  }\n\n  return UnknownErrorException;\n}(BaseException);\n\nexports.UnknownErrorException = UnknownErrorException;\n\nvar InvalidPDFException = /*#__PURE__*/function (_BaseException3) {\n  _inherits(InvalidPDFException, _BaseException3);\n\n  var _super3 = _createSuper(InvalidPDFException);\n\n  function InvalidPDFException() {\n    _classCallCheck(this, InvalidPDFException);\n\n    return _super3.apply(this, arguments);\n  }\n\n  return InvalidPDFException;\n}(BaseException);\n\nexports.InvalidPDFException = InvalidPDFException;\n\nvar MissingPDFException = /*#__PURE__*/function (_BaseException4) {\n  _inherits(MissingPDFException, _BaseException4);\n\n  var _super4 = _createSuper(MissingPDFException);\n\n  function MissingPDFException() {\n    _classCallCheck(this, MissingPDFException);\n\n    return _super4.apply(this, arguments);\n  }\n\n  return MissingPDFException;\n}(BaseException);\n\nexports.MissingPDFException = MissingPDFException;\n\nvar UnexpectedResponseException = /*#__PURE__*/function (_BaseException5) {\n  _inherits(UnexpectedResponseException, _BaseException5);\n\n  var _super5 = _createSuper(UnexpectedResponseException);\n\n  function UnexpectedResponseException(msg, status) {\n    var _this3;\n\n    _classCallCheck(this, UnexpectedResponseException);\n\n    _this3 = _super5.call(this, msg);\n    _this3.status = status;\n    return _this3;\n  }\n\n  return UnexpectedResponseException;\n}(BaseException);\n\nexports.UnexpectedResponseException = UnexpectedResponseException;\n\nvar FormatError = /*#__PURE__*/function (_BaseException6) {\n  _inherits(FormatError, _BaseException6);\n\n  var _super6 = _createSuper(FormatError);\n\n  function FormatError() {\n    _classCallCheck(this, FormatError);\n\n    return _super6.apply(this, arguments);\n  }\n\n  return FormatError;\n}(BaseException);\n\nexports.FormatError = FormatError;\n\nvar AbortException = /*#__PURE__*/function (_BaseException7) {\n  _inherits(AbortException, _BaseException7);\n\n  var _super7 = _createSuper(AbortException);\n\n  function AbortException() {\n    _classCallCheck(this, AbortException);\n\n    return _super7.apply(this, arguments);\n  }\n\n  return AbortException;\n}(BaseException);\n\nexports.AbortException = AbortException;\nvar NullCharactersRegExp = /\\x00/g;\n\nfunction removeNullCharacters(str) {\n  if (typeof str !== \"string\") {\n    warn(\"The argument for removeNullCharacters must be a string.\");\n    return str;\n  }\n\n  return str.replace(NullCharactersRegExp, \"\");\n}\n\nfunction bytesToString(bytes) {\n  assert(bytes !== null && _typeof(bytes) === \"object\" && bytes.length !== undefined, \"Invalid argument for bytesToString\");\n  var length = bytes.length;\n  var MAX_ARGUMENT_COUNT = 8192;\n\n  if (length < MAX_ARGUMENT_COUNT) {\n    return String.fromCharCode.apply(null, bytes);\n  }\n\n  var strBuf = [];\n\n  for (var i = 0; i < length; i += MAX_ARGUMENT_COUNT) {\n    var chunkEnd = Math.min(i + MAX_ARGUMENT_COUNT, length);\n    var chunk = bytes.subarray(i, chunkEnd);\n    strBuf.push(String.fromCharCode.apply(null, chunk));\n  }\n\n  return strBuf.join(\"\");\n}\n\nfunction stringToBytes(str) {\n  assert(typeof str === \"string\", \"Invalid argument for stringToBytes\");\n  var length = str.length;\n  var bytes = new Uint8Array(length);\n\n  for (var i = 0; i < length; ++i) {\n    bytes[i] = str.charCodeAt(i) & 0xff;\n  }\n\n  return bytes;\n}\n\nfunction arrayByteLength(arr) {\n  if (arr.length !== undefined) {\n    return arr.length;\n  }\n\n  assert(arr.byteLength !== undefined, \"arrayByteLength - invalid argument.\");\n  return arr.byteLength;\n}\n\nfunction arraysToBytes(arr) {\n  var length = arr.length;\n\n  if (length === 1 && arr[0] instanceof Uint8Array) {\n    return arr[0];\n  }\n\n  var resultLength = 0;\n\n  for (var i = 0; i < length; i++) {\n    resultLength += arrayByteLength(arr[i]);\n  }\n\n  var pos = 0;\n  var data = new Uint8Array(resultLength);\n\n  for (var _i = 0; _i < length; _i++) {\n    var item = arr[_i];\n\n    if (!(item instanceof Uint8Array)) {\n      if (typeof item === \"string\") {\n        item = stringToBytes(item);\n      } else {\n        item = new Uint8Array(item);\n      }\n    }\n\n    var itemLength = item.byteLength;\n    data.set(item, pos);\n    pos += itemLength;\n  }\n\n  return data;\n}\n\nfunction string32(value) {\n  return String.fromCharCode(value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff);\n}\n\nfunction isLittleEndian() {\n  var buffer8 = new Uint8Array(4);\n  buffer8[0] = 1;\n  var view32 = new Uint32Array(buffer8.buffer, 0, 1);\n  return view32[0] === 1;\n}\n\nvar IsLittleEndianCached = {\n  get value() {\n    return shadow(this, \"value\", isLittleEndian());\n  }\n\n};\nexports.IsLittleEndianCached = IsLittleEndianCached;\n\nfunction isEvalSupported() {\n  try {\n    new Function(\"\");\n    return true;\n  } catch (e) {\n    return false;\n  }\n}\n\nvar IsEvalSupportedCached = {\n  get value() {\n    return shadow(this, \"value\", isEvalSupported());\n  }\n\n};\nexports.IsEvalSupportedCached = IsEvalSupportedCached;\nvar rgbBuf = [\"rgb(\", 0, \",\", 0, \",\", 0, \")\"];\n\nvar Util = /*#__PURE__*/function () {\n  function Util() {\n    _classCallCheck(this, Util);\n  }\n\n  _createClass(Util, null, [{\n    key: \"makeCssRgb\",\n    value: function makeCssRgb(r, g, b) {\n      rgbBuf[1] = r;\n      rgbBuf[3] = g;\n      rgbBuf[5] = b;\n      return rgbBuf.join(\"\");\n    }\n  }, {\n    key: \"transform\",\n    value: function transform(m1, m2) {\n      return [m1[0] * m2[0] + m1[2] * m2[1], m1[1] * m2[0] + m1[3] * m2[1], m1[0] * m2[2] + m1[2] * m2[3], m1[1] * m2[2] + m1[3] * m2[3], m1[0] * m2[4] + m1[2] * m2[5] + m1[4], m1[1] * m2[4] + m1[3] * m2[5] + m1[5]];\n    }\n  }, {\n    key: \"applyTransform\",\n    value: function applyTransform(p, m) {\n      var xt = p[0] * m[0] + p[1] * m[2] + m[4];\n      var yt = p[0] * m[1] + p[1] * m[3] + m[5];\n      return [xt, yt];\n    }\n  }, {\n    key: \"applyInverseTransform\",\n    value: function applyInverseTransform(p, m) {\n      var d = m[0] * m[3] - m[1] * m[2];\n      var xt = (p[0] * m[3] - p[1] * m[2] + m[2] * m[5] - m[4] * m[3]) / d;\n      var yt = (-p[0] * m[1] + p[1] * m[0] + m[4] * m[1] - m[5] * m[0]) / d;\n      return [xt, yt];\n    }\n  }, {\n    key: \"getAxialAlignedBoundingBox\",\n    value: function getAxialAlignedBoundingBox(r, m) {\n      var p1 = Util.applyTransform(r, m);\n      var p2 = Util.applyTransform(r.slice(2, 4), m);\n      var p3 = Util.applyTransform([r[0], r[3]], m);\n      var p4 = Util.applyTransform([r[2], r[1]], m);\n      return [Math.min(p1[0], p2[0], p3[0], p4[0]), Math.min(p1[1], p2[1], p3[1], p4[1]), Math.max(p1[0], p2[0], p3[0], p4[0]), Math.max(p1[1], p2[1], p3[1], p4[1])];\n    }\n  }, {\n    key: \"inverseTransform\",\n    value: function inverseTransform(m) {\n      var d = m[0] * m[3] - m[1] * m[2];\n      return [m[3] / d, -m[1] / d, -m[2] / d, m[0] / d, (m[2] * m[5] - m[4] * m[3]) / d, (m[4] * m[1] - m[5] * m[0]) / d];\n    }\n  }, {\n    key: \"apply3dTransform\",\n    value: function apply3dTransform(m, v) {\n      return [m[0] * v[0] + m[1] * v[1] + m[2] * v[2], m[3] * v[0] + m[4] * v[1] + m[5] * v[2], m[6] * v[0] + m[7] * v[1] + m[8] * v[2]];\n    }\n  }, {\n    key: \"singularValueDecompose2dScale\",\n    value: function singularValueDecompose2dScale(m) {\n      var transpose = [m[0], m[2], m[1], m[3]];\n      var a = m[0] * transpose[0] + m[1] * transpose[2];\n      var b = m[0] * transpose[1] + m[1] * transpose[3];\n      var c = m[2] * transpose[0] + m[3] * transpose[2];\n      var d = m[2] * transpose[1] + m[3] * transpose[3];\n      var first = (a + d) / 2;\n      var second = Math.sqrt((a + d) * (a + d) - 4 * (a * d - c * b)) / 2;\n      var sx = first + second || 1;\n      var sy = first - second || 1;\n      return [Math.sqrt(sx), Math.sqrt(sy)];\n    }\n  }, {\n    key: \"normalizeRect\",\n    value: function normalizeRect(rect) {\n      var r = rect.slice(0);\n\n      if (rect[0] > rect[2]) {\n        r[0] = rect[2];\n        r[2] = rect[0];\n      }\n\n      if (rect[1] > rect[3]) {\n        r[1] = rect[3];\n        r[3] = rect[1];\n      }\n\n      return r;\n    }\n  }, {\n    key: \"intersect\",\n    value: function intersect(rect1, rect2) {\n      function compare(a, b) {\n        return a - b;\n      }\n\n      var orderedX = [rect1[0], rect1[2], rect2[0], rect2[2]].sort(compare);\n      var orderedY = [rect1[1], rect1[3], rect2[1], rect2[3]].sort(compare);\n      var result = [];\n      rect1 = Util.normalizeRect(rect1);\n      rect2 = Util.normalizeRect(rect2);\n\n      if (orderedX[0] === rect1[0] && orderedX[1] === rect2[0] || orderedX[0] === rect2[0] && orderedX[1] === rect1[0]) {\n        result[0] = orderedX[1];\n        result[2] = orderedX[2];\n      } else {\n        return null;\n      }\n\n      if (orderedY[0] === rect1[1] && orderedY[1] === rect2[1] || orderedY[0] === rect2[1] && orderedY[1] === rect1[1]) {\n        result[1] = orderedY[1];\n        result[3] = orderedY[2];\n      } else {\n        return null;\n      }\n\n      return result;\n    }\n  }]);\n\n  return Util;\n}();\n\nexports.Util = Util;\nvar PDFStringTranslateTable = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2D8, 0x2C7, 0x2C6, 0x2D9, 0x2DD, 0x2DB, 0x2DA, 0x2DC, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2022, 0x2020, 0x2021, 0x2026, 0x2014, 0x2013, 0x192, 0x2044, 0x2039, 0x203A, 0x2212, 0x2030, 0x201E, 0x201C, 0x201D, 0x2018, 0x2019, 0x201A, 0x2122, 0xFB01, 0xFB02, 0x141, 0x152, 0x160, 0x178, 0x17D, 0x131, 0x142, 0x153, 0x161, 0x17E, 0, 0x20AC];\n\nfunction stringToPDFString(str) {\n  var length = str.length,\n      strBuf = [];\n\n  if (str[0] === \"\\xFE\" && str[1] === \"\\xFF\") {\n    for (var i = 2; i < length; i += 2) {\n      strBuf.push(String.fromCharCode(str.charCodeAt(i) << 8 | str.charCodeAt(i + 1)));\n    }\n  } else if (str[0] === \"\\xFF\" && str[1] === \"\\xFE\") {\n    for (var _i2 = 2; _i2 < length; _i2 += 2) {\n      strBuf.push(String.fromCharCode(str.charCodeAt(_i2 + 1) << 8 | str.charCodeAt(_i2)));\n    }\n  } else {\n    for (var _i3 = 0; _i3 < length; ++_i3) {\n      var code = PDFStringTranslateTable[str.charCodeAt(_i3)];\n      strBuf.push(code ? String.fromCharCode(code) : str.charAt(_i3));\n    }\n  }\n\n  return strBuf.join(\"\");\n}\n\nfunction stringToUTF8String(str) {\n  return decodeURIComponent(escape(str));\n}\n\nfunction utf8StringToString(str) {\n  return unescape(encodeURIComponent(str));\n}\n\nfunction isEmptyObj(obj) {\n  for (var key in obj) {\n    return false;\n  }\n\n  return true;\n}\n\nfunction isBool(v) {\n  return typeof v === \"boolean\";\n}\n\nfunction isNum(v) {\n  return typeof v === \"number\";\n}\n\nfunction isString(v) {\n  return typeof v === \"string\";\n}\n\nfunction isArrayBuffer(v) {\n  return _typeof(v) === \"object\" && v !== null && v.byteLength !== undefined;\n}\n\nfunction isArrayEqual(arr1, arr2) {\n  if (arr1.length !== arr2.length) {\n    return false;\n  }\n\n  return arr1.every(function (element, index) {\n    return element === arr2[index];\n  });\n}\n\nfunction createPromiseCapability() {\n  var capability = Object.create(null);\n  var isSettled = false;\n  Object.defineProperty(capability, \"settled\", {\n    get: function get() {\n      return isSettled;\n    }\n  });\n  capability.promise = new Promise(function (resolve, reject) {\n    capability.resolve = function (data) {\n      isSettled = true;\n      resolve(data);\n    };\n\n    capability.reject = function (reason) {\n      isSettled = true;\n      reject(reason);\n    };\n  });\n  return capability;\n}\n\nvar createObjectURL = function createObjectURLClosure() {\n  var digits = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\n  return function createObjectURL(data, contentType) {\n    var forceDataSchema = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n    if (!forceDataSchema && URL.createObjectURL) {\n      var blob = new Blob([data], {\n        type: contentType\n      });\n      return URL.createObjectURL(blob);\n    }\n\n    var buffer = \"data:\".concat(contentType, \";base64,\");\n\n    for (var i = 0, ii = data.length; i < ii; i += 3) {\n      var b1 = data[i] & 0xff;\n      var b2 = data[i + 1] & 0xff;\n      var b3 = data[i + 2] & 0xff;\n      var d1 = b1 >> 2,\n          d2 = (b1 & 3) << 4 | b2 >> 4;\n      var d3 = i + 1 < ii ? (b2 & 0xf) << 2 | b3 >> 6 : 64;\n      var d4 = i + 2 < ii ? b3 & 0x3f : 64;\n      buffer += digits[d1] + digits[d2] + digits[d3] + digits[d4];\n    }\n\n    return buffer;\n  };\n}();\n\nexports.createObjectURL = createObjectURL;\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar _is_node = __w_pdfjs_require__(7);\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nif (typeof globalThis === \"undefined\" || !globalThis._pdfjsCompatibilityChecked) {\n  if (typeof globalThis === \"undefined\" || globalThis.Math !== Math) {\n    globalThis = __w_pdfjs_require__(8);\n  }\n\n  globalThis._pdfjsCompatibilityChecked = true;\n  var hasDOM = (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) === \"object\" && (typeof document === \"undefined\" ? \"undefined\" : _typeof(document)) === \"object\";\n  var userAgent = typeof navigator !== \"undefined\" && navigator.userAgent || \"\";\n  var isIE = /Trident/.test(userAgent);\n\n  (function checkNodeBtoa() {\n    if (globalThis.btoa || !_is_node.isNodeJS) {\n      return;\n    }\n\n    globalThis.btoa = function (chars) {\n      return Buffer.from(chars, \"binary\").toString(\"base64\");\n    };\n  })();\n\n  (function checkNodeAtob() {\n    if (globalThis.atob || !_is_node.isNodeJS) {\n      return;\n    }\n\n    globalThis.atob = function (input) {\n      return Buffer.from(input, \"base64\").toString(\"binary\");\n    };\n  })();\n\n  (function checkChildNodeRemove() {\n    if (!hasDOM) {\n      return;\n    }\n\n    if (typeof Element.prototype.remove !== \"undefined\") {\n      return;\n    }\n\n    Element.prototype.remove = function () {\n      if (this.parentNode) {\n        this.parentNode.removeChild(this);\n      }\n    };\n  })();\n\n  (function checkDOMTokenListAddRemove() {\n    if (!hasDOM || _is_node.isNodeJS) {\n      return;\n    }\n\n    var div = document.createElement(\"div\");\n    div.classList.add(\"testOne\", \"testTwo\");\n\n    if (div.classList.contains(\"testOne\") === true && div.classList.contains(\"testTwo\") === true) {\n      return;\n    }\n\n    var OriginalDOMTokenListAdd = DOMTokenList.prototype.add;\n    var OriginalDOMTokenListRemove = DOMTokenList.prototype.remove;\n\n    DOMTokenList.prototype.add = function () {\n      for (var _len = arguments.length, tokens = new Array(_len), _key = 0; _key < _len; _key++) {\n        tokens[_key] = arguments[_key];\n      }\n\n      for (var _i = 0, _tokens = tokens; _i < _tokens.length; _i++) {\n        var token = _tokens[_i];\n        OriginalDOMTokenListAdd.call(this, token);\n      }\n    };\n\n    DOMTokenList.prototype.remove = function () {\n      for (var _len2 = arguments.length, tokens = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n        tokens[_key2] = arguments[_key2];\n      }\n\n      for (var _i2 = 0, _tokens2 = tokens; _i2 < _tokens2.length; _i2++) {\n        var token = _tokens2[_i2];\n        OriginalDOMTokenListRemove.call(this, token);\n      }\n    };\n  })();\n\n  (function checkDOMTokenListToggle() {\n    if (!hasDOM || _is_node.isNodeJS) {\n      return;\n    }\n\n    var div = document.createElement(\"div\");\n\n    if (div.classList.toggle(\"test\", 0) === false) {\n      return;\n    }\n\n    DOMTokenList.prototype.toggle = function (token) {\n      var force = arguments.length > 1 ? !!arguments[1] : !this.contains(token);\n      return this[force ? \"add\" : \"remove\"](token), force;\n    };\n  })();\n\n  (function checkWindowHistoryPushStateReplaceState() {\n    if (!hasDOM || !isIE) {\n      return;\n    }\n\n    var OriginalPushState = window.history.pushState;\n    var OriginalReplaceState = window.history.replaceState;\n\n    window.history.pushState = function (state, title, url) {\n      var args = url === undefined ? [state, title] : [state, title, url];\n      OriginalPushState.apply(this, args);\n    };\n\n    window.history.replaceState = function (state, title, url) {\n      var args = url === undefined ? [state, title] : [state, title, url];\n      OriginalReplaceState.apply(this, args);\n    };\n  })();\n\n  (function checkStringStartsWith() {\n    if (String.prototype.startsWith) {\n      return;\n    }\n\n    __w_pdfjs_require__(53);\n  })();\n\n  (function checkStringEndsWith() {\n    if (String.prototype.endsWith) {\n      return;\n    }\n\n    __w_pdfjs_require__(64);\n  })();\n\n  (function checkStringIncludes() {\n    if (String.prototype.includes) {\n      return;\n    }\n\n    __w_pdfjs_require__(66);\n  })();\n\n  (function checkArrayIncludes() {\n    if (Array.prototype.includes) {\n      return;\n    }\n\n    __w_pdfjs_require__(68);\n  })();\n\n  (function checkArrayFrom() {\n    if (Array.from) {\n      return;\n    }\n\n    __w_pdfjs_require__(76);\n  })();\n\n  (function checkObjectAssign() {\n    if (Object.assign) {\n      return;\n    }\n\n    __w_pdfjs_require__(98);\n  })();\n\n  (function checkMathLog2() {\n    if (Math.log2) {\n      return;\n    }\n\n    Math.log2 = __w_pdfjs_require__(101);\n  })();\n\n  (function checkNumberIsNaN() {\n    if (Number.isNaN) {\n      return;\n    }\n\n    Number.isNaN = __w_pdfjs_require__(103);\n  })();\n\n  (function checkNumberIsInteger() {\n    if (Number.isInteger) {\n      return;\n    }\n\n    Number.isInteger = __w_pdfjs_require__(105);\n  })();\n\n  (function checkTypedArraySlice() {\n    if (Uint8Array.prototype.slice) {\n      return;\n    }\n\n    __w_pdfjs_require__(108);\n  })();\n\n  (function checkPromise() {\n    if (globalThis.Promise && globalThis.Promise.allSettled) {\n      return;\n    }\n\n    globalThis.Promise = __w_pdfjs_require__(113);\n  })();\n\n  (function checkURL() {\n    globalThis.URL = __w_pdfjs_require__(136);\n  })();\n\n  (function checkReadableStream() {\n    var isReadableStreamSupported = false;\n\n    if (typeof ReadableStream !== \"undefined\") {\n      try {\n        new ReadableStream({\n          start: function start(controller) {\n            controller.close();\n          }\n        });\n        isReadableStreamSupported = true;\n      } catch (e) {}\n    }\n\n    if (isReadableStreamSupported) {\n      return;\n    }\n\n    globalThis.ReadableStream = __w_pdfjs_require__(143).ReadableStream;\n  })();\n\n  (function checkMapEntries() {\n    if (globalThis.Map && globalThis.Map.prototype.entries) {\n      return;\n    }\n\n    globalThis.Map = __w_pdfjs_require__(144);\n  })();\n\n  (function checkSetEntries() {\n    if (globalThis.Set && globalThis.Set.prototype.entries) {\n      return;\n    }\n\n    globalThis.Set = __w_pdfjs_require__(151);\n  })();\n\n  (function checkWeakMap() {\n    if (globalThis.WeakMap) {\n      return;\n    }\n\n    globalThis.WeakMap = __w_pdfjs_require__(153);\n  })();\n\n  (function checkWeakSet() {\n    if (globalThis.WeakSet) {\n      return;\n    }\n\n    globalThis.WeakSet = __w_pdfjs_require__(159);\n  })();\n\n  (function checkStringCodePointAt() {\n    if (String.prototype.codePointAt) {\n      return;\n    }\n\n    __w_pdfjs_require__(161);\n  })();\n\n  (function checkStringFromCodePoint() {\n    if (String.fromCodePoint) {\n      return;\n    }\n\n    String.fromCodePoint = __w_pdfjs_require__(163);\n  })();\n\n  (function checkSymbol() {\n    if (globalThis.Symbol) {\n      return;\n    }\n\n    __w_pdfjs_require__(165);\n  })();\n\n  (function checkStringPadStart() {\n    if (String.prototype.padStart) {\n      return;\n    }\n\n    __w_pdfjs_require__(188);\n  })();\n\n  (function checkStringPadEnd() {\n    if (String.prototype.padEnd) {\n      return;\n    }\n\n    __w_pdfjs_require__(193);\n  })();\n\n  (function checkObjectValues() {\n    if (Object.values) {\n      return;\n    }\n\n    Object.values = __w_pdfjs_require__(195);\n  })();\n}\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.isNodeJS = void 0;\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar isNodeJS = (typeof process === \"undefined\" ? \"undefined\" : _typeof(process)) === \"object\" && process + \"\" === \"[object process]\" && !process.versions.nw && !process.versions.electron;\nexports.isNodeJS = isNodeJS;\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(9);\nmodule.exports = __w_pdfjs_require__(11);\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\nvar global = __w_pdfjs_require__(11);\n$({ global: true }, { globalThis: global });\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar getOwnPropertyDescriptor = __w_pdfjs_require__(12).f;\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nvar redefine = __w_pdfjs_require__(29);\nvar setGlobal = __w_pdfjs_require__(30);\nvar copyConstructorProperties = __w_pdfjs_require__(40);\nvar isForced = __w_pdfjs_require__(52);\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n  target = global;\n } else if (STATIC) {\n  target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n  target = (global[TARGET] || {}).prototype;\n }\n if (target)\n  for (key in source) {\n   sourceProperty = source[key];\n   if (options.noTargetGet) {\n    descriptor = getOwnPropertyDescriptor(target, key);\n    targetProperty = descriptor && descriptor.value;\n   } else\n    targetProperty = target[key];\n   FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n   if (!FORCED && targetProperty !== undefined) {\n    if (typeof sourceProperty === typeof targetProperty)\n     continue;\n    copyConstructorProperties(sourceProperty, targetProperty);\n   }\n   if (options.sham || targetProperty && targetProperty.sham) {\n    createNonEnumerableProperty(sourceProperty, 'sham', true);\n   }\n   redefine(target, key, sourceProperty, options);\n  }\n};\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports) {\n\nvar check = function (it) {\n return it && it.Math == Math && it;\n};\nmodule.exports = check(typeof globalThis == 'object' && globalThis) || check(typeof window == 'object' && window) || check(typeof self == 'object' && self) || check(typeof global == 'object' && global) || Function('return this')();\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar propertyIsEnumerableModule = __w_pdfjs_require__(15);\nvar createPropertyDescriptor = __w_pdfjs_require__(16);\nvar toIndexedObject = __w_pdfjs_require__(17);\nvar toPrimitive = __w_pdfjs_require__(21);\nvar has = __w_pdfjs_require__(23);\nvar IE8_DOM_DEFINE = __w_pdfjs_require__(24);\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE)\n  try {\n   return nativeGetOwnPropertyDescriptor(O, P);\n  } catch (error) {\n  }\n if (has(O, P))\n  return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(14);\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 1, {\n  get: function () {\n   return 7;\n  }\n })[1] != 7;\n});\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n try {\n  return !!exec();\n } catch (error) {\n  return true;\n }\n};\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar nativePropertyIsEnumerable = {}.propertyIsEnumerable;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : nativePropertyIsEnumerable;\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (bitmap, value) {\n return {\n  enumerable: !(bitmap & 1),\n  configurable: !(bitmap & 2),\n  writable: !(bitmap & 4),\n  value: value\n };\n};\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar IndexedObject = __w_pdfjs_require__(18);\nvar requireObjectCoercible = __w_pdfjs_require__(20);\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(14);\nvar classof = __w_pdfjs_require__(19);\nvar split = ''.split;\nmodule.exports = fails(function () {\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports) {\n\nvar toString = {}.toString;\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n if (it == undefined)\n  throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(22);\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input))\n  return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input)))\n  return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input)))\n  return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input)))\n  return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports) {\n\nvar hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar fails = __w_pdfjs_require__(14);\nvar createElement = __w_pdfjs_require__(25);\nmodule.exports = !DESCRIPTORS && !fails(function () {\n return Object.defineProperty(createElement('div'), 'a', {\n  get: function () {\n   return 7;\n  }\n }).a != 7;\n});\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar isObject = __w_pdfjs_require__(22);\nvar document = global.document;\nvar EXISTS = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar definePropertyModule = __w_pdfjs_require__(27);\nvar createPropertyDescriptor = __w_pdfjs_require__(16);\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar IE8_DOM_DEFINE = __w_pdfjs_require__(24);\nvar anObject = __w_pdfjs_require__(28);\nvar toPrimitive = __w_pdfjs_require__(21);\nvar nativeDefineProperty = Object.defineProperty;\nexports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE)\n  try {\n   return nativeDefineProperty(O, P, Attributes);\n  } catch (error) {\n  }\n if ('get' in Attributes || 'set' in Attributes)\n  throw TypeError('Accessors not supported');\n if ('value' in Attributes)\n  O[P] = Attributes.value;\n return O;\n};\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(22);\nmodule.exports = function (it) {\n if (!isObject(it)) {\n  throw TypeError(String(it) + ' is not an object');\n }\n return it;\n};\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nvar has = __w_pdfjs_require__(23);\nvar setGlobal = __w_pdfjs_require__(30);\nvar inspectSource = __w_pdfjs_require__(31);\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n if (typeof value == 'function') {\n  if (typeof key == 'string' && !has(value, 'name'))\n   createNonEnumerableProperty(value, 'name', key);\n  enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n if (O === global) {\n  if (simple)\n   O[key] = value;\n  else\n   setGlobal(key, value);\n  return;\n } else if (!unsafe) {\n  delete O[key];\n } else if (!noTargetGet && O[key]) {\n  simple = true;\n }\n if (simple)\n  O[key] = value;\n else\n  createNonEnumerableProperty(O, key, value);\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nmodule.exports = function (key, value) {\n try {\n  createNonEnumerableProperty(global, key, value);\n } catch (error) {\n  global[key] = value;\n }\n return value;\n};\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar store = __w_pdfjs_require__(32);\nvar functionToString = Function.toString;\nif (typeof store.inspectSource != 'function') {\n store.inspectSource = function (it) {\n  return functionToString.call(it);\n };\n}\nmodule.exports = store.inspectSource;\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar setGlobal = __w_pdfjs_require__(30);\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\nmodule.exports = store;\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar NATIVE_WEAK_MAP = __w_pdfjs_require__(34);\nvar global = __w_pdfjs_require__(11);\nvar isObject = __w_pdfjs_require__(22);\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nvar objectHas = __w_pdfjs_require__(23);\nvar sharedKey = __w_pdfjs_require__(35);\nvar hiddenKeys = __w_pdfjs_require__(39);\nvar WeakMap = global.WeakMap;\nvar set, get, has;\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\nvar getterFor = function (TYPE) {\n return function (it) {\n  var state;\n  if (!isObject(it) || (state = get(it)).type !== TYPE) {\n   throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n  }\n  return state;\n };\n};\nif (NATIVE_WEAK_MAP) {\n var store = new WeakMap();\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n  wmset.call(store, it, metadata);\n  return metadata;\n };\n get = function (it) {\n  return wmget.call(store, it) || {};\n };\n has = function (it) {\n  return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n  createNonEnumerableProperty(it, STATE, metadata);\n  return metadata;\n };\n get = function (it) {\n  return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n  return objectHas(it, STATE);\n };\n}\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar inspectSource = __w_pdfjs_require__(31);\nvar WeakMap = global.WeakMap;\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar shared = __w_pdfjs_require__(36);\nvar uid = __w_pdfjs_require__(38);\nvar keys = shared('keys');\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar IS_PURE = __w_pdfjs_require__(37);\nvar store = __w_pdfjs_require__(32);\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.6.5',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2020 Denis Pushkarev (zloirock.ru)'\n});\n\n/***/ }),\n/* 37 */\n/***/ (function(module, exports) {\n\nmodule.exports = false;\n\n/***/ }),\n/* 38 */\n/***/ (function(module, exports) {\n\nvar id = 0;\nvar postfix = Math.random();\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n\n/***/ }),\n/* 39 */\n/***/ (function(module, exports) {\n\nmodule.exports = {};\n\n/***/ }),\n/* 40 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar has = __w_pdfjs_require__(23);\nvar ownKeys = __w_pdfjs_require__(41);\nvar getOwnPropertyDescriptorModule = __w_pdfjs_require__(12);\nvar definePropertyModule = __w_pdfjs_require__(27);\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n  var key = keys[i];\n  if (!has(target, key))\n   defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n\n/***/ }),\n/* 41 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar getBuiltIn = __w_pdfjs_require__(42);\nvar getOwnPropertyNamesModule = __w_pdfjs_require__(44);\nvar getOwnPropertySymbolsModule = __w_pdfjs_require__(51);\nvar anObject = __w_pdfjs_require__(28);\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n\n/***/ }),\n/* 42 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar path = __w_pdfjs_require__(43);\nvar global = __w_pdfjs_require__(11);\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace]) : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n\n/***/ }),\n/* 43 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nmodule.exports = global;\n\n/***/ }),\n/* 44 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar internalObjectKeys = __w_pdfjs_require__(45);\nvar enumBugKeys = __w_pdfjs_require__(50);\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n\n/***/ }),\n/* 45 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar has = __w_pdfjs_require__(23);\nvar toIndexedObject = __w_pdfjs_require__(17);\nvar indexOf = __w_pdfjs_require__(46).indexOf;\nvar hiddenKeys = __w_pdfjs_require__(39);\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O)\n  !has(hiddenKeys, key) && has(O, key) && result.push(key);\n while (names.length > i)\n  if (has(O, key = names[i++])) {\n   ~indexOf(result, key) || result.push(key);\n  }\n return result;\n};\n\n/***/ }),\n/* 46 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toIndexedObject = __w_pdfjs_require__(17);\nvar toLength = __w_pdfjs_require__(47);\nvar toAbsoluteIndex = __w_pdfjs_require__(49);\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n  var O = toIndexedObject($this);\n  var length = toLength(O.length);\n  var index = toAbsoluteIndex(fromIndex, length);\n  var value;\n  if (IS_INCLUDES && el != el)\n   while (length > index) {\n    value = O[index++];\n    if (value != value)\n     return true;\n   }\n  else\n   for (; length > index; index++) {\n    if ((IS_INCLUDES || index in O) && O[index] === el)\n     return IS_INCLUDES || index || 0;\n   }\n  return !IS_INCLUDES && -1;\n };\n};\nmodule.exports = {\n includes: createMethod(true),\n indexOf: createMethod(false)\n};\n\n/***/ }),\n/* 47 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toInteger = __w_pdfjs_require__(48);\nvar min = Math.min;\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0;\n};\n\n/***/ }),\n/* 48 */\n/***/ (function(module, exports) {\n\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n\n/***/ }),\n/* 49 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toInteger = __w_pdfjs_require__(48);\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n\n/***/ }),\n/* 50 */\n/***/ (function(module, exports) {\n\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n\n/***/ }),\n/* 51 */\n/***/ (function(module, exports) {\n\nexports.f = Object.getOwnPropertySymbols;\n\n/***/ }),\n/* 52 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(14);\nvar replacement = /#|\\.prototype\\./;\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true : value == NATIVE ? false : typeof detection == 'function' ? fails(detection) : !!detection;\n};\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\nmodule.exports = isForced;\n\n/***/ }),\n/* 53 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(54);\nvar entryUnbind = __w_pdfjs_require__(61);\nmodule.exports = entryUnbind('String', 'startsWith');\n\n/***/ }),\n/* 54 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar getOwnPropertyDescriptor = __w_pdfjs_require__(12).f;\nvar toLength = __w_pdfjs_require__(47);\nvar notARegExp = __w_pdfjs_require__(55);\nvar requireObjectCoercible = __w_pdfjs_require__(20);\nvar correctIsRegExpLogic = __w_pdfjs_require__(60);\nvar IS_PURE = __w_pdfjs_require__(37);\nvar nativeStartsWith = ''.startsWith;\nvar min = Math.min;\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith');\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith');\n return descriptor && !descriptor.writable;\n}();\n$({\n target: 'String',\n proto: true,\n forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC\n}, {\n startsWith: function startsWith(searchString) {\n  var that = String(requireObjectCoercible(this));\n  notARegExp(searchString);\n  var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n  var search = String(searchString);\n  return nativeStartsWith ? nativeStartsWith.call(that, search, index) : that.slice(index, index + search.length) === search;\n }\n});\n\n/***/ }),\n/* 55 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isRegExp = __w_pdfjs_require__(56);\nmodule.exports = function (it) {\n if (isRegExp(it)) {\n  throw TypeError(\"The method doesn't accept regular expressions\");\n }\n return it;\n};\n\n/***/ }),\n/* 56 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(22);\nvar classof = __w_pdfjs_require__(19);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar MATCH = wellKnownSymbol('match');\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');\n};\n\n/***/ }),\n/* 57 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar shared = __w_pdfjs_require__(36);\nvar has = __w_pdfjs_require__(23);\nvar uid = __w_pdfjs_require__(38);\nvar NATIVE_SYMBOL = __w_pdfjs_require__(58);\nvar USE_SYMBOL_AS_UID = __w_pdfjs_require__(59);\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\nmodule.exports = function (name) {\n if (!has(WellKnownSymbolsStore, name)) {\n  if (NATIVE_SYMBOL && has(Symbol, name))\n   WellKnownSymbolsStore[name] = Symbol[name];\n  else\n   WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\n }\n return WellKnownSymbolsStore[name];\n};\n\n/***/ }),\n/* 58 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(14);\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n return !String(Symbol());\n});\n\n/***/ }),\n/* 59 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar NATIVE_SYMBOL = __w_pdfjs_require__(58);\nmodule.exports = NATIVE_SYMBOL && !Symbol.sham && typeof Symbol.iterator == 'symbol';\n\n/***/ }),\n/* 60 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar MATCH = wellKnownSymbol('match');\nmodule.exports = function (METHOD_NAME) {\n var regexp = /./;\n try {\n  '/./'[METHOD_NAME](regexp);\n } catch (e) {\n  try {\n   regexp[MATCH] = false;\n   return '/./'[METHOD_NAME](regexp);\n  } catch (f) {\n  }\n }\n return false;\n};\n\n/***/ }),\n/* 61 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar bind = __w_pdfjs_require__(62);\nvar call = Function.call;\nmodule.exports = function (CONSTRUCTOR, METHOD, length) {\n return bind(call, global[CONSTRUCTOR].prototype[METHOD], length);\n};\n\n/***/ }),\n/* 62 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar aFunction = __w_pdfjs_require__(63);\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined)\n  return fn;\n switch (length) {\n case 0:\n  return function () {\n   return fn.call(that);\n  };\n case 1:\n  return function (a) {\n   return fn.call(that, a);\n  };\n case 2:\n  return function (a, b) {\n   return fn.call(that, a, b);\n  };\n case 3:\n  return function (a, b, c) {\n   return fn.call(that, a, b, c);\n  };\n }\n return function () {\n  return fn.apply(that, arguments);\n };\n};\n\n/***/ }),\n/* 63 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n if (typeof it != 'function') {\n  throw TypeError(String(it) + ' is not a function');\n }\n return it;\n};\n\n/***/ }),\n/* 64 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(65);\nvar entryUnbind = __w_pdfjs_require__(61);\nmodule.exports = entryUnbind('String', 'endsWith');\n\n/***/ }),\n/* 65 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar getOwnPropertyDescriptor = __w_pdfjs_require__(12).f;\nvar toLength = __w_pdfjs_require__(47);\nvar notARegExp = __w_pdfjs_require__(55);\nvar requireObjectCoercible = __w_pdfjs_require__(20);\nvar correctIsRegExpLogic = __w_pdfjs_require__(60);\nvar IS_PURE = __w_pdfjs_require__(37);\nvar nativeEndsWith = ''.endsWith;\nvar min = Math.min;\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('endsWith');\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n var descriptor = getOwnPropertyDescriptor(String.prototype, 'endsWith');\n return descriptor && !descriptor.writable;\n}();\n$({\n target: 'String',\n proto: true,\n forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC\n}, {\n endsWith: function endsWith(searchString) {\n  var that = String(requireObjectCoercible(this));\n  notARegExp(searchString);\n  var endPosition = arguments.length > 1 ? arguments[1] : undefined;\n  var len = toLength(that.length);\n  var end = endPosition === undefined ? len : min(toLength(endPosition), len);\n  var search = String(searchString);\n  return nativeEndsWith ? nativeEndsWith.call(that, search, end) : that.slice(end - search.length, end) === search;\n }\n});\n\n/***/ }),\n/* 66 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(67);\nvar entryUnbind = __w_pdfjs_require__(61);\nmodule.exports = entryUnbind('String', 'includes');\n\n/***/ }),\n/* 67 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar notARegExp = __w_pdfjs_require__(55);\nvar requireObjectCoercible = __w_pdfjs_require__(20);\nvar correctIsRegExpLogic = __w_pdfjs_require__(60);\n$({\n target: 'String',\n proto: true,\n forced: !correctIsRegExpLogic('includes')\n}, {\n includes: function includes(searchString) {\n  return !!~String(requireObjectCoercible(this)).indexOf(notARegExp(searchString), arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n/***/ }),\n/* 68 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(69);\nvar entryUnbind = __w_pdfjs_require__(61);\nmodule.exports = entryUnbind('Array', 'includes');\n\n/***/ }),\n/* 69 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar $includes = __w_pdfjs_require__(46).includes;\nvar addToUnscopables = __w_pdfjs_require__(70);\nvar arrayMethodUsesToLength = __w_pdfjs_require__(75);\nvar USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', {\n ACCESSORS: true,\n 1: 0\n});\n$({\n target: 'Array',\n proto: true,\n forced: !USES_TO_LENGTH\n}, {\n includes: function includes(el) {\n  return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\naddToUnscopables('includes');\n\n/***/ }),\n/* 70 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar create = __w_pdfjs_require__(71);\nvar definePropertyModule = __w_pdfjs_require__(27);\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\n  configurable: true,\n  value: create(null)\n });\n}\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n\n/***/ }),\n/* 71 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(28);\nvar defineProperties = __w_pdfjs_require__(72);\nvar enumBugKeys = __w_pdfjs_require__(50);\nvar hiddenKeys = __w_pdfjs_require__(39);\nvar html = __w_pdfjs_require__(74);\nvar documentCreateElement = __w_pdfjs_require__(25);\nvar sharedKey = __w_pdfjs_require__(35);\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar EmptyConstructor = function () {\n};\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null;\n return temp;\n};\nvar NullProtoObjectViaIFrame = function () {\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n  activeXDocument = document.domain && new ActiveXObject('htmlfile');\n } catch (error) {\n }\n NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();\n var length = enumBugKeys.length;\n while (length--)\n  delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\nhiddenKeys[IE_PROTO] = true;\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n  EmptyConstructor[PROTOTYPE] = anObject(O);\n  result = new EmptyConstructor();\n  EmptyConstructor[PROTOTYPE] = null;\n  result[IE_PROTO] = O;\n } else\n  result = NullProtoObject();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n\n/***/ }),\n/* 72 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar definePropertyModule = __w_pdfjs_require__(27);\nvar anObject = __w_pdfjs_require__(28);\nvar objectKeys = __w_pdfjs_require__(73);\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index)\n  definePropertyModule.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n\n/***/ }),\n/* 73 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar internalObjectKeys = __w_pdfjs_require__(45);\nvar enumBugKeys = __w_pdfjs_require__(50);\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n\n/***/ }),\n/* 74 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar getBuiltIn = __w_pdfjs_require__(42);\nmodule.exports = getBuiltIn('document', 'documentElement');\n\n/***/ }),\n/* 75 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar fails = __w_pdfjs_require__(14);\nvar has = __w_pdfjs_require__(23);\nvar defineProperty = Object.defineProperty;\nvar cache = {};\nvar thrower = function (it) {\n throw it;\n};\nmodule.exports = function (METHOD_NAME, options) {\n if (has(cache, METHOD_NAME))\n  return cache[METHOD_NAME];\n if (!options)\n  options = {};\n var method = [][METHOD_NAME];\n var ACCESSORS = has(options, 'ACCESSORS') ? options.ACCESSORS : false;\n var argument0 = has(options, 0) ? options[0] : thrower;\n var argument1 = has(options, 1) ? options[1] : undefined;\n return cache[METHOD_NAME] = !!method && !fails(function () {\n  if (ACCESSORS && !DESCRIPTORS)\n   return true;\n  var O = { length: -1 };\n  if (ACCESSORS)\n   defineProperty(O, 1, {\n    enumerable: true,\n    get: thrower\n   });\n  else\n   O[1] = 1;\n  method.call(O, argument0, argument1);\n });\n};\n\n/***/ }),\n/* 76 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(77);\n__w_pdfjs_require__(89);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Array.from;\n\n/***/ }),\n/* 77 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar charAt = __w_pdfjs_require__(78).charAt;\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar defineIterator = __w_pdfjs_require__(79);\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n  type: STRING_ITERATOR,\n  string: String(iterated),\n  index: 0\n });\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length)\n  return {\n   value: undefined,\n   done: true\n  };\n point = charAt(string, index);\n state.index += point.length;\n return {\n  value: point,\n  done: false\n };\n});\n\n/***/ }),\n/* 78 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toInteger = __w_pdfjs_require__(48);\nvar requireObjectCoercible = __w_pdfjs_require__(20);\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n  var S = String(requireObjectCoercible($this));\n  var position = toInteger(pos);\n  var size = S.length;\n  var first, second;\n  if (position < 0 || position >= size)\n   return CONVERT_TO_STRING ? '' : undefined;\n  first = S.charCodeAt(position);\n  return first < 0xD800 || first > 0xDBFF || position + 1 === size || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF ? CONVERT_TO_STRING ? S.charAt(position) : first : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\nmodule.exports = {\n codeAt: createMethod(false),\n charAt: createMethod(true)\n};\n\n/***/ }),\n/* 79 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar createIteratorConstructor = __w_pdfjs_require__(80);\nvar getPrototypeOf = __w_pdfjs_require__(82);\nvar setPrototypeOf = __w_pdfjs_require__(87);\nvar setToStringTag = __w_pdfjs_require__(85);\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nvar redefine = __w_pdfjs_require__(29);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar IS_PURE = __w_pdfjs_require__(37);\nvar Iterators = __w_pdfjs_require__(86);\nvar IteratorsCore = __w_pdfjs_require__(81);\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\nvar returnThis = function () {\n return this;\n};\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n var getIterationMethod = function (KIND) {\n  if (KIND === DEFAULT && defaultIterator)\n   return defaultIterator;\n  if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype)\n   return IterablePrototype[KIND];\n  switch (KIND) {\n  case KEYS:\n   return function keys() {\n    return new IteratorConstructor(this, KIND);\n   };\n  case VALUES:\n   return function values() {\n    return new IteratorConstructor(this, KIND);\n   };\n  case ENTRIES:\n   return function entries() {\n    return new IteratorConstructor(this, KIND);\n   };\n  }\n  return function () {\n   return new IteratorConstructor(this);\n  };\n };\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR] || IterablePrototype['@@iterator'] || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n if (anyNativeIterator) {\n  CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n  if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n   if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n    if (setPrototypeOf) {\n     setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n    } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {\n     createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis);\n    }\n   }\n   setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n   if (IS_PURE)\n    Iterators[TO_STRING_TAG] = returnThis;\n  }\n }\n if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n  INCORRECT_VALUES_NAME = true;\n  defaultIterator = function values() {\n   return nativeIterator.call(this);\n  };\n }\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n  createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator);\n }\n Iterators[NAME] = defaultIterator;\n if (DEFAULT) {\n  methods = {\n   values: getIterationMethod(VALUES),\n   keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n   entries: getIterationMethod(ENTRIES)\n  };\n  if (FORCED)\n   for (KEY in methods) {\n    if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n     redefine(IterablePrototype, KEY, methods[KEY]);\n    }\n   }\n  else\n   $({\n    target: NAME,\n    proto: true,\n    forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME\n   }, methods);\n }\n return methods;\n};\n\n/***/ }),\n/* 80 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar IteratorPrototype = __w_pdfjs_require__(81).IteratorPrototype;\nvar create = __w_pdfjs_require__(71);\nvar createPropertyDescriptor = __w_pdfjs_require__(16);\nvar setToStringTag = __w_pdfjs_require__(85);\nvar Iterators = __w_pdfjs_require__(86);\nvar returnThis = function () {\n return this;\n};\nmodule.exports = function (IteratorConstructor, NAME, next) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n\n/***/ }),\n/* 81 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar getPrototypeOf = __w_pdfjs_require__(82);\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nvar has = __w_pdfjs_require__(23);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar IS_PURE = __w_pdfjs_require__(37);\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\nvar returnThis = function () {\n return this;\n};\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\nif ([].keys) {\n arrayIterator = [].keys();\n if (!('next' in arrayIterator))\n  BUGGY_SAFARI_ITERATORS = true;\n else {\n  PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n  if (PrototypeOfArrayIteratorPrototype !== Object.prototype)\n   IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\nif (IteratorPrototype == undefined)\n IteratorPrototype = {};\nif (!IS_PURE && !has(IteratorPrototype, ITERATOR)) {\n createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);\n}\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n\n/***/ }),\n/* 82 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar has = __w_pdfjs_require__(23);\nvar toObject = __w_pdfjs_require__(83);\nvar sharedKey = __w_pdfjs_require__(35);\nvar CORRECT_PROTOTYPE_GETTER = __w_pdfjs_require__(84);\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar ObjectPrototype = Object.prototype;\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO))\n  return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n  return O.constructor.prototype;\n }\n return O instanceof Object ? ObjectPrototype : null;\n};\n\n/***/ }),\n/* 83 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar requireObjectCoercible = __w_pdfjs_require__(20);\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n\n/***/ }),\n/* 84 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(14);\nmodule.exports = !fails(function () {\n function F() {\n }\n F.prototype.constructor = null;\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n\n/***/ }),\n/* 85 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineProperty = __w_pdfjs_require__(27).f;\nvar has = __w_pdfjs_require__(23);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nmodule.exports = function (it, TAG, STATIC) {\n if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {\n  defineProperty(it, TO_STRING_TAG, {\n   configurable: true,\n   value: TAG\n  });\n }\n};\n\n/***/ }),\n/* 86 */\n/***/ (function(module, exports) {\n\nmodule.exports = {};\n\n/***/ }),\n/* 87 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(28);\nvar aPossiblePrototype = __w_pdfjs_require__(88);\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n  setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;\n  setter.call(test, []);\n  CORRECT_SETTER = test instanceof Array;\n } catch (error) {\n }\n return function setPrototypeOf(O, proto) {\n  anObject(O);\n  aPossiblePrototype(proto);\n  if (CORRECT_SETTER)\n   setter.call(O, proto);\n  else\n   O.__proto__ = proto;\n  return O;\n };\n}() : undefined);\n\n/***/ }),\n/* 88 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(22);\nmodule.exports = function (it) {\n if (!isObject(it) && it !== null) {\n  throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n }\n return it;\n};\n\n/***/ }),\n/* 89 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\nvar from = __w_pdfjs_require__(90);\nvar checkCorrectnessOfIteration = __w_pdfjs_require__(97);\nvar INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {\n Array.from(iterable);\n});\n$({\n target: 'Array',\n stat: true,\n forced: INCORRECT_ITERATION\n}, { from: from });\n\n/***/ }),\n/* 90 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar bind = __w_pdfjs_require__(62);\nvar toObject = __w_pdfjs_require__(83);\nvar callWithSafeIterationClosing = __w_pdfjs_require__(91);\nvar isArrayIteratorMethod = __w_pdfjs_require__(92);\nvar toLength = __w_pdfjs_require__(47);\nvar createProperty = __w_pdfjs_require__(93);\nvar getIteratorMethod = __w_pdfjs_require__(94);\nmodule.exports = function from(arrayLike) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iteratorMethod = getIteratorMethod(O);\n var index = 0;\n var length, result, step, iterator, next, value;\n if (mapping)\n  mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2);\n if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) {\n  iterator = iteratorMethod.call(O);\n  next = iterator.next;\n  result = new C();\n  for (; !(step = next.call(iterator)).done; index++) {\n   value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [\n    step.value,\n    index\n   ], true) : step.value;\n   createProperty(result, index, value);\n  }\n } else {\n  length = toLength(O.length);\n  result = new C(length);\n  for (; length > index; index++) {\n   value = mapping ? mapfn(O[index], index) : O[index];\n   createProperty(result, index, value);\n  }\n }\n result.length = index;\n return result;\n};\n\n/***/ }),\n/* 91 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(28);\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n  return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n } catch (error) {\n  var returnMethod = iterator['return'];\n  if (returnMethod !== undefined)\n   anObject(returnMethod.call(iterator));\n  throw error;\n }\n};\n\n/***/ }),\n/* 92 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar Iterators = __w_pdfjs_require__(86);\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n\n/***/ }),\n/* 93 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar toPrimitive = __w_pdfjs_require__(21);\nvar definePropertyModule = __w_pdfjs_require__(27);\nvar createPropertyDescriptor = __w_pdfjs_require__(16);\nmodule.exports = function (object, key, value) {\n var propertyKey = toPrimitive(key);\n if (propertyKey in object)\n  definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else\n  object[propertyKey] = value;\n};\n\n/***/ }),\n/* 94 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar classof = __w_pdfjs_require__(95);\nvar Iterators = __w_pdfjs_require__(86);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar ITERATOR = wellKnownSymbol('iterator');\nmodule.exports = function (it) {\n if (it != undefined)\n  return it[ITERATOR] || it['@@iterator'] || Iterators[classof(it)];\n};\n\n/***/ }),\n/* 95 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(96);\nvar classofRaw = __w_pdfjs_require__(19);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar CORRECT_ARGUMENTS = classofRaw(function () {\n return arguments;\n}()) == 'Arguments';\nvar tryGet = function (it, key) {\n try {\n  return it[key];\n } catch (error) {\n }\n};\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null' : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag : CORRECT_ARGUMENTS ? classofRaw(O) : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;\n};\n\n/***/ }),\n/* 96 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\ntest[TO_STRING_TAG] = 'z';\nmodule.exports = String(test) === '[object z]';\n\n/***/ }),\n/* 97 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\ntry {\n var called = 0;\n var iteratorWithReturn = {\n  next: function () {\n   return { done: !!called++ };\n  },\n  'return': function () {\n   SAFE_CLOSING = true;\n  }\n };\n iteratorWithReturn[ITERATOR] = function () {\n  return this;\n };\n Array.from(iteratorWithReturn, function () {\n  throw 2;\n });\n} catch (error) {\n}\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING)\n  return false;\n var ITERATION_SUPPORT = false;\n try {\n  var object = {};\n  object[ITERATOR] = function () {\n   return {\n    next: function () {\n     return { done: ITERATION_SUPPORT = true };\n    }\n   };\n  };\n  exec(object);\n } catch (error) {\n }\n return ITERATION_SUPPORT;\n};\n\n/***/ }),\n/* 98 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(99);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Object.assign;\n\n/***/ }),\n/* 99 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\nvar assign = __w_pdfjs_require__(100);\n$({\n target: 'Object',\n stat: true,\n forced: Object.assign !== assign\n}, { assign: assign });\n\n/***/ }),\n/* 100 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar fails = __w_pdfjs_require__(14);\nvar objectKeys = __w_pdfjs_require__(73);\nvar getOwnPropertySymbolsModule = __w_pdfjs_require__(51);\nvar propertyIsEnumerableModule = __w_pdfjs_require__(15);\nvar toObject = __w_pdfjs_require__(83);\nvar IndexedObject = __w_pdfjs_require__(18);\nvar nativeAssign = Object.assign;\nvar defineProperty = Object.defineProperty;\nmodule.exports = !nativeAssign || fails(function () {\n if (DESCRIPTORS && nativeAssign({ b: 1 }, nativeAssign(defineProperty({}, 'a', {\n   enumerable: true,\n   get: function () {\n    defineProperty(this, 'b', {\n     value: 3,\n     enumerable: false\n    });\n   }\n  }), { b: 2 })).b !== 1)\n  return true;\n var A = {};\n var B = {};\n var symbol = Symbol();\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) {\n  B[chr] = chr;\n });\n return nativeAssign({}, A)[symbol] != 7 || objectKeys(nativeAssign({}, B)).join('') != alphabet;\n}) ? function assign(target, source) {\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n  var S = IndexedObject(arguments[index++]);\n  var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S);\n  var length = keys.length;\n  var j = 0;\n  var key;\n  while (length > j) {\n   key = keys[j++];\n   if (!DESCRIPTORS || propertyIsEnumerable.call(S, key))\n    T[key] = S[key];\n  }\n }\n return T;\n} : nativeAssign;\n\n/***/ }),\n/* 101 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(102);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Math.log2;\n\n/***/ }),\n/* 102 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\nvar log = Math.log;\nvar LN2 = Math.LN2;\n$({\n target: 'Math',\n stat: true\n}, {\n log2: function log2(x) {\n  return log(x) / LN2;\n }\n});\n\n/***/ }),\n/* 103 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(104);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Number.isNaN;\n\n/***/ }),\n/* 104 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\n$({\n target: 'Number',\n stat: true\n}, {\n isNaN: function isNaN(number) {\n  return number != number;\n }\n});\n\n/***/ }),\n/* 105 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(106);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Number.isInteger;\n\n/***/ }),\n/* 106 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\nvar isInteger = __w_pdfjs_require__(107);\n$({\n target: 'Number',\n stat: true\n}, { isInteger: isInteger });\n\n/***/ }),\n/* 107 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(22);\nvar floor = Math.floor;\nmodule.exports = function isInteger(it) {\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n\n/***/ }),\n/* 108 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(109);\n\n/***/ }),\n/* 109 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar ArrayBufferViewCore = __w_pdfjs_require__(110);\nvar speciesConstructor = __w_pdfjs_require__(112);\nvar fails = __w_pdfjs_require__(14);\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $slice = [].slice;\nvar FORCED = fails(function () {\n new Int8Array(1).slice();\n});\nexportTypedArrayMethod('slice', function slice(start, end) {\n var list = $slice.call(aTypedArray(this), start, end);\n var C = speciesConstructor(this, this.constructor);\n var index = 0;\n var length = list.length;\n var result = new (aTypedArrayConstructor(C))(length);\n while (length > index)\n  result[index] = list[index++];\n return result;\n}, FORCED);\n\n/***/ }),\n/* 110 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar NATIVE_ARRAY_BUFFER = __w_pdfjs_require__(111);\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar global = __w_pdfjs_require__(11);\nvar isObject = __w_pdfjs_require__(22);\nvar has = __w_pdfjs_require__(23);\nvar classof = __w_pdfjs_require__(95);\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nvar redefine = __w_pdfjs_require__(29);\nvar defineProperty = __w_pdfjs_require__(27).f;\nvar getPrototypeOf = __w_pdfjs_require__(82);\nvar setPrototypeOf = __w_pdfjs_require__(87);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar uid = __w_pdfjs_require__(38);\nvar Int8Array = global.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar Uint8ClampedArray = global.Uint8ClampedArray;\nvar Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype;\nvar TypedArray = Int8Array && getPrototypeOf(Int8Array);\nvar TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype);\nvar ObjectPrototype = Object.prototype;\nvar isPrototypeOf = ObjectPrototype.isPrototypeOf;\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG');\nvar NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(global.opera) !== 'Opera';\nvar TYPED_ARRAY_TAG_REQIRED = false;\nvar NAME;\nvar TypedArrayConstructorsList = {\n Int8Array: 1,\n Uint8Array: 1,\n Uint8ClampedArray: 1,\n Int16Array: 2,\n Uint16Array: 2,\n Int32Array: 4,\n Uint32Array: 4,\n Float32Array: 4,\n Float64Array: 8\n};\nvar isView = function isView(it) {\n var klass = classof(it);\n return klass === 'DataView' || has(TypedArrayConstructorsList, klass);\n};\nvar isTypedArray = function (it) {\n return isObject(it) && has(TypedArrayConstructorsList, classof(it));\n};\nvar aTypedArray = function (it) {\n if (isTypedArray(it))\n  return it;\n throw TypeError('Target is not a typed array');\n};\nvar aTypedArrayConstructor = function (C) {\n if (setPrototypeOf) {\n  if (isPrototypeOf.call(TypedArray, C))\n   return C;\n } else\n  for (var ARRAY in TypedArrayConstructorsList)\n   if (has(TypedArrayConstructorsList, NAME)) {\n    var TypedArrayConstructor = global[ARRAY];\n    if (TypedArrayConstructor && (C === TypedArrayConstructor || isPrototypeOf.call(TypedArrayConstructor, C))) {\n     return C;\n    }\n   }\n throw TypeError('Target is not a typed array constructor');\n};\nvar exportTypedArrayMethod = function (KEY, property, forced) {\n if (!DESCRIPTORS)\n  return;\n if (forced)\n  for (var ARRAY in TypedArrayConstructorsList) {\n   var TypedArrayConstructor = global[ARRAY];\n   if (TypedArrayConstructor && has(TypedArrayConstructor.prototype, KEY)) {\n    delete TypedArrayConstructor.prototype[KEY];\n   }\n  }\n if (!TypedArrayPrototype[KEY] || forced) {\n  redefine(TypedArrayPrototype, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property);\n }\n};\nvar exportTypedArrayStaticMethod = function (KEY, property, forced) {\n var ARRAY, TypedArrayConstructor;\n if (!DESCRIPTORS)\n  return;\n if (setPrototypeOf) {\n  if (forced)\n   for (ARRAY in TypedArrayConstructorsList) {\n    TypedArrayConstructor = global[ARRAY];\n    if (TypedArrayConstructor && has(TypedArrayConstructor, KEY)) {\n     delete TypedArrayConstructor[KEY];\n    }\n   }\n  if (!TypedArray[KEY] || forced) {\n   try {\n    return redefine(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && Int8Array[KEY] || property);\n   } catch (error) {\n   }\n  } else\n   return;\n }\n for (ARRAY in TypedArrayConstructorsList) {\n  TypedArrayConstructor = global[ARRAY];\n  if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) {\n   redefine(TypedArrayConstructor, KEY, property);\n  }\n }\n};\nfor (NAME in TypedArrayConstructorsList) {\n if (!global[NAME])\n  NATIVE_ARRAY_BUFFER_VIEWS = false;\n}\nif (!NATIVE_ARRAY_BUFFER_VIEWS || typeof TypedArray != 'function' || TypedArray === Function.prototype) {\n TypedArray = function TypedArray() {\n  throw TypeError('Incorrect invocation');\n };\n if (NATIVE_ARRAY_BUFFER_VIEWS)\n  for (NAME in TypedArrayConstructorsList) {\n   if (global[NAME])\n    setPrototypeOf(global[NAME], TypedArray);\n  }\n}\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) {\n TypedArrayPrototype = TypedArray.prototype;\n if (NATIVE_ARRAY_BUFFER_VIEWS)\n  for (NAME in TypedArrayConstructorsList) {\n   if (global[NAME])\n    setPrototypeOf(global[NAME].prototype, TypedArrayPrototype);\n  }\n}\nif (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) {\n setPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype);\n}\nif (DESCRIPTORS && !has(TypedArrayPrototype, TO_STRING_TAG)) {\n TYPED_ARRAY_TAG_REQIRED = true;\n defineProperty(TypedArrayPrototype, TO_STRING_TAG, {\n  get: function () {\n   return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined;\n  }\n });\n for (NAME in TypedArrayConstructorsList)\n  if (global[NAME]) {\n   createNonEnumerableProperty(global[NAME], TYPED_ARRAY_TAG, NAME);\n  }\n}\nmodule.exports = {\n NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS,\n TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQIRED && TYPED_ARRAY_TAG,\n aTypedArray: aTypedArray,\n aTypedArrayConstructor: aTypedArrayConstructor,\n exportTypedArrayMethod: exportTypedArrayMethod,\n exportTypedArrayStaticMethod: exportTypedArrayStaticMethod,\n isView: isView,\n isTypedArray: isTypedArray,\n TypedArray: TypedArray,\n TypedArrayPrototype: TypedArrayPrototype\n};\n\n/***/ }),\n/* 111 */\n/***/ (function(module, exports) {\n\nmodule.exports = typeof ArrayBuffer !== 'undefined' && typeof DataView !== 'undefined';\n\n/***/ }),\n/* 112 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(28);\nvar aFunction = __w_pdfjs_require__(63);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar SPECIES = wellKnownSymbol('species');\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);\n};\n\n/***/ }),\n/* 113 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(114);\n__w_pdfjs_require__(77);\n__w_pdfjs_require__(116);\n__w_pdfjs_require__(119);\n__w_pdfjs_require__(134);\n__w_pdfjs_require__(135);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Promise;\n\n/***/ }),\n/* 114 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(96);\nvar redefine = __w_pdfjs_require__(29);\nvar toString = __w_pdfjs_require__(115);\nif (!TO_STRING_TAG_SUPPORT) {\n redefine(Object.prototype, 'toString', toString, { unsafe: true });\n}\n\n/***/ }),\n/* 115 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(96);\nvar classof = __w_pdfjs_require__(95);\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n\n/***/ }),\n/* 116 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar DOMIterables = __w_pdfjs_require__(117);\nvar ArrayIteratorMethods = __w_pdfjs_require__(118);\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar ITERATOR = wellKnownSymbol('iterator');\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar ArrayValues = ArrayIteratorMethods.values;\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n if (CollectionPrototype) {\n  if (CollectionPrototype[ITERATOR] !== ArrayValues)\n   try {\n    createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\n   } catch (error) {\n    CollectionPrototype[ITERATOR] = ArrayValues;\n   }\n  if (!CollectionPrototype[TO_STRING_TAG]) {\n   createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);\n  }\n  if (DOMIterables[COLLECTION_NAME])\n   for (var METHOD_NAME in ArrayIteratorMethods) {\n    if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME])\n     try {\n      createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n     } catch (error) {\n      CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n     }\n   }\n }\n}\n\n/***/ }),\n/* 117 */\n/***/ (function(module, exports) {\n\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n\n/***/ }),\n/* 118 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar toIndexedObject = __w_pdfjs_require__(17);\nvar addToUnscopables = __w_pdfjs_require__(70);\nvar Iterators = __w_pdfjs_require__(86);\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar defineIterator = __w_pdfjs_require__(79);\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n  type: ARRAY_ITERATOR,\n  target: toIndexedObject(iterated),\n  index: 0,\n  kind: kind\n });\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var kind = state.kind;\n var index = state.index++;\n if (!target || index >= target.length) {\n  state.target = undefined;\n  return {\n   value: undefined,\n   done: true\n  };\n }\n if (kind == 'keys')\n  return {\n   value: index,\n   done: false\n  };\n if (kind == 'values')\n  return {\n   value: target[index],\n   done: false\n  };\n return {\n  value: [\n   index,\n   target[index]\n  ],\n  done: false\n };\n}, 'values');\nIterators.Arguments = Iterators.Array;\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n/***/ }),\n/* 119 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar IS_PURE = __w_pdfjs_require__(37);\nvar global = __w_pdfjs_require__(11);\nvar getBuiltIn = __w_pdfjs_require__(42);\nvar NativePromise = __w_pdfjs_require__(120);\nvar redefine = __w_pdfjs_require__(29);\nvar redefineAll = __w_pdfjs_require__(121);\nvar setToStringTag = __w_pdfjs_require__(85);\nvar setSpecies = __w_pdfjs_require__(122);\nvar isObject = __w_pdfjs_require__(22);\nvar aFunction = __w_pdfjs_require__(63);\nvar anInstance = __w_pdfjs_require__(123);\nvar classof = __w_pdfjs_require__(19);\nvar inspectSource = __w_pdfjs_require__(31);\nvar iterate = __w_pdfjs_require__(124);\nvar checkCorrectnessOfIteration = __w_pdfjs_require__(97);\nvar speciesConstructor = __w_pdfjs_require__(112);\nvar task = __w_pdfjs_require__(125).set;\nvar microtask = __w_pdfjs_require__(128);\nvar promiseResolve = __w_pdfjs_require__(129);\nvar hostReportErrors = __w_pdfjs_require__(131);\nvar newPromiseCapabilityModule = __w_pdfjs_require__(130);\nvar perform = __w_pdfjs_require__(132);\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar isForced = __w_pdfjs_require__(52);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar V8_VERSION = __w_pdfjs_require__(133);\nvar SPECIES = wellKnownSymbol('species');\nvar PROMISE = 'Promise';\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar PromiseConstructor = NativePromise;\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar $fetch = getBuiltIn('fetch');\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\nvar IS_NODE = classof(process) == 'process';\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\nvar FORCED = isForced(PROMISE, function () {\n var GLOBAL_CORE_JS_PROMISE = inspectSource(PromiseConstructor) !== String(PromiseConstructor);\n if (!GLOBAL_CORE_JS_PROMISE) {\n  if (V8_VERSION === 66)\n   return true;\n  if (!IS_NODE && typeof PromiseRejectionEvent != 'function')\n   return true;\n }\n if (IS_PURE && !PromiseConstructor.prototype['finally'])\n  return true;\n if (V8_VERSION >= 51 && /native code/.test(PromiseConstructor))\n  return false;\n var promise = PromiseConstructor.resolve(1);\n var FakePromise = function (exec) {\n  exec(function () {\n  }, function () {\n  });\n };\n var constructor = promise.constructor = {};\n constructor[SPECIES] = FakePromise;\n return !(promise.then(function () {\n }) instanceof FakePromise);\n});\nvar INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) {\n PromiseConstructor.all(iterable)['catch'](function () {\n });\n});\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar notify = function (promise, state, isReject) {\n if (state.notified)\n  return;\n state.notified = true;\n var chain = state.reactions;\n microtask(function () {\n  var value = state.value;\n  var ok = state.state == FULFILLED;\n  var index = 0;\n  while (chain.length > index) {\n   var reaction = chain[index++];\n   var handler = ok ? reaction.ok : reaction.fail;\n   var resolve = reaction.resolve;\n   var reject = reaction.reject;\n   var domain = reaction.domain;\n   var result, then, exited;\n   try {\n    if (handler) {\n     if (!ok) {\n      if (state.rejection === UNHANDLED)\n       onHandleUnhandled(promise, state);\n      state.rejection = HANDLED;\n     }\n     if (handler === true)\n      result = value;\n     else {\n      if (domain)\n       domain.enter();\n      result = handler(value);\n      if (domain) {\n       domain.exit();\n       exited = true;\n      }\n     }\n     if (result === reaction.promise) {\n      reject(TypeError('Promise-chain cycle'));\n     } else if (then = isThenable(result)) {\n      then.call(result, resolve, reject);\n     } else\n      resolve(result);\n    } else\n     reject(value);\n   } catch (error) {\n    if (domain && !exited)\n     domain.exit();\n    reject(error);\n   }\n  }\n  state.reactions = [];\n  state.notified = false;\n  if (isReject && !state.rejection)\n   onUnhandled(promise, state);\n });\n};\nvar dispatchEvent = function (name, promise, reason) {\n var event, handler;\n if (DISPATCH_EVENT) {\n  event = document.createEvent('Event');\n  event.promise = promise;\n  event.reason = reason;\n  event.initEvent(name, false, true);\n  global.dispatchEvent(event);\n } else\n  event = {\n   promise: promise,\n   reason: reason\n  };\n if (handler = global['on' + name])\n  handler(event);\n else if (name === UNHANDLED_REJECTION)\n  hostReportErrors('Unhandled promise rejection', reason);\n};\nvar onUnhandled = function (promise, state) {\n task.call(global, function () {\n  var value = state.value;\n  var IS_UNHANDLED = isUnhandled(state);\n  var result;\n  if (IS_UNHANDLED) {\n   result = perform(function () {\n    if (IS_NODE) {\n     process.emit('unhandledRejection', value, promise);\n    } else\n     dispatchEvent(UNHANDLED_REJECTION, promise, value);\n   });\n   state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;\n   if (result.error)\n    throw result.value;\n  }\n });\n};\nvar isUnhandled = function (state) {\n return state.rejection !== HANDLED && !state.parent;\n};\nvar onHandleUnhandled = function (promise, state) {\n task.call(global, function () {\n  if (IS_NODE) {\n   process.emit('rejectionHandled', promise);\n  } else\n   dispatchEvent(REJECTION_HANDLED, promise, state.value);\n });\n};\nvar bind = function (fn, promise, state, unwrap) {\n return function (value) {\n  fn(promise, state, value, unwrap);\n };\n};\nvar internalReject = function (promise, state, value, unwrap) {\n if (state.done)\n  return;\n state.done = true;\n if (unwrap)\n  state = unwrap;\n state.value = value;\n state.state = REJECTED;\n notify(promise, state, true);\n};\nvar internalResolve = function (promise, state, value, unwrap) {\n if (state.done)\n  return;\n state.done = true;\n if (unwrap)\n  state = unwrap;\n try {\n  if (promise === value)\n   throw TypeError(\"Promise can't be resolved itself\");\n  var then = isThenable(value);\n  if (then) {\n   microtask(function () {\n    var wrapper = { done: false };\n    try {\n     then.call(value, bind(internalResolve, promise, wrapper, state), bind(internalReject, promise, wrapper, state));\n    } catch (error) {\n     internalReject(promise, wrapper, error, state);\n    }\n   });\n  } else {\n   state.value = value;\n   state.state = FULFILLED;\n   notify(promise, state, false);\n  }\n } catch (error) {\n  internalReject(promise, { done: false }, error, state);\n }\n};\nif (FORCED) {\n PromiseConstructor = function Promise(executor) {\n  anInstance(this, PromiseConstructor, PROMISE);\n  aFunction(executor);\n  Internal.call(this);\n  var state = getInternalState(this);\n  try {\n   executor(bind(internalResolve, this, state), bind(internalReject, this, state));\n  } catch (error) {\n   internalReject(this, state, error);\n  }\n };\n Internal = function Promise(executor) {\n  setInternalState(this, {\n   type: PROMISE,\n   done: false,\n   notified: false,\n   parent: false,\n   reactions: [],\n   rejection: false,\n   state: PENDING,\n   value: undefined\n  });\n };\n Internal.prototype = redefineAll(PromiseConstructor.prototype, {\n  then: function then(onFulfilled, onRejected) {\n   var state = getInternalPromiseState(this);\n   var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n   reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n   reaction.fail = typeof onRejected == 'function' && onRejected;\n   reaction.domain = IS_NODE ? process.domain : undefined;\n   state.parent = true;\n   state.reactions.push(reaction);\n   if (state.state != PENDING)\n    notify(this, state, false);\n   return reaction.promise;\n  },\n  'catch': function (onRejected) {\n   return this.then(undefined, onRejected);\n  }\n });\n OwnPromiseCapability = function () {\n  var promise = new Internal();\n  var state = getInternalState(promise);\n  this.promise = promise;\n  this.resolve = bind(internalResolve, promise, state);\n  this.reject = bind(internalReject, promise, state);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n  return C === PromiseConstructor || C === PromiseWrapper ? new OwnPromiseCapability(C) : newGenericPromiseCapability(C);\n };\n if (!IS_PURE && typeof NativePromise == 'function') {\n  nativeThen = NativePromise.prototype.then;\n  redefine(NativePromise.prototype, 'then', function then(onFulfilled, onRejected) {\n   var that = this;\n   return new PromiseConstructor(function (resolve, reject) {\n    nativeThen.call(that, resolve, reject);\n   }).then(onFulfilled, onRejected);\n  }, { unsafe: true });\n  if (typeof $fetch == 'function')\n   $({\n    global: true,\n    enumerable: true,\n    forced: true\n   }, {\n    fetch: function fetch(input) {\n     return promiseResolve(PromiseConstructor, $fetch.apply(global, arguments));\n    }\n   });\n }\n}\n$({\n global: true,\n wrap: true,\n forced: FORCED\n}, { Promise: PromiseConstructor });\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\nPromiseWrapper = getBuiltIn(PROMISE);\n$({\n target: PROMISE,\n stat: true,\n forced: FORCED\n}, {\n reject: function reject(r) {\n  var capability = newPromiseCapability(this);\n  capability.reject.call(undefined, r);\n  return capability.promise;\n }\n});\n$({\n target: PROMISE,\n stat: true,\n forced: IS_PURE || FORCED\n}, {\n resolve: function resolve(x) {\n  return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x);\n }\n});\n$({\n target: PROMISE,\n stat: true,\n forced: INCORRECT_ITERATION\n}, {\n all: function all(iterable) {\n  var C = this;\n  var capability = newPromiseCapability(C);\n  var resolve = capability.resolve;\n  var reject = capability.reject;\n  var result = perform(function () {\n   var $promiseResolve = aFunction(C.resolve);\n   var values = [];\n   var counter = 0;\n   var remaining = 1;\n   iterate(iterable, function (promise) {\n    var index = counter++;\n    var alreadyCalled = false;\n    values.push(undefined);\n    remaining++;\n    $promiseResolve.call(C, promise).then(function (value) {\n     if (alreadyCalled)\n      return;\n     alreadyCalled = true;\n     values[index] = value;\n     --remaining || resolve(values);\n    }, reject);\n   });\n   --remaining || resolve(values);\n  });\n  if (result.error)\n   reject(result.value);\n  return capability.promise;\n },\n race: function race(iterable) {\n  var C = this;\n  var capability = newPromiseCapability(C);\n  var reject = capability.reject;\n  var result = perform(function () {\n   var $promiseResolve = aFunction(C.resolve);\n   iterate(iterable, function (promise) {\n    $promiseResolve.call(C, promise).then(capability.resolve, reject);\n   });\n  });\n  if (result.error)\n   reject(result.value);\n  return capability.promise;\n }\n});\n\n/***/ }),\n/* 120 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nmodule.exports = global.Promise;\n\n/***/ }),\n/* 121 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar redefine = __w_pdfjs_require__(29);\nmodule.exports = function (target, src, options) {\n for (var key in src)\n  redefine(target, key, src[key], options);\n return target;\n};\n\n/***/ }),\n/* 122 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar getBuiltIn = __w_pdfjs_require__(42);\nvar definePropertyModule = __w_pdfjs_require__(27);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar SPECIES = wellKnownSymbol('species');\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n  defineProperty(Constructor, SPECIES, {\n   configurable: true,\n   get: function () {\n    return this;\n   }\n  });\n }\n};\n\n/***/ }),\n/* 123 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it, Constructor, name) {\n if (!(it instanceof Constructor)) {\n  throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');\n }\n return it;\n};\n\n/***/ }),\n/* 124 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(28);\nvar isArrayIteratorMethod = __w_pdfjs_require__(92);\nvar toLength = __w_pdfjs_require__(47);\nvar bind = __w_pdfjs_require__(62);\nvar getIteratorMethod = __w_pdfjs_require__(94);\nvar callWithSafeIterationClosing = __w_pdfjs_require__(91);\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\nvar iterate = module.exports = function (iterable, fn, that, AS_ENTRIES, IS_ITERATOR) {\n var boundFunction = bind(fn, that, AS_ENTRIES ? 2 : 1);\n var iterator, iterFn, index, length, result, next, step;\n if (IS_ITERATOR) {\n  iterator = iterable;\n } else {\n  iterFn = getIteratorMethod(iterable);\n  if (typeof iterFn != 'function')\n   throw TypeError('Target is not iterable');\n  if (isArrayIteratorMethod(iterFn)) {\n   for (index = 0, length = toLength(iterable.length); length > index; index++) {\n    result = AS_ENTRIES ? boundFunction(anObject(step = iterable[index])[0], step[1]) : boundFunction(iterable[index]);\n    if (result && result instanceof Result)\n     return result;\n   }\n   return new Result(false);\n  }\n  iterator = iterFn.call(iterable);\n }\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n  result = callWithSafeIterationClosing(iterator, boundFunction, step.value, AS_ENTRIES);\n  if (typeof result == 'object' && result && result instanceof Result)\n   return result;\n }\n return new Result(false);\n};\niterate.stop = function (result) {\n return new Result(true, result);\n};\n\n/***/ }),\n/* 125 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar fails = __w_pdfjs_require__(14);\nvar classof = __w_pdfjs_require__(19);\nvar bind = __w_pdfjs_require__(62);\nvar html = __w_pdfjs_require__(74);\nvar createElement = __w_pdfjs_require__(25);\nvar IS_IOS = __w_pdfjs_require__(126);\nvar location = global.location;\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function (id) {\n if (queue.hasOwnProperty(id)) {\n  var fn = queue[id];\n  delete queue[id];\n  fn();\n }\n};\nvar runner = function (id) {\n return function () {\n  run(id);\n };\n};\nvar listener = function (event) {\n run(event.data);\n};\nvar post = function (id) {\n global.postMessage(id + '', location.protocol + '//' + location.host);\n};\nif (!set || !clear) {\n set = function setImmediate(fn) {\n  var args = [];\n  var i = 1;\n  while (arguments.length > i)\n   args.push(arguments[i++]);\n  queue[++counter] = function () {\n   (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args);\n  };\n  defer(counter);\n  return counter;\n };\n clear = function clearImmediate(id) {\n  delete queue[id];\n };\n if (classof(process) == 'process') {\n  defer = function (id) {\n   process.nextTick(runner(id));\n  };\n } else if (Dispatch && Dispatch.now) {\n  defer = function (id) {\n   Dispatch.now(runner(id));\n  };\n } else if (MessageChannel && !IS_IOS) {\n  channel = new MessageChannel();\n  port = channel.port2;\n  channel.port1.onmessage = listener;\n  defer = bind(port.postMessage, port, 1);\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts && !fails(post) && location.protocol !== 'file:') {\n  defer = post;\n  global.addEventListener('message', listener, false);\n } else if (ONREADYSTATECHANGE in createElement('script')) {\n  defer = function (id) {\n   html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n    html.removeChild(this);\n    run(id);\n   };\n  };\n } else {\n  defer = function (id) {\n   setTimeout(runner(id), 0);\n  };\n }\n}\nmodule.exports = {\n set: set,\n clear: clear\n};\n\n/***/ }),\n/* 126 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar userAgent = __w_pdfjs_require__(127);\nmodule.exports = /(iphone|ipod|ipad).*applewebkit/i.test(userAgent);\n\n/***/ }),\n/* 127 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar getBuiltIn = __w_pdfjs_require__(42);\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n\n/***/ }),\n/* 128 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar getOwnPropertyDescriptor = __w_pdfjs_require__(12).f;\nvar classof = __w_pdfjs_require__(19);\nvar macrotask = __w_pdfjs_require__(125).set;\nvar IS_IOS = __w_pdfjs_require__(126);\nvar MutationObserver = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar IS_NODE = classof(process) == 'process';\nvar queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');\nvar queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;\nvar flush, head, last, notify, toggle, node, promise, then;\nif (!queueMicrotask) {\n flush = function () {\n  var parent, fn;\n  if (IS_NODE && (parent = process.domain))\n   parent.exit();\n  while (head) {\n   fn = head.fn;\n   head = head.next;\n   try {\n    fn();\n   } catch (error) {\n    if (head)\n     notify();\n    else\n     last = undefined;\n    throw error;\n   }\n  }\n  last = undefined;\n  if (parent)\n   parent.enter();\n };\n if (IS_NODE) {\n  notify = function () {\n   process.nextTick(flush);\n  };\n } else if (MutationObserver && !IS_IOS) {\n  toggle = true;\n  node = document.createTextNode('');\n  new MutationObserver(flush).observe(node, { characterData: true });\n  notify = function () {\n   node.data = toggle = !toggle;\n  };\n } else if (Promise && Promise.resolve) {\n  promise = Promise.resolve(undefined);\n  then = promise.then;\n  notify = function () {\n   then.call(promise, flush);\n  };\n } else {\n  notify = function () {\n   macrotask.call(global, flush);\n  };\n }\n}\nmodule.exports = queueMicrotask || function (fn) {\n var task = {\n  fn: fn,\n  next: undefined\n };\n if (last)\n  last.next = task;\n if (!head) {\n  head = task;\n  notify();\n }\n last = task;\n};\n\n/***/ }),\n/* 129 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(28);\nvar isObject = __w_pdfjs_require__(22);\nvar newPromiseCapability = __w_pdfjs_require__(130);\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C)\n  return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n\n/***/ }),\n/* 130 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar aFunction = __w_pdfjs_require__(63);\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n  if (resolve !== undefined || reject !== undefined)\n   throw TypeError('Bad Promise constructor');\n  resolve = $$resolve;\n  reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n};\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n\n/***/ }),\n/* 131 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nmodule.exports = function (a, b) {\n var console = global.console;\n if (console && console.error) {\n  arguments.length === 1 ? console.error(a) : console.error(a, b);\n }\n};\n\n/***/ }),\n/* 132 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n try {\n  return {\n   error: false,\n   value: exec()\n  };\n } catch (error) {\n  return {\n   error: true,\n   value: error\n  };\n }\n};\n\n/***/ }),\n/* 133 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar userAgent = __w_pdfjs_require__(127);\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8;\nvar match, version;\nif (v8) {\n match = v8.split('.');\n version = match[0] + match[1];\n} else if (userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n  match = userAgent.match(/Chrome\\/(\\d+)/);\n  if (match)\n   version = match[1];\n }\n}\nmodule.exports = version && +version;\n\n/***/ }),\n/* 134 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar aFunction = __w_pdfjs_require__(63);\nvar newPromiseCapabilityModule = __w_pdfjs_require__(130);\nvar perform = __w_pdfjs_require__(132);\nvar iterate = __w_pdfjs_require__(124);\n$({\n target: 'Promise',\n stat: true\n}, {\n allSettled: function allSettled(iterable) {\n  var C = this;\n  var capability = newPromiseCapabilityModule.f(C);\n  var resolve = capability.resolve;\n  var reject = capability.reject;\n  var result = perform(function () {\n   var promiseResolve = aFunction(C.resolve);\n   var values = [];\n   var counter = 0;\n   var remaining = 1;\n   iterate(iterable, function (promise) {\n    var index = counter++;\n    var alreadyCalled = false;\n    values.push(undefined);\n    remaining++;\n    promiseResolve.call(C, promise).then(function (value) {\n     if (alreadyCalled)\n      return;\n     alreadyCalled = true;\n     values[index] = {\n      status: 'fulfilled',\n      value: value\n     };\n     --remaining || resolve(values);\n    }, function (e) {\n     if (alreadyCalled)\n      return;\n     alreadyCalled = true;\n     values[index] = {\n      status: 'rejected',\n      reason: e\n     };\n     --remaining || resolve(values);\n    });\n   });\n   --remaining || resolve(values);\n  });\n  if (result.error)\n   reject(result.value);\n  return capability.promise;\n }\n});\n\n/***/ }),\n/* 135 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar IS_PURE = __w_pdfjs_require__(37);\nvar NativePromise = __w_pdfjs_require__(120);\nvar fails = __w_pdfjs_require__(14);\nvar getBuiltIn = __w_pdfjs_require__(42);\nvar speciesConstructor = __w_pdfjs_require__(112);\nvar promiseResolve = __w_pdfjs_require__(129);\nvar redefine = __w_pdfjs_require__(29);\nvar NON_GENERIC = !!NativePromise && fails(function () {\n NativePromise.prototype['finally'].call({\n  then: function () {\n  }\n }, function () {\n });\n});\n$({\n target: 'Promise',\n proto: true,\n real: true,\n forced: NON_GENERIC\n}, {\n 'finally': function (onFinally) {\n  var C = speciesConstructor(this, getBuiltIn('Promise'));\n  var isFunction = typeof onFinally == 'function';\n  return this.then(isFunction ? function (x) {\n   return promiseResolve(C, onFinally()).then(function () {\n    return x;\n   });\n  } : onFinally, isFunction ? function (e) {\n   return promiseResolve(C, onFinally()).then(function () {\n    throw e;\n   });\n  } : onFinally);\n }\n});\nif (!IS_PURE && typeof NativePromise == 'function' && !NativePromise.prototype['finally']) {\n redefine(NativePromise.prototype, 'finally', getBuiltIn('Promise').prototype['finally']);\n}\n\n/***/ }),\n/* 136 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(137);\n__w_pdfjs_require__(142);\n__w_pdfjs_require__(140);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.URL;\n\n/***/ }),\n/* 137 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n__w_pdfjs_require__(77);\nvar $ = __w_pdfjs_require__(10);\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar USE_NATIVE_URL = __w_pdfjs_require__(138);\nvar global = __w_pdfjs_require__(11);\nvar defineProperties = __w_pdfjs_require__(72);\nvar redefine = __w_pdfjs_require__(29);\nvar anInstance = __w_pdfjs_require__(123);\nvar has = __w_pdfjs_require__(23);\nvar assign = __w_pdfjs_require__(100);\nvar arrayFrom = __w_pdfjs_require__(90);\nvar codeAt = __w_pdfjs_require__(78).codeAt;\nvar toASCII = __w_pdfjs_require__(139);\nvar setToStringTag = __w_pdfjs_require__(85);\nvar URLSearchParamsModule = __w_pdfjs_require__(140);\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar NativeURL = global.URL;\nvar URLSearchParams = URLSearchParamsModule.URLSearchParams;\nvar getInternalSearchParamsState = URLSearchParamsModule.getState;\nvar setInternalState = InternalStateModule.set;\nvar getInternalURLState = InternalStateModule.getterFor('URL');\nvar floor = Math.floor;\nvar pow = Math.pow;\nvar INVALID_AUTHORITY = 'Invalid authority';\nvar INVALID_SCHEME = 'Invalid scheme';\nvar INVALID_HOST = 'Invalid host';\nvar INVALID_PORT = 'Invalid port';\nvar ALPHA = /[A-Za-z]/;\nvar ALPHANUMERIC = /[\\d+-.A-Za-z]/;\nvar DIGIT = /\\d/;\nvar HEX_START = /^(0x|0X)/;\nvar OCT = /^[0-7]+$/;\nvar DEC = /^\\d+$/;\nvar HEX = /^[\\dA-Fa-f]+$/;\nvar FORBIDDEN_HOST_CODE_POINT = /[\\u0000\\u0009\\u000A\\u000D #%/:?@[\\\\]]/;\nvar FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\\u0000\\u0009\\u000A\\u000D #/:?@[\\\\]]/;\nvar LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\\u0000-\\u001F ]+|[\\u0000-\\u001F ]+$/g;\nvar TAB_AND_NEW_LINE = /[\\u0009\\u000A\\u000D]/g;\nvar EOF;\nvar parseHost = function (url, input) {\n var result, codePoints, index;\n if (input.charAt(0) == '[') {\n  if (input.charAt(input.length - 1) != ']')\n   return INVALID_HOST;\n  result = parseIPv6(input.slice(1, -1));\n  if (!result)\n   return INVALID_HOST;\n  url.host = result;\n } else if (!isSpecial(url)) {\n  if (FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT.test(input))\n   return INVALID_HOST;\n  result = '';\n  codePoints = arrayFrom(input);\n  for (index = 0; index < codePoints.length; index++) {\n   result += percentEncode(codePoints[index], C0ControlPercentEncodeSet);\n  }\n  url.host = result;\n } else {\n  input = toASCII(input);\n  if (FORBIDDEN_HOST_CODE_POINT.test(input))\n   return INVALID_HOST;\n  result = parseIPv4(input);\n  if (result === null)\n   return INVALID_HOST;\n  url.host = result;\n }\n};\nvar parseIPv4 = function (input) {\n var parts = input.split('.');\n var partsLength, numbers, index, part, radix, number, ipv4;\n if (parts.length && parts[parts.length - 1] == '') {\n  parts.pop();\n }\n partsLength = parts.length;\n if (partsLength > 4)\n  return input;\n numbers = [];\n for (index = 0; index < partsLength; index++) {\n  part = parts[index];\n  if (part == '')\n   return input;\n  radix = 10;\n  if (part.length > 1 && part.charAt(0) == '0') {\n   radix = HEX_START.test(part) ? 16 : 8;\n   part = part.slice(radix == 8 ? 1 : 2);\n  }\n  if (part === '') {\n   number = 0;\n  } else {\n   if (!(radix == 10 ? DEC : radix == 8 ? OCT : HEX).test(part))\n    return input;\n   number = parseInt(part, radix);\n  }\n  numbers.push(number);\n }\n for (index = 0; index < partsLength; index++) {\n  number = numbers[index];\n  if (index == partsLength - 1) {\n   if (number >= pow(256, 5 - partsLength))\n    return null;\n  } else if (number > 255)\n   return null;\n }\n ipv4 = numbers.pop();\n for (index = 0; index < numbers.length; index++) {\n  ipv4 += numbers[index] * pow(256, 3 - index);\n }\n return ipv4;\n};\nvar parseIPv6 = function (input) {\n var address = [\n  0,\n  0,\n  0,\n  0,\n  0,\n  0,\n  0,\n  0\n ];\n var pieceIndex = 0;\n var compress = null;\n var pointer = 0;\n var value, length, numbersSeen, ipv4Piece, number, swaps, swap;\n var char = function () {\n  return input.charAt(pointer);\n };\n if (char() == ':') {\n  if (input.charAt(1) != ':')\n   return;\n  pointer += 2;\n  pieceIndex++;\n  compress = pieceIndex;\n }\n while (char()) {\n  if (pieceIndex == 8)\n   return;\n  if (char() == ':') {\n   if (compress !== null)\n    return;\n   pointer++;\n   pieceIndex++;\n   compress = pieceIndex;\n   continue;\n  }\n  value = length = 0;\n  while (length < 4 && HEX.test(char())) {\n   value = value * 16 + parseInt(char(), 16);\n   pointer++;\n   length++;\n  }\n  if (char() == '.') {\n   if (length == 0)\n    return;\n   pointer -= length;\n   if (pieceIndex > 6)\n    return;\n   numbersSeen = 0;\n   while (char()) {\n    ipv4Piece = null;\n    if (numbersSeen > 0) {\n     if (char() == '.' && numbersSeen < 4)\n      pointer++;\n     else\n      return;\n    }\n    if (!DIGIT.test(char()))\n     return;\n    while (DIGIT.test(char())) {\n     number = parseInt(char(), 10);\n     if (ipv4Piece === null)\n      ipv4Piece = number;\n     else if (ipv4Piece == 0)\n      return;\n     else\n      ipv4Piece = ipv4Piece * 10 + number;\n     if (ipv4Piece > 255)\n      return;\n     pointer++;\n    }\n    address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece;\n    numbersSeen++;\n    if (numbersSeen == 2 || numbersSeen == 4)\n     pieceIndex++;\n   }\n   if (numbersSeen != 4)\n    return;\n   break;\n  } else if (char() == ':') {\n   pointer++;\n   if (!char())\n    return;\n  } else if (char())\n   return;\n  address[pieceIndex++] = value;\n }\n if (compress !== null) {\n  swaps = pieceIndex - compress;\n  pieceIndex = 7;\n  while (pieceIndex != 0 && swaps > 0) {\n   swap = address[pieceIndex];\n   address[pieceIndex--] = address[compress + swaps - 1];\n   address[compress + --swaps] = swap;\n  }\n } else if (pieceIndex != 8)\n  return;\n return address;\n};\nvar findLongestZeroSequence = function (ipv6) {\n var maxIndex = null;\n var maxLength = 1;\n var currStart = null;\n var currLength = 0;\n var index = 0;\n for (; index < 8; index++) {\n  if (ipv6[index] !== 0) {\n   if (currLength > maxLength) {\n    maxIndex = currStart;\n    maxLength = currLength;\n   }\n   currStart = null;\n   currLength = 0;\n  } else {\n   if (currStart === null)\n    currStart = index;\n   ++currLength;\n  }\n }\n if (currLength > maxLength) {\n  maxIndex = currStart;\n  maxLength = currLength;\n }\n return maxIndex;\n};\nvar serializeHost = function (host) {\n var result, index, compress, ignore0;\n if (typeof host == 'number') {\n  result = [];\n  for (index = 0; index < 4; index++) {\n   result.unshift(host % 256);\n   host = floor(host / 256);\n  }\n  return result.join('.');\n } else if (typeof host == 'object') {\n  result = '';\n  compress = findLongestZeroSequence(host);\n  for (index = 0; index < 8; index++) {\n   if (ignore0 && host[index] === 0)\n    continue;\n   if (ignore0)\n    ignore0 = false;\n   if (compress === index) {\n    result += index ? ':' : '::';\n    ignore0 = true;\n   } else {\n    result += host[index].toString(16);\n    if (index < 7)\n     result += ':';\n   }\n  }\n  return '[' + result + ']';\n }\n return host;\n};\nvar C0ControlPercentEncodeSet = {};\nvar fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, {\n ' ': 1,\n '\"': 1,\n '<': 1,\n '>': 1,\n '`': 1\n});\nvar pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, {\n '#': 1,\n '?': 1,\n '{': 1,\n '}': 1\n});\nvar userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, {\n '/': 1,\n ':': 1,\n ';': 1,\n '=': 1,\n '@': 1,\n '[': 1,\n '\\\\': 1,\n ']': 1,\n '^': 1,\n '|': 1\n});\nvar percentEncode = function (char, set) {\n var code = codeAt(char, 0);\n return code > 0x20 && code < 0x7F && !has(set, char) ? char : encodeURIComponent(char);\n};\nvar specialSchemes = {\n ftp: 21,\n file: null,\n http: 80,\n https: 443,\n ws: 80,\n wss: 443\n};\nvar isSpecial = function (url) {\n return has(specialSchemes, url.scheme);\n};\nvar includesCredentials = function (url) {\n return url.username != '' || url.password != '';\n};\nvar cannotHaveUsernamePasswordPort = function (url) {\n return !url.host || url.cannotBeABaseURL || url.scheme == 'file';\n};\nvar isWindowsDriveLetter = function (string, normalized) {\n var second;\n return string.length == 2 && ALPHA.test(string.charAt(0)) && ((second = string.charAt(1)) == ':' || !normalized && second == '|');\n};\nvar startsWithWindowsDriveLetter = function (string) {\n var third;\n return string.length > 1 && isWindowsDriveLetter(string.slice(0, 2)) && (string.length == 2 || ((third = string.charAt(2)) === '/' || third === '\\\\' || third === '?' || third === '#'));\n};\nvar shortenURLsPath = function (url) {\n var path = url.path;\n var pathSize = path.length;\n if (pathSize && (url.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) {\n  path.pop();\n }\n};\nvar isSingleDot = function (segment) {\n return segment === '.' || segment.toLowerCase() === '%2e';\n};\nvar isDoubleDot = function (segment) {\n segment = segment.toLowerCase();\n return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e';\n};\nvar SCHEME_START = {};\nvar SCHEME = {};\nvar NO_SCHEME = {};\nvar SPECIAL_RELATIVE_OR_AUTHORITY = {};\nvar PATH_OR_AUTHORITY = {};\nvar RELATIVE = {};\nvar RELATIVE_SLASH = {};\nvar SPECIAL_AUTHORITY_SLASHES = {};\nvar SPECIAL_AUTHORITY_IGNORE_SLASHES = {};\nvar AUTHORITY = {};\nvar HOST = {};\nvar HOSTNAME = {};\nvar PORT = {};\nvar FILE = {};\nvar FILE_SLASH = {};\nvar FILE_HOST = {};\nvar PATH_START = {};\nvar PATH = {};\nvar CANNOT_BE_A_BASE_URL_PATH = {};\nvar QUERY = {};\nvar FRAGMENT = {};\nvar parseURL = function (url, input, stateOverride, base) {\n var state = stateOverride || SCHEME_START;\n var pointer = 0;\n var buffer = '';\n var seenAt = false;\n var seenBracket = false;\n var seenPasswordToken = false;\n var codePoints, char, bufferCodePoints, failure;\n if (!stateOverride) {\n  url.scheme = '';\n  url.username = '';\n  url.password = '';\n  url.host = null;\n  url.port = null;\n  url.path = [];\n  url.query = null;\n  url.fragment = null;\n  url.cannotBeABaseURL = false;\n  input = input.replace(LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, '');\n }\n input = input.replace(TAB_AND_NEW_LINE, '');\n codePoints = arrayFrom(input);\n while (pointer <= codePoints.length) {\n  char = codePoints[pointer];\n  switch (state) {\n  case SCHEME_START:\n   if (char && ALPHA.test(char)) {\n    buffer += char.toLowerCase();\n    state = SCHEME;\n   } else if (!stateOverride) {\n    state = NO_SCHEME;\n    continue;\n   } else\n    return INVALID_SCHEME;\n   break;\n  case SCHEME:\n   if (char && (ALPHANUMERIC.test(char) || char == '+' || char == '-' || char == '.')) {\n    buffer += char.toLowerCase();\n   } else if (char == ':') {\n    if (stateOverride && (isSpecial(url) != has(specialSchemes, buffer) || buffer == 'file' && (includesCredentials(url) || url.port !== null) || url.scheme == 'file' && !url.host))\n     return;\n    url.scheme = buffer;\n    if (stateOverride) {\n     if (isSpecial(url) && specialSchemes[url.scheme] == url.port)\n      url.port = null;\n     return;\n    }\n    buffer = '';\n    if (url.scheme == 'file') {\n     state = FILE;\n    } else if (isSpecial(url) && base && base.scheme == url.scheme) {\n     state = SPECIAL_RELATIVE_OR_AUTHORITY;\n    } else if (isSpecial(url)) {\n     state = SPECIAL_AUTHORITY_SLASHES;\n    } else if (codePoints[pointer + 1] == '/') {\n     state = PATH_OR_AUTHORITY;\n     pointer++;\n    } else {\n     url.cannotBeABaseURL = true;\n     url.path.push('');\n     state = CANNOT_BE_A_BASE_URL_PATH;\n    }\n   } else if (!stateOverride) {\n    buffer = '';\n    state = NO_SCHEME;\n    pointer = 0;\n    continue;\n   } else\n    return INVALID_SCHEME;\n   break;\n  case NO_SCHEME:\n   if (!base || base.cannotBeABaseURL && char != '#')\n    return INVALID_SCHEME;\n   if (base.cannotBeABaseURL && char == '#') {\n    url.scheme = base.scheme;\n    url.path = base.path.slice();\n    url.query = base.query;\n    url.fragment = '';\n    url.cannotBeABaseURL = true;\n    state = FRAGMENT;\n    break;\n   }\n   state = base.scheme == 'file' ? FILE : RELATIVE;\n   continue;\n  case SPECIAL_RELATIVE_OR_AUTHORITY:\n   if (char == '/' && codePoints[pointer + 1] == '/') {\n    state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n    pointer++;\n   } else {\n    state = RELATIVE;\n    continue;\n   }\n   break;\n  case PATH_OR_AUTHORITY:\n   if (char == '/') {\n    state = AUTHORITY;\n    break;\n   } else {\n    state = PATH;\n    continue;\n   }\n  case RELATIVE:\n   url.scheme = base.scheme;\n   if (char == EOF) {\n    url.username = base.username;\n    url.password = base.password;\n    url.host = base.host;\n    url.port = base.port;\n    url.path = base.path.slice();\n    url.query = base.query;\n   } else if (char == '/' || char == '\\\\' && isSpecial(url)) {\n    state = RELATIVE_SLASH;\n   } else if (char == '?') {\n    url.username = base.username;\n    url.password = base.password;\n    url.host = base.host;\n    url.port = base.port;\n    url.path = base.path.slice();\n    url.query = '';\n    state = QUERY;\n   } else if (char == '#') {\n    url.username = base.username;\n    url.password = base.password;\n    url.host = base.host;\n    url.port = base.port;\n    url.path = base.path.slice();\n    url.query = base.query;\n    url.fragment = '';\n    state = FRAGMENT;\n   } else {\n    url.username = base.username;\n    url.password = base.password;\n    url.host = base.host;\n    url.port = base.port;\n    url.path = base.path.slice();\n    url.path.pop();\n    state = PATH;\n    continue;\n   }\n   break;\n  case RELATIVE_SLASH:\n   if (isSpecial(url) && (char == '/' || char == '\\\\')) {\n    state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n   } else if (char == '/') {\n    state = AUTHORITY;\n   } else {\n    url.username = base.username;\n    url.password = base.password;\n    url.host = base.host;\n    url.port = base.port;\n    state = PATH;\n    continue;\n   }\n   break;\n  case SPECIAL_AUTHORITY_SLASHES:\n   state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n   if (char != '/' || buffer.charAt(pointer + 1) != '/')\n    continue;\n   pointer++;\n   break;\n  case SPECIAL_AUTHORITY_IGNORE_SLASHES:\n   if (char != '/' && char != '\\\\') {\n    state = AUTHORITY;\n    continue;\n   }\n   break;\n  case AUTHORITY:\n   if (char == '@') {\n    if (seenAt)\n     buffer = '%40' + buffer;\n    seenAt = true;\n    bufferCodePoints = arrayFrom(buffer);\n    for (var i = 0; i < bufferCodePoints.length; i++) {\n     var codePoint = bufferCodePoints[i];\n     if (codePoint == ':' && !seenPasswordToken) {\n      seenPasswordToken = true;\n      continue;\n     }\n     var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet);\n     if (seenPasswordToken)\n      url.password += encodedCodePoints;\n     else\n      url.username += encodedCodePoints;\n    }\n    buffer = '';\n   } else if (char == EOF || char == '/' || char == '?' || char == '#' || char == '\\\\' && isSpecial(url)) {\n    if (seenAt && buffer == '')\n     return INVALID_AUTHORITY;\n    pointer -= arrayFrom(buffer).length + 1;\n    buffer = '';\n    state = HOST;\n   } else\n    buffer += char;\n   break;\n  case HOST:\n  case HOSTNAME:\n   if (stateOverride && url.scheme == 'file') {\n    state = FILE_HOST;\n    continue;\n   } else if (char == ':' && !seenBracket) {\n    if (buffer == '')\n     return INVALID_HOST;\n    failure = parseHost(url, buffer);\n    if (failure)\n     return failure;\n    buffer = '';\n    state = PORT;\n    if (stateOverride == HOSTNAME)\n     return;\n   } else if (char == EOF || char == '/' || char == '?' || char == '#' || char == '\\\\' && isSpecial(url)) {\n    if (isSpecial(url) && buffer == '')\n     return INVALID_HOST;\n    if (stateOverride && buffer == '' && (includesCredentials(url) || url.port !== null))\n     return;\n    failure = parseHost(url, buffer);\n    if (failure)\n     return failure;\n    buffer = '';\n    state = PATH_START;\n    if (stateOverride)\n     return;\n    continue;\n   } else {\n    if (char == '[')\n     seenBracket = true;\n    else if (char == ']')\n     seenBracket = false;\n    buffer += char;\n   }\n   break;\n  case PORT:\n   if (DIGIT.test(char)) {\n    buffer += char;\n   } else if (char == EOF || char == '/' || char == '?' || char == '#' || char == '\\\\' && isSpecial(url) || stateOverride) {\n    if (buffer != '') {\n     var port = parseInt(buffer, 10);\n     if (port > 0xFFFF)\n      return INVALID_PORT;\n     url.port = isSpecial(url) && port === specialSchemes[url.scheme] ? null : port;\n     buffer = '';\n    }\n    if (stateOverride)\n     return;\n    state = PATH_START;\n    continue;\n   } else\n    return INVALID_PORT;\n   break;\n  case FILE:\n   url.scheme = 'file';\n   if (char == '/' || char == '\\\\')\n    state = FILE_SLASH;\n   else if (base && base.scheme == 'file') {\n    if (char == EOF) {\n     url.host = base.host;\n     url.path = base.path.slice();\n     url.query = base.query;\n    } else if (char == '?') {\n     url.host = base.host;\n     url.path = base.path.slice();\n     url.query = '';\n     state = QUERY;\n    } else if (char == '#') {\n     url.host = base.host;\n     url.path = base.path.slice();\n     url.query = base.query;\n     url.fragment = '';\n     state = FRAGMENT;\n    } else {\n     if (!startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n      url.host = base.host;\n      url.path = base.path.slice();\n      shortenURLsPath(url);\n     }\n     state = PATH;\n     continue;\n    }\n   } else {\n    state = PATH;\n    continue;\n   }\n   break;\n  case FILE_SLASH:\n   if (char == '/' || char == '\\\\') {\n    state = FILE_HOST;\n    break;\n   }\n   if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n    if (isWindowsDriveLetter(base.path[0], true))\n     url.path.push(base.path[0]);\n    else\n     url.host = base.host;\n   }\n   state = PATH;\n   continue;\n  case FILE_HOST:\n   if (char == EOF || char == '/' || char == '\\\\' || char == '?' || char == '#') {\n    if (!stateOverride && isWindowsDriveLetter(buffer)) {\n     state = PATH;\n    } else if (buffer == '') {\n     url.host = '';\n     if (stateOverride)\n      return;\n     state = PATH_START;\n    } else {\n     failure = parseHost(url, buffer);\n     if (failure)\n      return failure;\n     if (url.host == 'localhost')\n      url.host = '';\n     if (stateOverride)\n      return;\n     buffer = '';\n     state = PATH_START;\n    }\n    continue;\n   } else\n    buffer += char;\n   break;\n  case PATH_START:\n   if (isSpecial(url)) {\n    state = PATH;\n    if (char != '/' && char != '\\\\')\n     continue;\n   } else if (!stateOverride && char == '?') {\n    url.query = '';\n    state = QUERY;\n   } else if (!stateOverride && char == '#') {\n    url.fragment = '';\n    state = FRAGMENT;\n   } else if (char != EOF) {\n    state = PATH;\n    if (char != '/')\n     continue;\n   }\n   break;\n  case PATH:\n   if (char == EOF || char == '/' || char == '\\\\' && isSpecial(url) || !stateOverride && (char == '?' || char == '#')) {\n    if (isDoubleDot(buffer)) {\n     shortenURLsPath(url);\n     if (char != '/' && !(char == '\\\\' && isSpecial(url))) {\n      url.path.push('');\n     }\n    } else if (isSingleDot(buffer)) {\n     if (char != '/' && !(char == '\\\\' && isSpecial(url))) {\n      url.path.push('');\n     }\n    } else {\n     if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) {\n      if (url.host)\n       url.host = '';\n      buffer = buffer.charAt(0) + ':';\n     }\n     url.path.push(buffer);\n    }\n    buffer = '';\n    if (url.scheme == 'file' && (char == EOF || char == '?' || char == '#')) {\n     while (url.path.length > 1 && url.path[0] === '') {\n      url.path.shift();\n     }\n    }\n    if (char == '?') {\n     url.query = '';\n     state = QUERY;\n    } else if (char == '#') {\n     url.fragment = '';\n     state = FRAGMENT;\n    }\n   } else {\n    buffer += percentEncode(char, pathPercentEncodeSet);\n   }\n   break;\n  case CANNOT_BE_A_BASE_URL_PATH:\n   if (char == '?') {\n    url.query = '';\n    state = QUERY;\n   } else if (char == '#') {\n    url.fragment = '';\n    state = FRAGMENT;\n   } else if (char != EOF) {\n    url.path[0] += percentEncode(char, C0ControlPercentEncodeSet);\n   }\n   break;\n  case QUERY:\n   if (!stateOverride && char == '#') {\n    url.fragment = '';\n    state = FRAGMENT;\n   } else if (char != EOF) {\n    if (char == \"'\" && isSpecial(url))\n     url.query += '%27';\n    else if (char == '#')\n     url.query += '%23';\n    else\n     url.query += percentEncode(char, C0ControlPercentEncodeSet);\n   }\n   break;\n  case FRAGMENT:\n   if (char != EOF)\n    url.fragment += percentEncode(char, fragmentPercentEncodeSet);\n   break;\n  }\n  pointer++;\n }\n};\nvar URLConstructor = function URL(url) {\n var that = anInstance(this, URLConstructor, 'URL');\n var base = arguments.length > 1 ? arguments[1] : undefined;\n var urlString = String(url);\n var state = setInternalState(that, { type: 'URL' });\n var baseState, failure;\n if (base !== undefined) {\n  if (base instanceof URLConstructor)\n   baseState = getInternalURLState(base);\n  else {\n   failure = parseURL(baseState = {}, String(base));\n   if (failure)\n    throw TypeError(failure);\n  }\n }\n failure = parseURL(state, urlString, null, baseState);\n if (failure)\n  throw TypeError(failure);\n var searchParams = state.searchParams = new URLSearchParams();\n var searchParamsState = getInternalSearchParamsState(searchParams);\n searchParamsState.updateSearchParams(state.query);\n searchParamsState.updateURL = function () {\n  state.query = String(searchParams) || null;\n };\n if (!DESCRIPTORS) {\n  that.href = serializeURL.call(that);\n  that.origin = getOrigin.call(that);\n  that.protocol = getProtocol.call(that);\n  that.username = getUsername.call(that);\n  that.password = getPassword.call(that);\n  that.host = getHost.call(that);\n  that.hostname = getHostname.call(that);\n  that.port = getPort.call(that);\n  that.pathname = getPathname.call(that);\n  that.search = getSearch.call(that);\n  that.searchParams = getSearchParams.call(that);\n  that.hash = getHash.call(that);\n }\n};\nvar URLPrototype = URLConstructor.prototype;\nvar serializeURL = function () {\n var url = getInternalURLState(this);\n var scheme = url.scheme;\n var username = url.username;\n var password = url.password;\n var host = url.host;\n var port = url.port;\n var path = url.path;\n var query = url.query;\n var fragment = url.fragment;\n var output = scheme + ':';\n if (host !== null) {\n  output += '//';\n  if (includesCredentials(url)) {\n   output += username + (password ? ':' + password : '') + '@';\n  }\n  output += serializeHost(host);\n  if (port !== null)\n   output += ':' + port;\n } else if (scheme == 'file')\n  output += '//';\n output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n if (query !== null)\n  output += '?' + query;\n if (fragment !== null)\n  output += '#' + fragment;\n return output;\n};\nvar getOrigin = function () {\n var url = getInternalURLState(this);\n var scheme = url.scheme;\n var port = url.port;\n if (scheme == 'blob')\n  try {\n   return new URL(scheme.path[0]).origin;\n  } catch (error) {\n   return 'null';\n  }\n if (scheme == 'file' || !isSpecial(url))\n  return 'null';\n return scheme + '://' + serializeHost(url.host) + (port !== null ? ':' + port : '');\n};\nvar getProtocol = function () {\n return getInternalURLState(this).scheme + ':';\n};\nvar getUsername = function () {\n return getInternalURLState(this).username;\n};\nvar getPassword = function () {\n return getInternalURLState(this).password;\n};\nvar getHost = function () {\n var url = getInternalURLState(this);\n var host = url.host;\n var port = url.port;\n return host === null ? '' : port === null ? serializeHost(host) : serializeHost(host) + ':' + port;\n};\nvar getHostname = function () {\n var host = getInternalURLState(this).host;\n return host === null ? '' : serializeHost(host);\n};\nvar getPort = function () {\n var port = getInternalURLState(this).port;\n return port === null ? '' : String(port);\n};\nvar getPathname = function () {\n var url = getInternalURLState(this);\n var path = url.path;\n return url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n};\nvar getSearch = function () {\n var query = getInternalURLState(this).query;\n return query ? '?' + query : '';\n};\nvar getSearchParams = function () {\n return getInternalURLState(this).searchParams;\n};\nvar getHash = function () {\n var fragment = getInternalURLState(this).fragment;\n return fragment ? '#' + fragment : '';\n};\nvar accessorDescriptor = function (getter, setter) {\n return {\n  get: getter,\n  set: setter,\n  configurable: true,\n  enumerable: true\n };\n};\nif (DESCRIPTORS) {\n defineProperties(URLPrototype, {\n  href: accessorDescriptor(serializeURL, function (href) {\n   var url = getInternalURLState(this);\n   var urlString = String(href);\n   var failure = parseURL(url, urlString);\n   if (failure)\n    throw TypeError(failure);\n   getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n  }),\n  origin: accessorDescriptor(getOrigin),\n  protocol: accessorDescriptor(getProtocol, function (protocol) {\n   var url = getInternalURLState(this);\n   parseURL(url, String(protocol) + ':', SCHEME_START);\n  }),\n  username: accessorDescriptor(getUsername, function (username) {\n   var url = getInternalURLState(this);\n   var codePoints = arrayFrom(String(username));\n   if (cannotHaveUsernamePasswordPort(url))\n    return;\n   url.username = '';\n   for (var i = 0; i < codePoints.length; i++) {\n    url.username += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n   }\n  }),\n  password: accessorDescriptor(getPassword, function (password) {\n   var url = getInternalURLState(this);\n   var codePoints = arrayFrom(String(password));\n   if (cannotHaveUsernamePasswordPort(url))\n    return;\n   url.password = '';\n   for (var i = 0; i < codePoints.length; i++) {\n    url.password += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n   }\n  }),\n  host: accessorDescriptor(getHost, function (host) {\n   var url = getInternalURLState(this);\n   if (url.cannotBeABaseURL)\n    return;\n   parseURL(url, String(host), HOST);\n  }),\n  hostname: accessorDescriptor(getHostname, function (hostname) {\n   var url = getInternalURLState(this);\n   if (url.cannotBeABaseURL)\n    return;\n   parseURL(url, String(hostname), HOSTNAME);\n  }),\n  port: accessorDescriptor(getPort, function (port) {\n   var url = getInternalURLState(this);\n   if (cannotHaveUsernamePasswordPort(url))\n    return;\n   port = String(port);\n   if (port == '')\n    url.port = null;\n   else\n    parseURL(url, port, PORT);\n  }),\n  pathname: accessorDescriptor(getPathname, function (pathname) {\n   var url = getInternalURLState(this);\n   if (url.cannotBeABaseURL)\n    return;\n   url.path = [];\n   parseURL(url, pathname + '', PATH_START);\n  }),\n  search: accessorDescriptor(getSearch, function (search) {\n   var url = getInternalURLState(this);\n   search = String(search);\n   if (search == '') {\n    url.query = null;\n   } else {\n    if ('?' == search.charAt(0))\n     search = search.slice(1);\n    url.query = '';\n    parseURL(url, search, QUERY);\n   }\n   getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n  }),\n  searchParams: accessorDescriptor(getSearchParams),\n  hash: accessorDescriptor(getHash, function (hash) {\n   var url = getInternalURLState(this);\n   hash = String(hash);\n   if (hash == '') {\n    url.fragment = null;\n    return;\n   }\n   if ('#' == hash.charAt(0))\n    hash = hash.slice(1);\n   url.fragment = '';\n   parseURL(url, hash, FRAGMENT);\n  })\n });\n}\nredefine(URLPrototype, 'toJSON', function toJSON() {\n return serializeURL.call(this);\n}, { enumerable: true });\nredefine(URLPrototype, 'toString', function toString() {\n return serializeURL.call(this);\n}, { enumerable: true });\nif (NativeURL) {\n var nativeCreateObjectURL = NativeURL.createObjectURL;\n var nativeRevokeObjectURL = NativeURL.revokeObjectURL;\n if (nativeCreateObjectURL)\n  redefine(URLConstructor, 'createObjectURL', function createObjectURL(blob) {\n   return nativeCreateObjectURL.apply(NativeURL, arguments);\n  });\n if (nativeRevokeObjectURL)\n  redefine(URLConstructor, 'revokeObjectURL', function revokeObjectURL(url) {\n   return nativeRevokeObjectURL.apply(NativeURL, arguments);\n  });\n}\nsetToStringTag(URLConstructor, 'URL');\n$({\n global: true,\n forced: !USE_NATIVE_URL,\n sham: !DESCRIPTORS\n}, { URL: URLConstructor });\n\n/***/ }),\n/* 138 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(14);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar IS_PURE = __w_pdfjs_require__(37);\nvar ITERATOR = wellKnownSymbol('iterator');\nmodule.exports = !fails(function () {\n var url = new URL('b?a=1&b=2&c=3', 'http://a');\n var searchParams = url.searchParams;\n var result = '';\n url.pathname = 'c%20d';\n searchParams.forEach(function (value, key) {\n  searchParams['delete']('b');\n  result += key + value;\n });\n return IS_PURE && !url.toJSON || !searchParams.sort || url.href !== 'http://a/c%20d?a=1&c=3' || searchParams.get('c') !== '3' || String(new URLSearchParams('?a=1')) !== 'a=1' || !searchParams[ITERATOR] || new URL('https://a@b').username !== 'a' || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b' || new URL('http://тест').host !== 'xn--e1aybc' || new URL('http://a#б').hash !== '#%D0%B1' || result !== 'a1c3' || new URL('http://x', undefined).host !== 'x';\n});\n\n/***/ }),\n/* 139 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar maxInt = 2147483647;\nvar base = 36;\nvar tMin = 1;\nvar tMax = 26;\nvar skew = 38;\nvar damp = 700;\nvar initialBias = 72;\nvar initialN = 128;\nvar delimiter = '-';\nvar regexNonASCII = /[^\\0-\\u007E]/;\nvar regexSeparators = /[.\\u3002\\uFF0E\\uFF61]/g;\nvar OVERFLOW_ERROR = 'Overflow: input needs wider integers to process';\nvar baseMinusTMin = base - tMin;\nvar floor = Math.floor;\nvar stringFromCharCode = String.fromCharCode;\nvar ucs2decode = function (string) {\n var output = [];\n var counter = 0;\n var length = string.length;\n while (counter < length) {\n  var value = string.charCodeAt(counter++);\n  if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n   var extra = string.charCodeAt(counter++);\n   if ((extra & 0xFC00) == 0xDC00) {\n    output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n   } else {\n    output.push(value);\n    counter--;\n   }\n  } else {\n   output.push(value);\n  }\n }\n return output;\n};\nvar digitToBasic = function (digit) {\n return digit + 22 + 75 * (digit < 26);\n};\nvar adapt = function (delta, numPoints, firstTime) {\n var k = 0;\n delta = firstTime ? floor(delta / damp) : delta >> 1;\n delta += floor(delta / numPoints);\n for (; delta > baseMinusTMin * tMax >> 1; k += base) {\n  delta = floor(delta / baseMinusTMin);\n }\n return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n};\nvar encode = function (input) {\n var output = [];\n input = ucs2decode(input);\n var inputLength = input.length;\n var n = initialN;\n var delta = 0;\n var bias = initialBias;\n var i, currentValue;\n for (i = 0; i < input.length; i++) {\n  currentValue = input[i];\n  if (currentValue < 0x80) {\n   output.push(stringFromCharCode(currentValue));\n  }\n }\n var basicLength = output.length;\n var handledCPCount = basicLength;\n if (basicLength) {\n  output.push(delimiter);\n }\n while (handledCPCount < inputLength) {\n  var m = maxInt;\n  for (i = 0; i < input.length; i++) {\n   currentValue = input[i];\n   if (currentValue >= n && currentValue < m) {\n    m = currentValue;\n   }\n  }\n  var handledCPCountPlusOne = handledCPCount + 1;\n  if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n   throw RangeError(OVERFLOW_ERROR);\n  }\n  delta += (m - n) * handledCPCountPlusOne;\n  n = m;\n  for (i = 0; i < input.length; i++) {\n   currentValue = input[i];\n   if (currentValue < n && ++delta > maxInt) {\n    throw RangeError(OVERFLOW_ERROR);\n   }\n   if (currentValue == n) {\n    var q = delta;\n    for (var k = base;; k += base) {\n     var t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias;\n     if (q < t)\n      break;\n     var qMinusT = q - t;\n     var baseMinusT = base - t;\n     output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT)));\n     q = floor(qMinusT / baseMinusT);\n    }\n    output.push(stringFromCharCode(digitToBasic(q)));\n    bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n    delta = 0;\n    ++handledCPCount;\n   }\n  }\n  ++delta;\n  ++n;\n }\n return output.join('');\n};\nmodule.exports = function (input) {\n var encoded = [];\n var labels = input.toLowerCase().replace(regexSeparators, '\\u002E').split('.');\n var i, label;\n for (i = 0; i < labels.length; i++) {\n  label = labels[i];\n  encoded.push(regexNonASCII.test(label) ? 'xn--' + encode(label) : label);\n }\n return encoded.join('.');\n};\n\n/***/ }),\n/* 140 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n__w_pdfjs_require__(118);\nvar $ = __w_pdfjs_require__(10);\nvar getBuiltIn = __w_pdfjs_require__(42);\nvar USE_NATIVE_URL = __w_pdfjs_require__(138);\nvar redefine = __w_pdfjs_require__(29);\nvar redefineAll = __w_pdfjs_require__(121);\nvar setToStringTag = __w_pdfjs_require__(85);\nvar createIteratorConstructor = __w_pdfjs_require__(80);\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar anInstance = __w_pdfjs_require__(123);\nvar hasOwn = __w_pdfjs_require__(23);\nvar bind = __w_pdfjs_require__(62);\nvar classof = __w_pdfjs_require__(95);\nvar anObject = __w_pdfjs_require__(28);\nvar isObject = __w_pdfjs_require__(22);\nvar create = __w_pdfjs_require__(71);\nvar createPropertyDescriptor = __w_pdfjs_require__(16);\nvar getIterator = __w_pdfjs_require__(141);\nvar getIteratorMethod = __w_pdfjs_require__(94);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar $fetch = getBuiltIn('fetch');\nvar Headers = getBuiltIn('Headers');\nvar ITERATOR = wellKnownSymbol('iterator');\nvar URL_SEARCH_PARAMS = 'URLSearchParams';\nvar URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS);\nvar getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR);\nvar plus = /\\+/g;\nvar sequences = Array(4);\nvar percentSequence = function (bytes) {\n return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\\\da-f]{2}){' + bytes + '})', 'gi'));\n};\nvar percentDecode = function (sequence) {\n try {\n  return decodeURIComponent(sequence);\n } catch (error) {\n  return sequence;\n }\n};\nvar deserialize = function (it) {\n var result = it.replace(plus, ' ');\n var bytes = 4;\n try {\n  return decodeURIComponent(result);\n } catch (error) {\n  while (bytes) {\n   result = result.replace(percentSequence(bytes--), percentDecode);\n  }\n  return result;\n }\n};\nvar find = /[!'()~]|%20/g;\nvar replace = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+'\n};\nvar replacer = function (match) {\n return replace[match];\n};\nvar serialize = function (it) {\n return encodeURIComponent(it).replace(find, replacer);\n};\nvar parseSearchParams = function (result, query) {\n if (query) {\n  var attributes = query.split('&');\n  var index = 0;\n  var attribute, entry;\n  while (index < attributes.length) {\n   attribute = attributes[index++];\n   if (attribute.length) {\n    entry = attribute.split('=');\n    result.push({\n     key: deserialize(entry.shift()),\n     value: deserialize(entry.join('='))\n    });\n   }\n  }\n }\n};\nvar updateSearchParams = function (query) {\n this.entries.length = 0;\n parseSearchParams(this.entries, query);\n};\nvar validateArgumentsLength = function (passed, required) {\n if (passed < required)\n  throw TypeError('Not enough arguments');\n};\nvar URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) {\n setInternalState(this, {\n  type: URL_SEARCH_PARAMS_ITERATOR,\n  iterator: getIterator(getInternalParamsState(params).entries),\n  kind: kind\n });\n}, 'Iterator', function next() {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var step = state.iterator.next();\n var entry = step.value;\n if (!step.done) {\n  step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [\n   entry.key,\n   entry.value\n  ];\n }\n return step;\n});\nvar URLSearchParamsConstructor = function URLSearchParams() {\n anInstance(this, URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n var init = arguments.length > 0 ? arguments[0] : undefined;\n var that = this;\n var entries = [];\n var iteratorMethod, iterator, next, step, entryIterator, entryNext, first, second, key;\n setInternalState(that, {\n  type: URL_SEARCH_PARAMS,\n  entries: entries,\n  updateURL: function () {\n  },\n  updateSearchParams: updateSearchParams\n });\n if (init !== undefined) {\n  if (isObject(init)) {\n   iteratorMethod = getIteratorMethod(init);\n   if (typeof iteratorMethod === 'function') {\n    iterator = iteratorMethod.call(init);\n    next = iterator.next;\n    while (!(step = next.call(iterator)).done) {\n     entryIterator = getIterator(anObject(step.value));\n     entryNext = entryIterator.next;\n     if ((first = entryNext.call(entryIterator)).done || (second = entryNext.call(entryIterator)).done || !entryNext.call(entryIterator).done)\n      throw TypeError('Expected sequence with length 2');\n     entries.push({\n      key: first.value + '',\n      value: second.value + ''\n     });\n    }\n   } else\n    for (key in init)\n     if (hasOwn(init, key))\n      entries.push({\n       key: key,\n       value: init[key] + ''\n      });\n  } else {\n   parseSearchParams(entries, typeof init === 'string' ? init.charAt(0) === '?' ? init.slice(1) : init : init + '');\n  }\n }\n};\nvar URLSearchParamsPrototype = URLSearchParamsConstructor.prototype;\nredefineAll(URLSearchParamsPrototype, {\n append: function append(name, value) {\n  validateArgumentsLength(arguments.length, 2);\n  var state = getInternalParamsState(this);\n  state.entries.push({\n   key: name + '',\n   value: value + ''\n  });\n  state.updateURL();\n },\n 'delete': function (name) {\n  validateArgumentsLength(arguments.length, 1);\n  var state = getInternalParamsState(this);\n  var entries = state.entries;\n  var key = name + '';\n  var index = 0;\n  while (index < entries.length) {\n   if (entries[index].key === key)\n    entries.splice(index, 1);\n   else\n    index++;\n  }\n  state.updateURL();\n },\n get: function get(name) {\n  validateArgumentsLength(arguments.length, 1);\n  var entries = getInternalParamsState(this).entries;\n  var key = name + '';\n  var index = 0;\n  for (; index < entries.length; index++) {\n   if (entries[index].key === key)\n    return entries[index].value;\n  }\n  return null;\n },\n getAll: function getAll(name) {\n  validateArgumentsLength(arguments.length, 1);\n  var entries = getInternalParamsState(this).entries;\n  var key = name + '';\n  var result = [];\n  var index = 0;\n  for (; index < entries.length; index++) {\n   if (entries[index].key === key)\n    result.push(entries[index].value);\n  }\n  return result;\n },\n has: function has(name) {\n  validateArgumentsLength(arguments.length, 1);\n  var entries = getInternalParamsState(this).entries;\n  var key = name + '';\n  var index = 0;\n  while (index < entries.length) {\n   if (entries[index++].key === key)\n    return true;\n  }\n  return false;\n },\n set: function set(name, value) {\n  validateArgumentsLength(arguments.length, 1);\n  var state = getInternalParamsState(this);\n  var entries = state.entries;\n  var found = false;\n  var key = name + '';\n  var val = value + '';\n  var index = 0;\n  var entry;\n  for (; index < entries.length; index++) {\n   entry = entries[index];\n   if (entry.key === key) {\n    if (found)\n     entries.splice(index--, 1);\n    else {\n     found = true;\n     entry.value = val;\n    }\n   }\n  }\n  if (!found)\n   entries.push({\n    key: key,\n    value: val\n   });\n  state.updateURL();\n },\n sort: function sort() {\n  var state = getInternalParamsState(this);\n  var entries = state.entries;\n  var slice = entries.slice();\n  var entry, entriesIndex, sliceIndex;\n  entries.length = 0;\n  for (sliceIndex = 0; sliceIndex < slice.length; sliceIndex++) {\n   entry = slice[sliceIndex];\n   for (entriesIndex = 0; entriesIndex < sliceIndex; entriesIndex++) {\n    if (entries[entriesIndex].key > entry.key) {\n     entries.splice(entriesIndex, 0, entry);\n     break;\n    }\n   }\n   if (entriesIndex === sliceIndex)\n    entries.push(entry);\n  }\n  state.updateURL();\n },\n forEach: function forEach(callback) {\n  var entries = getInternalParamsState(this).entries;\n  var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined, 3);\n  var index = 0;\n  var entry;\n  while (index < entries.length) {\n   entry = entries[index++];\n   boundFunction(entry.value, entry.key, this);\n  }\n },\n keys: function keys() {\n  return new URLSearchParamsIterator(this, 'keys');\n },\n values: function values() {\n  return new URLSearchParamsIterator(this, 'values');\n },\n entries: function entries() {\n  return new URLSearchParamsIterator(this, 'entries');\n }\n}, { enumerable: true });\nredefine(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries);\nredefine(URLSearchParamsPrototype, 'toString', function toString() {\n var entries = getInternalParamsState(this).entries;\n var result = [];\n var index = 0;\n var entry;\n while (index < entries.length) {\n  entry = entries[index++];\n  result.push(serialize(entry.key) + '=' + serialize(entry.value));\n }\n return result.join('&');\n}, { enumerable: true });\nsetToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n$({\n global: true,\n forced: !USE_NATIVE_URL\n}, { URLSearchParams: URLSearchParamsConstructor });\nif (!USE_NATIVE_URL && typeof $fetch == 'function' && typeof Headers == 'function') {\n $({\n  global: true,\n  enumerable: true,\n  forced: true\n }, {\n  fetch: function fetch(input) {\n   var args = [input];\n   var init, body, headers;\n   if (arguments.length > 1) {\n    init = arguments[1];\n    if (isObject(init)) {\n     body = init.body;\n     if (classof(body) === URL_SEARCH_PARAMS) {\n      headers = init.headers ? new Headers(init.headers) : new Headers();\n      if (!headers.has('content-type')) {\n       headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n      }\n      init = create(init, {\n       body: createPropertyDescriptor(0, String(body)),\n       headers: createPropertyDescriptor(0, headers)\n      });\n     }\n    }\n    args.push(init);\n   }\n   return $fetch.apply(this, args);\n  }\n });\n}\nmodule.exports = {\n URLSearchParams: URLSearchParamsConstructor,\n getState: getInternalParamsState\n};\n\n/***/ }),\n/* 141 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(28);\nvar getIteratorMethod = __w_pdfjs_require__(94);\nmodule.exports = function (it) {\n var iteratorMethod = getIteratorMethod(it);\n if (typeof iteratorMethod != 'function') {\n  throw TypeError(String(it) + ' is not iterable');\n }\n return anObject(iteratorMethod.call(it));\n};\n\n/***/ }),\n/* 142 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\n$({\n target: 'URL',\n proto: true,\n enumerable: true\n}, {\n toJSON: function toJSON() {\n  return URL.prototype.toString.call(this);\n }\n});\n\n/***/ }),\n/* 143 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n(function (global, factory) {\n  true ? factory(exports) : undefined;\n}(this, function (exports) {\n 'use strict';\n var SymbolPolyfill = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? Symbol : function (description) {\n  return \"Symbol(\" + description + \")\";\n };\n function noop() {\n }\n var NumberIsNaN = Number.isNaN || function (x) {\n  return x !== x;\n };\n var rethrowAssertionErrorRejection = noop;\n function typeIsObject(x) {\n  return typeof x === 'object' && x !== null || typeof x === 'function';\n }\n function createArrayFromList(elements) {\n  return elements.slice();\n }\n function ArrayBufferCopy(dest, destOffset, src, srcOffset, n) {\n  new Uint8Array(dest).set(new Uint8Array(src, srcOffset, n), destOffset);\n }\n function IsFiniteNonNegativeNumber(v) {\n  if (IsNonNegativeNumber(v) === false) {\n   return false;\n  }\n  if (v === Infinity) {\n   return false;\n  }\n  return true;\n }\n function IsNonNegativeNumber(v) {\n  if (typeof v !== 'number') {\n   return false;\n  }\n  if (NumberIsNaN(v)) {\n   return false;\n  }\n  if (v < 0) {\n   return false;\n  }\n  return true;\n }\n function Call(F, V, args) {\n  if (typeof F !== 'function') {\n   throw new TypeError('Argument is not a function');\n  }\n  return Function.prototype.apply.call(F, V, args);\n }\n function CreateAlgorithmFromUnderlyingMethod(underlyingObject, methodName, algoArgCount, extraArgs) {\n  var method = underlyingObject[methodName];\n  if (method !== undefined) {\n   if (typeof method !== 'function') {\n    throw new TypeError(method + \" is not a method\");\n   }\n   switch (algoArgCount) {\n   case 0: {\n     return function () {\n      return PromiseCall(method, underlyingObject, extraArgs);\n     };\n    }\n   case 1: {\n     return function (arg) {\n      var fullArgs = [arg].concat(extraArgs);\n      return PromiseCall(method, underlyingObject, fullArgs);\n     };\n    }\n   }\n  }\n  return function () {\n   return promiseResolvedWith(undefined);\n  };\n }\n function InvokeOrNoop(O, P, args) {\n  var method = O[P];\n  if (method === undefined) {\n   return undefined;\n  }\n  return Call(method, O, args);\n }\n function PromiseCall(F, V, args) {\n  try {\n   return promiseResolvedWith(Call(F, V, args));\n  } catch (value) {\n   return promiseRejectedWith(value);\n  }\n }\n function TransferArrayBuffer(O) {\n  return O;\n }\n function IsDetachedBuffer(O) {\n  return false;\n }\n function ValidateAndNormalizeHighWaterMark(highWaterMark) {\n  highWaterMark = Number(highWaterMark);\n  if (NumberIsNaN(highWaterMark) || highWaterMark < 0) {\n   throw new RangeError('highWaterMark property of a queuing strategy must be non-negative and non-NaN');\n  }\n  return highWaterMark;\n }\n function MakeSizeAlgorithmFromSizeFunction(size) {\n  if (size === undefined) {\n   return function () {\n    return 1;\n   };\n  }\n  if (typeof size !== 'function') {\n   throw new TypeError('size property of a queuing strategy must be a function');\n  }\n  return function (chunk) {\n   return size(chunk);\n  };\n }\n var originalPromise = Promise;\n var originalPromiseThen = Promise.prototype.then;\n var originalPromiseResolve = Promise.resolve.bind(originalPromise);\n var originalPromiseReject = Promise.reject.bind(originalPromise);\n function newPromise(executor) {\n  return new originalPromise(executor);\n }\n function promiseResolvedWith(value) {\n  return originalPromiseResolve(value);\n }\n function promiseRejectedWith(reason) {\n  return originalPromiseReject(reason);\n }\n function PerformPromiseThen(promise, onFulfilled, onRejected) {\n  return originalPromiseThen.call(promise, onFulfilled, onRejected);\n }\n function uponPromise(promise, onFulfilled, onRejected) {\n  PerformPromiseThen(PerformPromiseThen(promise, onFulfilled, onRejected), undefined, rethrowAssertionErrorRejection);\n }\n function uponFulfillment(promise, onFulfilled) {\n  uponPromise(promise, onFulfilled);\n }\n function uponRejection(promise, onRejected) {\n  uponPromise(promise, undefined, onRejected);\n }\n function transformPromiseWith(promise, fulfillmentHandler, rejectionHandler) {\n  return PerformPromiseThen(promise, fulfillmentHandler, rejectionHandler);\n }\n function setPromiseIsHandledToTrue(promise) {\n  PerformPromiseThen(promise, undefined, rethrowAssertionErrorRejection);\n }\n var QUEUE_MAX_ARRAY_SIZE = 16384;\n var SimpleQueue = function () {\n  function SimpleQueue() {\n   this._cursor = 0;\n   this._size = 0;\n   this._front = {\n    _elements: [],\n    _next: undefined\n   };\n   this._back = this._front;\n   this._cursor = 0;\n   this._size = 0;\n  }\n  Object.defineProperty(SimpleQueue.prototype, \"length\", {\n   get: function () {\n    return this._size;\n   },\n   enumerable: true,\n   configurable: true\n  });\n  SimpleQueue.prototype.push = function (element) {\n   var oldBack = this._back;\n   var newBack = oldBack;\n   if (oldBack._elements.length === QUEUE_MAX_ARRAY_SIZE - 1) {\n    newBack = {\n     _elements: [],\n     _next: undefined\n    };\n   }\n   oldBack._elements.push(element);\n   if (newBack !== oldBack) {\n    this._back = newBack;\n    oldBack._next = newBack;\n   }\n   ++this._size;\n  };\n  SimpleQueue.prototype.shift = function () {\n   var oldFront = this._front;\n   var newFront = oldFront;\n   var oldCursor = this._cursor;\n   var newCursor = oldCursor + 1;\n   var elements = oldFront._elements;\n   var element = elements[oldCursor];\n   if (newCursor === QUEUE_MAX_ARRAY_SIZE) {\n    newFront = oldFront._next;\n    newCursor = 0;\n   }\n   --this._size;\n   this._cursor = newCursor;\n   if (oldFront !== newFront) {\n    this._front = newFront;\n   }\n   elements[oldCursor] = undefined;\n   return element;\n  };\n  SimpleQueue.prototype.forEach = function (callback) {\n   var i = this._cursor;\n   var node = this._front;\n   var elements = node._elements;\n   while (i !== elements.length || node._next !== undefined) {\n    if (i === elements.length) {\n     node = node._next;\n     elements = node._elements;\n     i = 0;\n     if (elements.length === 0) {\n      break;\n     }\n    }\n    callback(elements[i]);\n    ++i;\n   }\n  };\n  SimpleQueue.prototype.peek = function () {\n   var front = this._front;\n   var cursor = this._cursor;\n   return front._elements[cursor];\n  };\n  return SimpleQueue;\n }();\n function ReadableStreamCreateReadResult(value, done, forAuthorCode) {\n  var prototype = null;\n  if (forAuthorCode === true) {\n   prototype = Object.prototype;\n  }\n  var obj = Object.create(prototype);\n  obj.value = value;\n  obj.done = done;\n  return obj;\n }\n function ReadableStreamReaderGenericInitialize(reader, stream) {\n  reader._forAuthorCode = true;\n  reader._ownerReadableStream = stream;\n  stream._reader = reader;\n  if (stream._state === 'readable') {\n   defaultReaderClosedPromiseInitialize(reader);\n  } else if (stream._state === 'closed') {\n   defaultReaderClosedPromiseInitializeAsResolved(reader);\n  } else {\n   defaultReaderClosedPromiseInitializeAsRejected(reader, stream._storedError);\n  }\n }\n function ReadableStreamReaderGenericCancel(reader, reason) {\n  var stream = reader._ownerReadableStream;\n  return ReadableStreamCancel(stream, reason);\n }\n function ReadableStreamReaderGenericRelease(reader) {\n  if (reader._ownerReadableStream._state === 'readable') {\n   defaultReaderClosedPromiseReject(reader, new TypeError('Reader was released and can no longer be used to monitor the stream\\'s closedness'));\n  } else {\n   defaultReaderClosedPromiseResetToRejected(reader, new TypeError('Reader was released and can no longer be used to monitor the stream\\'s closedness'));\n  }\n  reader._ownerReadableStream._reader = undefined;\n  reader._ownerReadableStream = undefined;\n }\n function readerLockException(name) {\n  return new TypeError('Cannot ' + name + ' a stream using a released reader');\n }\n function defaultReaderClosedPromiseInitialize(reader) {\n  reader._closedPromise = newPromise(function (resolve, reject) {\n   reader._closedPromise_resolve = resolve;\n   reader._closedPromise_reject = reject;\n  });\n }\n function defaultReaderClosedPromiseInitializeAsRejected(reader, reason) {\n  defaultReaderClosedPromiseInitialize(reader);\n  defaultReaderClosedPromiseReject(reader, reason);\n }\n function defaultReaderClosedPromiseInitializeAsResolved(reader) {\n  defaultReaderClosedPromiseInitialize(reader);\n  defaultReaderClosedPromiseResolve(reader);\n }\n function defaultReaderClosedPromiseReject(reader, reason) {\n  setPromiseIsHandledToTrue(reader._closedPromise);\n  reader._closedPromise_reject(reason);\n  reader._closedPromise_resolve = undefined;\n  reader._closedPromise_reject = undefined;\n }\n function defaultReaderClosedPromiseResetToRejected(reader, reason) {\n  defaultReaderClosedPromiseInitializeAsRejected(reader, reason);\n }\n function defaultReaderClosedPromiseResolve(reader) {\n  reader._closedPromise_resolve(undefined);\n  reader._closedPromise_resolve = undefined;\n  reader._closedPromise_reject = undefined;\n }\n var CancelSteps = SymbolPolyfill('[[CancelSteps]]');\n var PullSteps = SymbolPolyfill('[[PullSteps]]');\n function AcquireReadableStreamDefaultReader(stream, forAuthorCode) {\n  if (forAuthorCode === void 0) {\n   forAuthorCode = false;\n  }\n  var reader = new ReadableStreamDefaultReader(stream);\n  reader._forAuthorCode = forAuthorCode;\n  return reader;\n }\n function ReadableStreamAddReadRequest(stream) {\n  var promise = newPromise(function (resolve, reject) {\n   var readRequest = {\n    _resolve: resolve,\n    _reject: reject\n   };\n   stream._reader._readRequests.push(readRequest);\n  });\n  return promise;\n }\n function ReadableStreamFulfillReadRequest(stream, chunk, done) {\n  var reader = stream._reader;\n  var readRequest = reader._readRequests.shift();\n  readRequest._resolve(ReadableStreamCreateReadResult(chunk, done, reader._forAuthorCode));\n }\n function ReadableStreamGetNumReadRequests(stream) {\n  return stream._reader._readRequests.length;\n }\n function ReadableStreamHasDefaultReader(stream) {\n  var reader = stream._reader;\n  if (reader === undefined) {\n   return false;\n  }\n  if (!IsReadableStreamDefaultReader(reader)) {\n   return false;\n  }\n  return true;\n }\n var ReadableStreamDefaultReader = function () {\n  function ReadableStreamDefaultReader(stream) {\n   if (IsReadableStream(stream) === false) {\n    throw new TypeError('ReadableStreamDefaultReader can only be constructed with a ReadableStream instance');\n   }\n   if (IsReadableStreamLocked(stream) === true) {\n    throw new TypeError('This stream has already been locked for exclusive reading by another reader');\n   }\n   ReadableStreamReaderGenericInitialize(this, stream);\n   this._readRequests = new SimpleQueue();\n  }\n  Object.defineProperty(ReadableStreamDefaultReader.prototype, \"closed\", {\n   get: function () {\n    if (!IsReadableStreamDefaultReader(this)) {\n     return promiseRejectedWith(defaultReaderBrandCheckException('closed'));\n    }\n    return this._closedPromise;\n   },\n   enumerable: true,\n   configurable: true\n  });\n  ReadableStreamDefaultReader.prototype.cancel = function (reason) {\n   if (!IsReadableStreamDefaultReader(this)) {\n    return promiseRejectedWith(defaultReaderBrandCheckException('cancel'));\n   }\n   if (this._ownerReadableStream === undefined) {\n    return promiseRejectedWith(readerLockException('cancel'));\n   }\n   return ReadableStreamReaderGenericCancel(this, reason);\n  };\n  ReadableStreamDefaultReader.prototype.read = function () {\n   if (!IsReadableStreamDefaultReader(this)) {\n    return promiseRejectedWith(defaultReaderBrandCheckException('read'));\n   }\n   if (this._ownerReadableStream === undefined) {\n    return promiseRejectedWith(readerLockException('read from'));\n   }\n   return ReadableStreamDefaultReaderRead(this);\n  };\n  ReadableStreamDefaultReader.prototype.releaseLock = function () {\n   if (!IsReadableStreamDefaultReader(this)) {\n    throw defaultReaderBrandCheckException('releaseLock');\n   }\n   if (this._ownerReadableStream === undefined) {\n    return;\n   }\n   if (this._readRequests.length > 0) {\n    throw new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled');\n   }\n   ReadableStreamReaderGenericRelease(this);\n  };\n  return ReadableStreamDefaultReader;\n }();\n function IsReadableStreamDefaultReader(x) {\n  if (!typeIsObject(x)) {\n   return false;\n  }\n  if (!Object.prototype.hasOwnProperty.call(x, '_readRequests')) {\n   return false;\n  }\n  return true;\n }\n function ReadableStreamDefaultReaderRead(reader) {\n  var stream = reader._ownerReadableStream;\n  stream._disturbed = true;\n  if (stream._state === 'closed') {\n   return promiseResolvedWith(ReadableStreamCreateReadResult(undefined, true, reader._forAuthorCode));\n  }\n  if (stream._state === 'errored') {\n   return promiseRejectedWith(stream._storedError);\n  }\n  return stream._readableStreamController[PullSteps]();\n }\n function defaultReaderBrandCheckException(name) {\n  return new TypeError(\"ReadableStreamDefaultReader.prototype.\" + name + \" can only be used on a ReadableStreamDefaultReader\");\n }\n var _a;\n var AsyncIteratorPrototype;\n if (typeof SymbolPolyfill.asyncIterator === 'symbol') {\n  AsyncIteratorPrototype = (_a = {}, _a[SymbolPolyfill.asyncIterator] = function () {\n   return this;\n  }, _a);\n  Object.defineProperty(AsyncIteratorPrototype, SymbolPolyfill.asyncIterator, { enumerable: false });\n }\n var ReadableStreamAsyncIteratorPrototype = {\n  next: function () {\n   if (IsReadableStreamAsyncIterator(this) === false) {\n    return promiseRejectedWith(streamAsyncIteratorBrandCheckException('next'));\n   }\n   var reader = this._asyncIteratorReader;\n   if (reader._ownerReadableStream === undefined) {\n    return promiseRejectedWith(readerLockException('iterate'));\n   }\n   return transformPromiseWith(ReadableStreamDefaultReaderRead(reader), function (result) {\n    var done = result.done;\n    if (done) {\n     ReadableStreamReaderGenericRelease(reader);\n    }\n    var value = result.value;\n    return ReadableStreamCreateReadResult(value, done, true);\n   });\n  },\n  return: function (value) {\n   if (IsReadableStreamAsyncIterator(this) === false) {\n    return promiseRejectedWith(streamAsyncIteratorBrandCheckException('next'));\n   }\n   var reader = this._asyncIteratorReader;\n   if (reader._ownerReadableStream === undefined) {\n    return promiseRejectedWith(readerLockException('finish iterating'));\n   }\n   if (reader._readRequests.length > 0) {\n    return promiseRejectedWith(new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled'));\n   }\n   if (this._preventCancel === false) {\n    var result = ReadableStreamReaderGenericCancel(reader, value);\n    ReadableStreamReaderGenericRelease(reader);\n    return transformPromiseWith(result, function () {\n     return ReadableStreamCreateReadResult(value, true, true);\n    });\n   }\n   ReadableStreamReaderGenericRelease(reader);\n   return promiseResolvedWith(ReadableStreamCreateReadResult(value, true, true));\n  }\n };\n if (AsyncIteratorPrototype !== undefined) {\n  Object.setPrototypeOf(ReadableStreamAsyncIteratorPrototype, AsyncIteratorPrototype);\n }\n Object.defineProperty(ReadableStreamAsyncIteratorPrototype, 'next', { enumerable: false });\n Object.defineProperty(ReadableStreamAsyncIteratorPrototype, 'return', { enumerable: false });\n function AcquireReadableStreamAsyncIterator(stream, preventCancel) {\n  if (preventCancel === void 0) {\n   preventCancel = false;\n  }\n  var reader = AcquireReadableStreamDefaultReader(stream);\n  var iterator = Object.create(ReadableStreamAsyncIteratorPrototype);\n  iterator._asyncIteratorReader = reader;\n  iterator._preventCancel = Boolean(preventCancel);\n  return iterator;\n }\n function IsReadableStreamAsyncIterator(x) {\n  if (!typeIsObject(x)) {\n   return false;\n  }\n  if (!Object.prototype.hasOwnProperty.call(x, '_asyncIteratorReader')) {\n   return false;\n  }\n  return true;\n }\n function streamAsyncIteratorBrandCheckException(name) {\n  return new TypeError(\"ReadableStreamAsyncIterator.\" + name + \" can only be used on a ReadableSteamAsyncIterator\");\n }\n function DequeueValue(container) {\n  var pair = container._queue.shift();\n  container._queueTotalSize -= pair.size;\n  if (container._queueTotalSize < 0) {\n   container._queueTotalSize = 0;\n  }\n  return pair.value;\n }\n function EnqueueValueWithSize(container, value, size) {\n  size = Number(size);\n  if (!IsFiniteNonNegativeNumber(size)) {\n   throw new RangeError('Size must be a finite, non-NaN, non-negative number.');\n  }\n  container._queue.push({\n   value: value,\n   size: size\n  });\n  container._queueTotalSize += size;\n }\n function PeekQueueValue(container) {\n  var pair = container._queue.peek();\n  return pair.value;\n }\n function ResetQueue(container) {\n  container._queue = new SimpleQueue();\n  container._queueTotalSize = 0;\n }\n var AbortSteps = SymbolPolyfill('[[AbortSteps]]');\n var ErrorSteps = SymbolPolyfill('[[ErrorSteps]]');\n var WritableStream = function () {\n  function WritableStream(underlyingSink, strategy) {\n   if (underlyingSink === void 0) {\n    underlyingSink = {};\n   }\n   if (strategy === void 0) {\n    strategy = {};\n   }\n   InitializeWritableStream(this);\n   var size = strategy.size;\n   var highWaterMark = strategy.highWaterMark;\n   var type = underlyingSink.type;\n   if (type !== undefined) {\n    throw new RangeError('Invalid type is specified');\n   }\n   var sizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(size);\n   if (highWaterMark === undefined) {\n    highWaterMark = 1;\n   }\n   highWaterMark = ValidateAndNormalizeHighWaterMark(highWaterMark);\n   SetUpWritableStreamDefaultControllerFromUnderlyingSink(this, underlyingSink, highWaterMark, sizeAlgorithm);\n  }\n  Object.defineProperty(WritableStream.prototype, \"locked\", {\n   get: function () {\n    if (IsWritableStream(this) === false) {\n     throw streamBrandCheckException('locked');\n    }\n    return IsWritableStreamLocked(this);\n   },\n   enumerable: true,\n   configurable: true\n  });\n  WritableStream.prototype.abort = function (reason) {\n   if (IsWritableStream(this) === false) {\n    return promiseRejectedWith(streamBrandCheckException('abort'));\n   }\n   if (IsWritableStreamLocked(this) === true) {\n    return promiseRejectedWith(new TypeError('Cannot abort a stream that already has a writer'));\n   }\n   return WritableStreamAbort(this, reason);\n  };\n  WritableStream.prototype.close = function () {\n   if (IsWritableStream(this) === false) {\n    return promiseRejectedWith(streamBrandCheckException('close'));\n   }\n   if (IsWritableStreamLocked(this) === true) {\n    return promiseRejectedWith(new TypeError('Cannot close a stream that already has a writer'));\n   }\n   if (WritableStreamCloseQueuedOrInFlight(this) === true) {\n    return promiseRejectedWith(new TypeError('Cannot close an already-closing stream'));\n   }\n   return WritableStreamClose(this);\n  };\n  WritableStream.prototype.getWriter = function () {\n   if (IsWritableStream(this) === false) {\n    throw streamBrandCheckException('getWriter');\n   }\n   return AcquireWritableStreamDefaultWriter(this);\n  };\n  return WritableStream;\n }();\n function AcquireWritableStreamDefaultWriter(stream) {\n  return new WritableStreamDefaultWriter(stream);\n }\n function CreateWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm) {\n  if (highWaterMark === void 0) {\n   highWaterMark = 1;\n  }\n  if (sizeAlgorithm === void 0) {\n   sizeAlgorithm = function () {\n    return 1;\n   };\n  }\n  var stream = Object.create(WritableStream.prototype);\n  InitializeWritableStream(stream);\n  var controller = Object.create(WritableStreamDefaultController.prototype);\n  SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm);\n  return stream;\n }\n function InitializeWritableStream(stream) {\n  stream._state = 'writable';\n  stream._storedError = undefined;\n  stream._writer = undefined;\n  stream._writableStreamController = undefined;\n  stream._writeRequests = new SimpleQueue();\n  stream._inFlightWriteRequest = undefined;\n  stream._closeRequest = undefined;\n  stream._inFlightCloseRequest = undefined;\n  stream._pendingAbortRequest = undefined;\n  stream._backpressure = false;\n }\n function IsWritableStream(x) {\n  if (!typeIsObject(x)) {\n   return false;\n  }\n  if (!Object.prototype.hasOwnProperty.call(x, '_writableStreamController')) {\n   return false;\n  }\n  return true;\n }\n function IsWritableStreamLocked(stream) {\n  if (stream._writer === undefined) {\n   return false;\n  }\n  return true;\n }\n function WritableStreamAbort(stream, reason) {\n  var state = stream._state;\n  if (state === 'closed' || state === 'errored') {\n   return promiseResolvedWith(undefined);\n  }\n  if (stream._pendingAbortRequest !== undefined) {\n   return stream._pendingAbortRequest._promise;\n  }\n  var wasAlreadyErroring = false;\n  if (state === 'erroring') {\n   wasAlreadyErroring = true;\n   reason = undefined;\n  }\n  var promise = newPromise(function (resolve, reject) {\n   stream._pendingAbortRequest = {\n    _promise: undefined,\n    _resolve: resolve,\n    _reject: reject,\n    _reason: reason,\n    _wasAlreadyErroring: wasAlreadyErroring\n   };\n  });\n  stream._pendingAbortRequest._promise = promise;\n  if (wasAlreadyErroring === false) {\n   WritableStreamStartErroring(stream, reason);\n  }\n  return promise;\n }\n function WritableStreamClose(stream) {\n  var state = stream._state;\n  if (state === 'closed' || state === 'errored') {\n   return promiseRejectedWith(new TypeError(\"The stream (in \" + state + \" state) is not in the writable state and cannot be closed\"));\n  }\n  var promise = newPromise(function (resolve, reject) {\n   var closeRequest = {\n    _resolve: resolve,\n    _reject: reject\n   };\n   stream._closeRequest = closeRequest;\n  });\n  var writer = stream._writer;\n  if (writer !== undefined && stream._backpressure === true && state === 'writable') {\n   defaultWriterReadyPromiseResolve(writer);\n  }\n  WritableStreamDefaultControllerClose(stream._writableStreamController);\n  return promise;\n }\n function WritableStreamAddWriteRequest(stream) {\n  var promise = newPromise(function (resolve, reject) {\n   var writeRequest = {\n    _resolve: resolve,\n    _reject: reject\n   };\n   stream._writeRequests.push(writeRequest);\n  });\n  return promise;\n }\n function WritableStreamDealWithRejection(stream, error) {\n  var state = stream._state;\n  if (state === 'writable') {\n   WritableStreamStartErroring(stream, error);\n   return;\n  }\n  WritableStreamFinishErroring(stream);\n }\n function WritableStreamStartErroring(stream, reason) {\n  var controller = stream._writableStreamController;\n  stream._state = 'erroring';\n  stream._storedError = reason;\n  var writer = stream._writer;\n  if (writer !== undefined) {\n   WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, reason);\n  }\n  if (WritableStreamHasOperationMarkedInFlight(stream) === false && controller._started === true) {\n   WritableStreamFinishErroring(stream);\n  }\n }\n function WritableStreamFinishErroring(stream) {\n  stream._state = 'errored';\n  stream._writableStreamController[ErrorSteps]();\n  var storedError = stream._storedError;\n  stream._writeRequests.forEach(function (writeRequest) {\n   writeRequest._reject(storedError);\n  });\n  stream._writeRequests = new SimpleQueue();\n  if (stream._pendingAbortRequest === undefined) {\n   WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n   return;\n  }\n  var abortRequest = stream._pendingAbortRequest;\n  stream._pendingAbortRequest = undefined;\n  if (abortRequest._wasAlreadyErroring === true) {\n   abortRequest._reject(storedError);\n   WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n   return;\n  }\n  var promise = stream._writableStreamController[AbortSteps](abortRequest._reason);\n  uponPromise(promise, function () {\n   abortRequest._resolve();\n   WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n  }, function (reason) {\n   abortRequest._reject(reason);\n   WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n  });\n }\n function WritableStreamFinishInFlightWrite(stream) {\n  stream._inFlightWriteRequest._resolve(undefined);\n  stream._inFlightWriteRequest = undefined;\n }\n function WritableStreamFinishInFlightWriteWithError(stream, error) {\n  stream._inFlightWriteRequest._reject(error);\n  stream._inFlightWriteRequest = undefined;\n  WritableStreamDealWithRejection(stream, error);\n }\n function WritableStreamFinishInFlightClose(stream) {\n  stream._inFlightCloseRequest._resolve(undefined);\n  stream._inFlightCloseRequest = undefined;\n  var state = stream._state;\n  if (state === 'erroring') {\n   stream._storedError = undefined;\n   if (stream._pendingAbortRequest !== undefined) {\n    stream._pendingAbortRequest._resolve();\n    stream._pendingAbortRequest = undefined;\n   }\n  }\n  stream._state = 'closed';\n  var writer = stream._writer;\n  if (writer !== undefined) {\n   defaultWriterClosedPromiseResolve(writer);\n  }\n }\n function WritableStreamFinishInFlightCloseWithError(stream, error) {\n  stream._inFlightCloseRequest._reject(error);\n  stream._inFlightCloseRequest = undefined;\n  if (stream._pendingAbortRequest !== undefined) {\n   stream._pendingAbortRequest._reject(error);\n   stream._pendingAbortRequest = undefined;\n  }\n  WritableStreamDealWithRejection(stream, error);\n }\n function WritableStreamCloseQueuedOrInFlight(stream) {\n  if (stream._closeRequest === undefined && stream._inFlightCloseRequest === undefined) {\n   return false;\n  }\n  return true;\n }\n function WritableStreamHasOperationMarkedInFlight(stream) {\n  if (stream._inFlightWriteRequest === undefined && stream._inFlightCloseRequest === undefined) {\n   return false;\n  }\n  return true;\n }\n function WritableStreamMarkCloseRequestInFlight(stream) {\n  stream._inFlightCloseRequest = stream._closeRequest;\n  stream._closeRequest = undefined;\n }\n function WritableStreamMarkFirstWriteRequestInFlight(stream) {\n  stream._inFlightWriteRequest = stream._writeRequests.shift();\n }\n function WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream) {\n  if (stream._closeRequest !== undefined) {\n   stream._closeRequest._reject(stream._storedError);\n   stream._closeRequest = undefined;\n  }\n  var writer = stream._writer;\n  if (writer !== undefined) {\n   defaultWriterClosedPromiseReject(writer, stream._storedError);\n  }\n }\n function WritableStreamUpdateBackpressure(stream, backpressure) {\n  var writer = stream._writer;\n  if (writer !== undefined && backpressure !== stream._backpressure) {\n   if (backpressure === true) {\n    defaultWriterReadyPromiseReset(writer);\n   } else {\n    defaultWriterReadyPromiseResolve(writer);\n   }\n  }\n  stream._backpressure = backpressure;\n }\n var WritableStreamDefaultWriter = function () {\n  function WritableStreamDefaultWriter(stream) {\n   if (IsWritableStream(stream) === false) {\n    throw new TypeError('WritableStreamDefaultWriter can only be constructed with a WritableStream instance');\n   }\n   if (IsWritableStreamLocked(stream) === true) {\n    throw new TypeError('This stream has already been locked for exclusive writing by another writer');\n   }\n   this._ownerWritableStream = stream;\n   stream._writer = this;\n   var state = stream._state;\n   if (state === 'writable') {\n    if (WritableStreamCloseQueuedOrInFlight(stream) === false && stream._backpressure === true) {\n     defaultWriterReadyPromiseInitialize(this);\n    } else {\n     defaultWriterReadyPromiseInitializeAsResolved(this);\n    }\n    defaultWriterClosedPromiseInitialize(this);\n   } else if (state === 'erroring') {\n    defaultWriterReadyPromiseInitializeAsRejected(this, stream._storedError);\n    defaultWriterClosedPromiseInitialize(this);\n   } else if (state === 'closed') {\n    defaultWriterReadyPromiseInitializeAsResolved(this);\n    defaultWriterClosedPromiseInitializeAsResolved(this);\n   } else {\n    var storedError = stream._storedError;\n    defaultWriterReadyPromiseInitializeAsRejected(this, storedError);\n    defaultWriterClosedPromiseInitializeAsRejected(this, storedError);\n   }\n  }\n  Object.defineProperty(WritableStreamDefaultWriter.prototype, \"closed\", {\n   get: function () {\n    if (IsWritableStreamDefaultWriter(this) === false) {\n     return promiseRejectedWith(defaultWriterBrandCheckException('closed'));\n    }\n    return this._closedPromise;\n   },\n   enumerable: true,\n   configurable: true\n  });\n  Object.defineProperty(WritableStreamDefaultWriter.prototype, \"desiredSize\", {\n   get: function () {\n    if (IsWritableStreamDefaultWriter(this) === false) {\n     throw defaultWriterBrandCheckException('desiredSize');\n    }\n    if (this._ownerWritableStream === undefined) {\n     throw defaultWriterLockException('desiredSize');\n    }\n    return WritableStreamDefaultWriterGetDesiredSize(this);\n   },\n   enumerable: true,\n   configurable: true\n  });\n  Object.defineProperty(WritableStreamDefaultWriter.prototype, \"ready\", {\n   get: function () {\n    if (IsWritableStreamDefaultWriter(this) === false) {\n     return promiseRejectedWith(defaultWriterBrandCheckException('ready'));\n    }\n    return this._readyPromise;\n   },\n   enumerable: true,\n   configurable: true\n  });\n  WritableStreamDefaultWriter.prototype.abort = function (reason) {\n   if (IsWritableStreamDefaultWriter(this) === false) {\n    return promiseRejectedWith(defaultWriterBrandCheckException('abort'));\n   }\n   if (this._ownerWritableStream === undefined) {\n    return promiseRejectedWith(defaultWriterLockException('abort'));\n   }\n   return WritableStreamDefaultWriterAbort(this, reason);\n  };\n  WritableStreamDefaultWriter.prototype.close = function () {\n   if (IsWritableStreamDefaultWriter(this) === false) {\n    return promiseRejectedWith(defaultWriterBrandCheckException('close'));\n   }\n   var stream = this._ownerWritableStream;\n   if (stream === undefined) {\n    return promiseRejectedWith(defaultWriterLockException('close'));\n   }\n   if (WritableStreamCloseQueuedOrInFlight(stream) === true) {\n    return promiseRejectedWith(new TypeError('Cannot close an already-closing stream'));\n   }\n   return WritableStreamDefaultWriterClose(this);\n  };\n  WritableStreamDefaultWriter.prototype.releaseLock = function () {\n   if (IsWritableStreamDefaultWriter(this) === false) {\n    throw defaultWriterBrandCheckException('releaseLock');\n   }\n   var stream = this._ownerWritableStream;\n   if (stream === undefined) {\n    return;\n   }\n   WritableStreamDefaultWriterRelease(this);\n  };\n  WritableStreamDefaultWriter.prototype.write = function (chunk) {\n   if (IsWritableStreamDefaultWriter(this) === false) {\n    return promiseRejectedWith(defaultWriterBrandCheckException('write'));\n   }\n   if (this._ownerWritableStream === undefined) {\n    return promiseRejectedWith(defaultWriterLockException('write to'));\n   }\n   return WritableStreamDefaultWriterWrite(this, chunk);\n  };\n  return WritableStreamDefaultWriter;\n }();\n function IsWritableStreamDefaultWriter(x) {\n  if (!typeIsObject(x)) {\n   return false;\n  }\n  if (!Object.prototype.hasOwnProperty.call(x, '_ownerWritableStream')) {\n   return false;\n  }\n  return true;\n }\n function WritableStreamDefaultWriterAbort(writer, reason) {\n  var stream = writer._ownerWritableStream;\n  return WritableStreamAbort(stream, reason);\n }\n function WritableStreamDefaultWriterClose(writer) {\n  var stream = writer._ownerWritableStream;\n  return WritableStreamClose(stream);\n }\n function WritableStreamDefaultWriterCloseWithErrorPropagation(writer) {\n  var stream = writer._ownerWritableStream;\n  var state = stream._state;\n  if (WritableStreamCloseQueuedOrInFlight(stream) === true || state === 'closed') {\n   return promiseResolvedWith(undefined);\n  }\n  if (state === 'errored') {\n   return promiseRejectedWith(stream._storedError);\n  }\n  return WritableStreamDefaultWriterClose(writer);\n }\n function WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, error) {\n  if (writer._closedPromiseState === 'pending') {\n   defaultWriterClosedPromiseReject(writer, error);\n  } else {\n   defaultWriterClosedPromiseResetToRejected(writer, error);\n  }\n }\n function WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, error) {\n  if (writer._readyPromiseState === 'pending') {\n   defaultWriterReadyPromiseReject(writer, error);\n  } else {\n   defaultWriterReadyPromiseResetToRejected(writer, error);\n  }\n }\n function WritableStreamDefaultWriterGetDesiredSize(writer) {\n  var stream = writer._ownerWritableStream;\n  var state = stream._state;\n  if (state === 'errored' || state === 'erroring') {\n   return null;\n  }\n  if (state === 'closed') {\n   return 0;\n  }\n  return WritableStreamDefaultControllerGetDesiredSize(stream._writableStreamController);\n }\n function WritableStreamDefaultWriterRelease(writer) {\n  var stream = writer._ownerWritableStream;\n  var releasedError = new TypeError('Writer was released and can no longer be used to monitor the stream\\'s closedness');\n  WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, releasedError);\n  WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, releasedError);\n  stream._writer = undefined;\n  writer._ownerWritableStream = undefined;\n }\n function WritableStreamDefaultWriterWrite(writer, chunk) {\n  var stream = writer._ownerWritableStream;\n  var controller = stream._writableStreamController;\n  var chunkSize = WritableStreamDefaultControllerGetChunkSize(controller, chunk);\n  if (stream !== writer._ownerWritableStream) {\n   return promiseRejectedWith(defaultWriterLockException('write to'));\n  }\n  var state = stream._state;\n  if (state === 'errored') {\n   return promiseRejectedWith(stream._storedError);\n  }\n  if (WritableStreamCloseQueuedOrInFlight(stream) === true || state === 'closed') {\n   return promiseRejectedWith(new TypeError('The stream is closing or closed and cannot be written to'));\n  }\n  if (state === 'erroring') {\n   return promiseRejectedWith(stream._storedError);\n  }\n  var promise = WritableStreamAddWriteRequest(stream);\n  WritableStreamDefaultControllerWrite(controller, chunk, chunkSize);\n  return promise;\n }\n var WritableStreamDefaultController = function () {\n  function WritableStreamDefaultController() {\n   throw new TypeError('WritableStreamDefaultController cannot be constructed explicitly');\n  }\n  WritableStreamDefaultController.prototype.error = function (e) {\n   if (IsWritableStreamDefaultController(this) === false) {\n    throw new TypeError('WritableStreamDefaultController.prototype.error can only be used on a WritableStreamDefaultController');\n   }\n   var state = this._controlledWritableStream._state;\n   if (state !== 'writable') {\n    return;\n   }\n   WritableStreamDefaultControllerError(this, e);\n  };\n  WritableStreamDefaultController.prototype[AbortSteps] = function (reason) {\n   var result = this._abortAlgorithm(reason);\n   WritableStreamDefaultControllerClearAlgorithms(this);\n   return result;\n  };\n  WritableStreamDefaultController.prototype[ErrorSteps] = function () {\n   ResetQueue(this);\n  };\n  return WritableStreamDefaultController;\n }();\n function IsWritableStreamDefaultController(x) {\n  if (!typeIsObject(x)) {\n   return false;\n  }\n  if (!Object.prototype.hasOwnProperty.call(x, '_controlledWritableStream')) {\n   return false;\n  }\n  return true;\n }\n function SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm) {\n  controller._controlledWritableStream = stream;\n  stream._writableStreamController = controller;\n  controller._queue = undefined;\n  controller._queueTotalSize = undefined;\n  ResetQueue(controller);\n  controller._started = false;\n  controller._strategySizeAlgorithm = sizeAlgorithm;\n  controller._strategyHWM = highWaterMark;\n  controller._writeAlgorithm = writeAlgorithm;\n  controller._closeAlgorithm = closeAlgorithm;\n  controller._abortAlgorithm = abortAlgorithm;\n  var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\n  WritableStreamUpdateBackpressure(stream, backpressure);\n  var startResult = startAlgorithm();\n  var startPromise = promiseResolvedWith(startResult);\n  uponPromise(startPromise, function () {\n   controller._started = true;\n   WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n  }, function (r) {\n   controller._started = true;\n   WritableStreamDealWithRejection(stream, r);\n  });\n }\n function SetUpWritableStreamDefaultControllerFromUnderlyingSink(stream, underlyingSink, highWaterMark, sizeAlgorithm) {\n  var controller = Object.create(WritableStreamDefaultController.prototype);\n  function startAlgorithm() {\n   return InvokeOrNoop(underlyingSink, 'start', [controller]);\n  }\n  var writeAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSink, 'write', 1, [controller]);\n  var closeAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSink, 'close', 0, []);\n  var abortAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSink, 'abort', 1, []);\n  SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm);\n }\n function WritableStreamDefaultControllerClearAlgorithms(controller) {\n  controller._writeAlgorithm = undefined;\n  controller._closeAlgorithm = undefined;\n  controller._abortAlgorithm = undefined;\n  controller._strategySizeAlgorithm = undefined;\n }\n function WritableStreamDefaultControllerClose(controller) {\n  EnqueueValueWithSize(controller, 'close', 0);\n  WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }\n function WritableStreamDefaultControllerGetChunkSize(controller, chunk) {\n  try {\n   return controller._strategySizeAlgorithm(chunk);\n  } catch (chunkSizeE) {\n   WritableStreamDefaultControllerErrorIfNeeded(controller, chunkSizeE);\n   return 1;\n  }\n }\n function WritableStreamDefaultControllerGetDesiredSize(controller) {\n  return controller._strategyHWM - controller._queueTotalSize;\n }\n function WritableStreamDefaultControllerWrite(controller, chunk, chunkSize) {\n  var writeRecord = { chunk: chunk };\n  try {\n   EnqueueValueWithSize(controller, writeRecord, chunkSize);\n  } catch (enqueueE) {\n   WritableStreamDefaultControllerErrorIfNeeded(controller, enqueueE);\n   return;\n  }\n  var stream = controller._controlledWritableStream;\n  if (WritableStreamCloseQueuedOrInFlight(stream) === false && stream._state === 'writable') {\n   var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\n   WritableStreamUpdateBackpressure(stream, backpressure);\n  }\n  WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }\n function WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller) {\n  var stream = controller._controlledWritableStream;\n  if (controller._started === false) {\n   return;\n  }\n  if (stream._inFlightWriteRequest !== undefined) {\n   return;\n  }\n  var state = stream._state;\n  if (state === 'erroring') {\n   WritableStreamFinishErroring(stream);\n   return;\n  }\n  if (controller._queue.length === 0) {\n   return;\n  }\n  var writeRecord = PeekQueueValue(controller);\n  if (writeRecord === 'close') {\n   WritableStreamDefaultControllerProcessClose(controller);\n  } else {\n   WritableStreamDefaultControllerProcessWrite(controller, writeRecord.chunk);\n  }\n }\n function WritableStreamDefaultControllerErrorIfNeeded(controller, error) {\n  if (controller._controlledWritableStream._state === 'writable') {\n   WritableStreamDefaultControllerError(controller, error);\n  }\n }\n function WritableStreamDefaultControllerProcessClose(controller) {\n  var stream = controller._controlledWritableStream;\n  WritableStreamMarkCloseRequestInFlight(stream);\n  DequeueValue(controller);\n  var sinkClosePromise = controller._closeAlgorithm();\n  WritableStreamDefaultControllerClearAlgorithms(controller);\n  uponPromise(sinkClosePromise, function () {\n   WritableStreamFinishInFlightClose(stream);\n  }, function (reason) {\n   WritableStreamFinishInFlightCloseWithError(stream, reason);\n  });\n }\n function WritableStreamDefaultControllerProcessWrite(controller, chunk) {\n  var stream = controller._controlledWritableStream;\n  WritableStreamMarkFirstWriteRequestInFlight(stream);\n  var sinkWritePromise = controller._writeAlgorithm(chunk);\n  uponPromise(sinkWritePromise, function () {\n   WritableStreamFinishInFlightWrite(stream);\n   var state = stream._state;\n   DequeueValue(controller);\n   if (WritableStreamCloseQueuedOrInFlight(stream) === false && state === 'writable') {\n    var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\n    WritableStreamUpdateBackpressure(stream, backpressure);\n   }\n   WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n  }, function (reason) {\n   if (stream._state === 'writable') {\n    WritableStreamDefaultControllerClearAlgorithms(controller);\n   }\n   WritableStreamFinishInFlightWriteWithError(stream, reason);\n  });\n }\n function WritableStreamDefaultControllerGetBackpressure(controller) {\n  var desiredSize = WritableStreamDefaultControllerGetDesiredSize(controller);\n  return desiredSize <= 0;\n }\n function WritableStreamDefaultControllerError(controller, error) {\n  var stream = controller._controlledWritableStream;\n  WritableStreamDefaultControllerClearAlgorithms(controller);\n  WritableStreamStartErroring(stream, error);\n }\n function streamBrandCheckException(name) {\n  return new TypeError(\"WritableStream.prototype.\" + name + \" can only be used on a WritableStream\");\n }\n function defaultWriterBrandCheckException(name) {\n  return new TypeError(\"WritableStreamDefaultWriter.prototype.\" + name + \" can only be used on a WritableStreamDefaultWriter\");\n }\n function defaultWriterLockException(name) {\n  return new TypeError('Cannot ' + name + ' a stream using a released writer');\n }\n function defaultWriterClosedPromiseInitialize(writer) {\n  writer._closedPromise = newPromise(function (resolve, reject) {\n   writer._closedPromise_resolve = resolve;\n   writer._closedPromise_reject = reject;\n   writer._closedPromiseState = 'pending';\n  });\n }\n function defaultWriterClosedPromiseInitializeAsRejected(writer, reason) {\n  defaultWriterClosedPromiseInitialize(writer);\n  defaultWriterClosedPromiseReject(writer, reason);\n }\n function defaultWriterClosedPromiseInitializeAsResolved(writer) {\n  defaultWriterClosedPromiseInitialize(writer);\n  defaultWriterClosedPromiseResolve(writer);\n }\n function defaultWriterClosedPromiseReject(writer, reason) {\n  setPromiseIsHandledToTrue(writer._closedPromise);\n  writer._closedPromise_reject(reason);\n  writer._closedPromise_resolve = undefined;\n  writer._closedPromise_reject = undefined;\n  writer._closedPromiseState = 'rejected';\n }\n function defaultWriterClosedPromiseResetToRejected(writer, reason) {\n  defaultWriterClosedPromiseInitializeAsRejected(writer, reason);\n }\n function defaultWriterClosedPromiseResolve(writer) {\n  writer._closedPromise_resolve(undefined);\n  writer._closedPromise_resolve = undefined;\n  writer._closedPromise_reject = undefined;\n  writer._closedPromiseState = 'resolved';\n }\n function defaultWriterReadyPromiseInitialize(writer) {\n  writer._readyPromise = newPromise(function (resolve, reject) {\n   writer._readyPromise_resolve = resolve;\n   writer._readyPromise_reject = reject;\n  });\n  writer._readyPromiseState = 'pending';\n }\n function defaultWriterReadyPromiseInitializeAsRejected(writer, reason) {\n  defaultWriterReadyPromiseInitialize(writer);\n  defaultWriterReadyPromiseReject(writer, reason);\n }\n function defaultWriterReadyPromiseInitializeAsResolved(writer) {\n  defaultWriterReadyPromiseInitialize(writer);\n  defaultWriterReadyPromiseResolve(writer);\n }\n function defaultWriterReadyPromiseReject(writer, reason) {\n  setPromiseIsHandledToTrue(writer._readyPromise);\n  writer._readyPromise_reject(reason);\n  writer._readyPromise_resolve = undefined;\n  writer._readyPromise_reject = undefined;\n  writer._readyPromiseState = 'rejected';\n }\n function defaultWriterReadyPromiseReset(writer) {\n  defaultWriterReadyPromiseInitialize(writer);\n }\n function defaultWriterReadyPromiseResetToRejected(writer, reason) {\n  defaultWriterReadyPromiseInitializeAsRejected(writer, reason);\n }\n function defaultWriterReadyPromiseResolve(writer) {\n  writer._readyPromise_resolve(undefined);\n  writer._readyPromise_resolve = undefined;\n  writer._readyPromise_reject = undefined;\n  writer._readyPromiseState = 'fulfilled';\n }\n function isAbortSignal(value) {\n  if (typeof value !== 'object' || value === null) {\n   return false;\n  }\n  try {\n   return typeof value.aborted === 'boolean';\n  } catch (_a) {\n   return false;\n  }\n }\n var NativeDOMException = typeof DOMException !== 'undefined' ? DOMException : undefined;\n function isDOMExceptionConstructor(ctor) {\n  if (!(typeof ctor === 'function' || typeof ctor === 'object')) {\n   return false;\n  }\n  try {\n   new ctor();\n   return true;\n  } catch (_a) {\n   return false;\n  }\n }\n function createDOMExceptionPolyfill() {\n  var ctor = function DOMException(message, name) {\n   this.message = message || '';\n   this.name = name || 'Error';\n   if (Error.captureStackTrace) {\n    Error.captureStackTrace(this, this.constructor);\n   }\n  };\n  ctor.prototype = Object.create(Error.prototype);\n  Object.defineProperty(ctor.prototype, 'constructor', {\n   value: ctor,\n   writable: true,\n   configurable: true\n  });\n  return ctor;\n }\n var DOMException$1 = isDOMExceptionConstructor(NativeDOMException) ? NativeDOMException : createDOMExceptionPolyfill();\n function ReadableStreamPipeTo(source, dest, preventClose, preventAbort, preventCancel, signal) {\n  var reader = AcquireReadableStreamDefaultReader(source);\n  var writer = AcquireWritableStreamDefaultWriter(dest);\n  source._disturbed = true;\n  var shuttingDown = false;\n  var currentWrite = promiseResolvedWith(undefined);\n  return newPromise(function (resolve, reject) {\n   var abortAlgorithm;\n   if (signal !== undefined) {\n    abortAlgorithm = function () {\n     var error = new DOMException$1('Aborted', 'AbortError');\n     var actions = [];\n     if (preventAbort === false) {\n      actions.push(function () {\n       if (dest._state === 'writable') {\n        return WritableStreamAbort(dest, error);\n       }\n       return promiseResolvedWith(undefined);\n      });\n     }\n     if (preventCancel === false) {\n      actions.push(function () {\n       if (source._state === 'readable') {\n        return ReadableStreamCancel(source, error);\n       }\n       return promiseResolvedWith(undefined);\n      });\n     }\n     shutdownWithAction(function () {\n      return Promise.all(actions.map(function (action) {\n       return action();\n      }));\n     }, true, error);\n    };\n    if (signal.aborted === true) {\n     abortAlgorithm();\n     return;\n    }\n    signal.addEventListener('abort', abortAlgorithm);\n   }\n   function pipeLoop() {\n    return newPromise(function (resolveLoop, rejectLoop) {\n     function next(done) {\n      if (done) {\n       resolveLoop();\n      } else {\n       PerformPromiseThen(pipeStep(), next, rejectLoop);\n      }\n     }\n     next(false);\n    });\n   }\n   function pipeStep() {\n    if (shuttingDown === true) {\n     return promiseResolvedWith(true);\n    }\n    return PerformPromiseThen(writer._readyPromise, function () {\n     return PerformPromiseThen(ReadableStreamDefaultReaderRead(reader), function (result) {\n      if (result.done === true) {\n       return true;\n      }\n      currentWrite = PerformPromiseThen(WritableStreamDefaultWriterWrite(writer, result.value), undefined, noop);\n      return false;\n     });\n    });\n   }\n   isOrBecomesErrored(source, reader._closedPromise, function (storedError) {\n    if (preventAbort === false) {\n     shutdownWithAction(function () {\n      return WritableStreamAbort(dest, storedError);\n     }, true, storedError);\n    } else {\n     shutdown(true, storedError);\n    }\n   });\n   isOrBecomesErrored(dest, writer._closedPromise, function (storedError) {\n    if (preventCancel === false) {\n     shutdownWithAction(function () {\n      return ReadableStreamCancel(source, storedError);\n     }, true, storedError);\n    } else {\n     shutdown(true, storedError);\n    }\n   });\n   isOrBecomesClosed(source, reader._closedPromise, function () {\n    if (preventClose === false) {\n     shutdownWithAction(function () {\n      return WritableStreamDefaultWriterCloseWithErrorPropagation(writer);\n     });\n    } else {\n     shutdown();\n    }\n   });\n   if (WritableStreamCloseQueuedOrInFlight(dest) === true || dest._state === 'closed') {\n    var destClosed_1 = new TypeError('the destination writable stream closed before all data could be piped to it');\n    if (preventCancel === false) {\n     shutdownWithAction(function () {\n      return ReadableStreamCancel(source, destClosed_1);\n     }, true, destClosed_1);\n    } else {\n     shutdown(true, destClosed_1);\n    }\n   }\n   setPromiseIsHandledToTrue(pipeLoop());\n   function waitForWritesToFinish() {\n    var oldCurrentWrite = currentWrite;\n    return PerformPromiseThen(currentWrite, function () {\n     return oldCurrentWrite !== currentWrite ? waitForWritesToFinish() : undefined;\n    });\n   }\n   function isOrBecomesErrored(stream, promise, action) {\n    if (stream._state === 'errored') {\n     action(stream._storedError);\n    } else {\n     uponRejection(promise, action);\n    }\n   }\n   function isOrBecomesClosed(stream, promise, action) {\n    if (stream._state === 'closed') {\n     action();\n    } else {\n     uponFulfillment(promise, action);\n    }\n   }\n   function shutdownWithAction(action, originalIsError, originalError) {\n    if (shuttingDown === true) {\n     return;\n    }\n    shuttingDown = true;\n    if (dest._state === 'writable' && WritableStreamCloseQueuedOrInFlight(dest) === false) {\n     uponFulfillment(waitForWritesToFinish(), doTheRest);\n    } else {\n     doTheRest();\n    }\n    function doTheRest() {\n     uponPromise(action(), function () {\n      return finalize(originalIsError, originalError);\n     }, function (newError) {\n      return finalize(true, newError);\n     });\n    }\n   }\n   function shutdown(isError, error) {\n    if (shuttingDown === true) {\n     return;\n    }\n    shuttingDown = true;\n    if (dest._state === 'writable' && WritableStreamCloseQueuedOrInFlight(dest) === false) {\n     uponFulfillment(waitForWritesToFinish(), function () {\n      return finalize(isError, error);\n     });\n    } else {\n     finalize(isError, error);\n    }\n   }\n   function finalize(isError, error) {\n    WritableStreamDefaultWriterRelease(writer);\n    ReadableStreamReaderGenericRelease(reader);\n    if (signal !== undefined) {\n     signal.removeEventListener('abort', abortAlgorithm);\n    }\n    if (isError) {\n     reject(error);\n    } else {\n     resolve(undefined);\n    }\n   }\n  });\n }\n var ReadableStreamDefaultController = function () {\n  function ReadableStreamDefaultController() {\n   throw new TypeError();\n  }\n  Object.defineProperty(ReadableStreamDefaultController.prototype, \"desiredSize\", {\n   get: function () {\n    if (IsReadableStreamDefaultController(this) === false) {\n     throw defaultControllerBrandCheckException('desiredSize');\n    }\n    return ReadableStreamDefaultControllerGetDesiredSize(this);\n   },\n   enumerable: true,\n   configurable: true\n  });\n  ReadableStreamDefaultController.prototype.close = function () {\n   if (IsReadableStreamDefaultController(this) === false) {\n    throw defaultControllerBrandCheckException('close');\n   }\n   if (ReadableStreamDefaultControllerCanCloseOrEnqueue(this) === false) {\n    throw new TypeError('The stream is not in a state that permits close');\n   }\n   ReadableStreamDefaultControllerClose(this);\n  };\n  ReadableStreamDefaultController.prototype.enqueue = function (chunk) {\n   if (IsReadableStreamDefaultController(this) === false) {\n    throw defaultControllerBrandCheckException('enqueue');\n   }\n   if (ReadableStreamDefaultControllerCanCloseOrEnqueue(this) === false) {\n    throw new TypeError('The stream is not in a state that permits enqueue');\n   }\n   return ReadableStreamDefaultControllerEnqueue(this, chunk);\n  };\n  ReadableStreamDefaultController.prototype.error = function (e) {\n   if (IsReadableStreamDefaultController(this) === false) {\n    throw defaultControllerBrandCheckException('error');\n   }\n   ReadableStreamDefaultControllerError(this, e);\n  };\n  ReadableStreamDefaultController.prototype[CancelSteps] = function (reason) {\n   ResetQueue(this);\n   var result = this._cancelAlgorithm(reason);\n   ReadableStreamDefaultControllerClearAlgorithms(this);\n   return result;\n  };\n  ReadableStreamDefaultController.prototype[PullSteps] = function () {\n   var stream = this._controlledReadableStream;\n   if (this._queue.length > 0) {\n    var chunk = DequeueValue(this);\n    if (this._closeRequested === true && this._queue.length === 0) {\n     ReadableStreamDefaultControllerClearAlgorithms(this);\n     ReadableStreamClose(stream);\n    } else {\n     ReadableStreamDefaultControllerCallPullIfNeeded(this);\n    }\n    return promiseResolvedWith(ReadableStreamCreateReadResult(chunk, false, stream._reader._forAuthorCode));\n   }\n   var pendingPromise = ReadableStreamAddReadRequest(stream);\n   ReadableStreamDefaultControllerCallPullIfNeeded(this);\n   return pendingPromise;\n  };\n  return ReadableStreamDefaultController;\n }();\n function IsReadableStreamDefaultController(x) {\n  if (!typeIsObject(x)) {\n   return false;\n  }\n  if (!Object.prototype.hasOwnProperty.call(x, '_controlledReadableStream')) {\n   return false;\n  }\n  return true;\n }\n function ReadableStreamDefaultControllerCallPullIfNeeded(controller) {\n  var shouldPull = ReadableStreamDefaultControllerShouldCallPull(controller);\n  if (shouldPull === false) {\n   return;\n  }\n  if (controller._pulling === true) {\n   controller._pullAgain = true;\n   return;\n  }\n  controller._pulling = true;\n  var pullPromise = controller._pullAlgorithm();\n  uponPromise(pullPromise, function () {\n   controller._pulling = false;\n   if (controller._pullAgain === true) {\n    controller._pullAgain = false;\n    ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n   }\n  }, function (e) {\n   ReadableStreamDefaultControllerError(controller, e);\n  });\n }\n function ReadableStreamDefaultControllerShouldCallPull(controller) {\n  var stream = controller._controlledReadableStream;\n  if (ReadableStreamDefaultControllerCanCloseOrEnqueue(controller) === false) {\n   return false;\n  }\n  if (controller._started === false) {\n   return false;\n  }\n  if (IsReadableStreamLocked(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\n   return true;\n  }\n  var desiredSize = ReadableStreamDefaultControllerGetDesiredSize(controller);\n  if (desiredSize > 0) {\n   return true;\n  }\n  return false;\n }\n function ReadableStreamDefaultControllerClearAlgorithms(controller) {\n  controller._pullAlgorithm = undefined;\n  controller._cancelAlgorithm = undefined;\n  controller._strategySizeAlgorithm = undefined;\n }\n function ReadableStreamDefaultControllerClose(controller) {\n  var stream = controller._controlledReadableStream;\n  controller._closeRequested = true;\n  if (controller._queue.length === 0) {\n   ReadableStreamDefaultControllerClearAlgorithms(controller);\n   ReadableStreamClose(stream);\n  }\n }\n function ReadableStreamDefaultControllerEnqueue(controller, chunk) {\n  var stream = controller._controlledReadableStream;\n  if (IsReadableStreamLocked(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\n   ReadableStreamFulfillReadRequest(stream, chunk, false);\n  } else {\n   var chunkSize = void 0;\n   try {\n    chunkSize = controller._strategySizeAlgorithm(chunk);\n   } catch (chunkSizeE) {\n    ReadableStreamDefaultControllerError(controller, chunkSizeE);\n    throw chunkSizeE;\n   }\n   try {\n    EnqueueValueWithSize(controller, chunk, chunkSize);\n   } catch (enqueueE) {\n    ReadableStreamDefaultControllerError(controller, enqueueE);\n    throw enqueueE;\n   }\n  }\n  ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n }\n function ReadableStreamDefaultControllerError(controller, e) {\n  var stream = controller._controlledReadableStream;\n  if (stream._state !== 'readable') {\n   return;\n  }\n  ResetQueue(controller);\n  ReadableStreamDefaultControllerClearAlgorithms(controller);\n  ReadableStreamError(stream, e);\n }\n function ReadableStreamDefaultControllerGetDesiredSize(controller) {\n  var stream = controller._controlledReadableStream;\n  var state = stream._state;\n  if (state === 'errored') {\n   return null;\n  }\n  if (state === 'closed') {\n   return 0;\n  }\n  return controller._strategyHWM - controller._queueTotalSize;\n }\n function ReadableStreamDefaultControllerHasBackpressure(controller) {\n  if (ReadableStreamDefaultControllerShouldCallPull(controller) === true) {\n   return false;\n  }\n  return true;\n }\n function ReadableStreamDefaultControllerCanCloseOrEnqueue(controller) {\n  var state = controller._controlledReadableStream._state;\n  if (controller._closeRequested === false && state === 'readable') {\n   return true;\n  }\n  return false;\n }\n function SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm) {\n  controller._controlledReadableStream = stream;\n  controller._queue = undefined;\n  controller._queueTotalSize = undefined;\n  ResetQueue(controller);\n  controller._started = false;\n  controller._closeRequested = false;\n  controller._pullAgain = false;\n  controller._pulling = false;\n  controller._strategySizeAlgorithm = sizeAlgorithm;\n  controller._strategyHWM = highWaterMark;\n  controller._pullAlgorithm = pullAlgorithm;\n  controller._cancelAlgorithm = cancelAlgorithm;\n  stream._readableStreamController = controller;\n  var startResult = startAlgorithm();\n  uponPromise(promiseResolvedWith(startResult), function () {\n   controller._started = true;\n   ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n  }, function (r) {\n   ReadableStreamDefaultControllerError(controller, r);\n  });\n }\n function SetUpReadableStreamDefaultControllerFromUnderlyingSource(stream, underlyingSource, highWaterMark, sizeAlgorithm) {\n  var controller = Object.create(ReadableStreamDefaultController.prototype);\n  function startAlgorithm() {\n   return InvokeOrNoop(underlyingSource, 'start', [controller]);\n  }\n  var pullAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSource, 'pull', 0, [controller]);\n  var cancelAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSource, 'cancel', 1, []);\n  SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm);\n }\n function defaultControllerBrandCheckException(name) {\n  return new TypeError(\"ReadableStreamDefaultController.prototype.\" + name + \" can only be used on a ReadableStreamDefaultController\");\n }\n function ReadableStreamTee(stream, cloneForBranch2) {\n  var reader = AcquireReadableStreamDefaultReader(stream);\n  var reading = false;\n  var canceled1 = false;\n  var canceled2 = false;\n  var reason1;\n  var reason2;\n  var branch1;\n  var branch2;\n  var resolveCancelPromise;\n  var cancelPromise = newPromise(function (resolve) {\n   resolveCancelPromise = resolve;\n  });\n  function pullAlgorithm() {\n   if (reading === true) {\n    return promiseResolvedWith(undefined);\n   }\n   reading = true;\n   var readPromise = transformPromiseWith(ReadableStreamDefaultReaderRead(reader), function (result) {\n    reading = false;\n    var done = result.done;\n    if (done === true) {\n     if (canceled1 === false) {\n      ReadableStreamDefaultControllerClose(branch1._readableStreamController);\n     }\n     if (canceled2 === false) {\n      ReadableStreamDefaultControllerClose(branch2._readableStreamController);\n     }\n     return;\n    }\n    var value = result.value;\n    var value1 = value;\n    var value2 = value;\n    if (canceled1 === false) {\n     ReadableStreamDefaultControllerEnqueue(branch1._readableStreamController, value1);\n    }\n    if (canceled2 === false) {\n     ReadableStreamDefaultControllerEnqueue(branch2._readableStreamController, value2);\n    }\n   });\n   setPromiseIsHandledToTrue(readPromise);\n   return promiseResolvedWith(undefined);\n  }\n  function cancel1Algorithm(reason) {\n   canceled1 = true;\n   reason1 = reason;\n   if (canceled2 === true) {\n    var compositeReason = createArrayFromList([\n     reason1,\n     reason2\n    ]);\n    var cancelResult = ReadableStreamCancel(stream, compositeReason);\n    resolveCancelPromise(cancelResult);\n   }\n   return cancelPromise;\n  }\n  function cancel2Algorithm(reason) {\n   canceled2 = true;\n   reason2 = reason;\n   if (canceled1 === true) {\n    var compositeReason = createArrayFromList([\n     reason1,\n     reason2\n    ]);\n    var cancelResult = ReadableStreamCancel(stream, compositeReason);\n    resolveCancelPromise(cancelResult);\n   }\n   return cancelPromise;\n  }\n  function startAlgorithm() {\n  }\n  branch1 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancel1Algorithm);\n  branch2 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancel2Algorithm);\n  uponRejection(reader._closedPromise, function (r) {\n   ReadableStreamDefaultControllerError(branch1._readableStreamController, r);\n   ReadableStreamDefaultControllerError(branch2._readableStreamController, r);\n  });\n  return [\n   branch1,\n   branch2\n  ];\n }\n var NumberIsInteger = Number.isInteger || function (value) {\n  return typeof value === 'number' && isFinite(value) && Math.floor(value) === value;\n };\n var ReadableStreamBYOBRequest = function () {\n  function ReadableStreamBYOBRequest() {\n   throw new TypeError('ReadableStreamBYOBRequest cannot be used directly');\n  }\n  Object.defineProperty(ReadableStreamBYOBRequest.prototype, \"view\", {\n   get: function () {\n    if (IsReadableStreamBYOBRequest(this) === false) {\n     throw byobRequestBrandCheckException('view');\n    }\n    return this._view;\n   },\n   enumerable: true,\n   configurable: true\n  });\n  ReadableStreamBYOBRequest.prototype.respond = function (bytesWritten) {\n   if (IsReadableStreamBYOBRequest(this) === false) {\n    throw byobRequestBrandCheckException('respond');\n   }\n   if (this._associatedReadableByteStreamController === undefined) {\n    throw new TypeError('This BYOB request has been invalidated');\n   }\n   if (IsDetachedBuffer(this._view.buffer) === true);\n   ReadableByteStreamControllerRespond(this._associatedReadableByteStreamController, bytesWritten);\n  };\n  ReadableStreamBYOBRequest.prototype.respondWithNewView = function (view) {\n   if (IsReadableStreamBYOBRequest(this) === false) {\n    throw byobRequestBrandCheckException('respond');\n   }\n   if (this._associatedReadableByteStreamController === undefined) {\n    throw new TypeError('This BYOB request has been invalidated');\n   }\n   if (!ArrayBuffer.isView(view)) {\n    throw new TypeError('You can only respond with array buffer views');\n   }\n   if (IsDetachedBuffer(view.buffer) === true);\n   ReadableByteStreamControllerRespondWithNewView(this._associatedReadableByteStreamController, view);\n  };\n  return ReadableStreamBYOBRequest;\n }();\n var ReadableByteStreamController = function () {\n  function ReadableByteStreamController() {\n   throw new TypeError('ReadableByteStreamController constructor cannot be used directly');\n  }\n  Object.defineProperty(ReadableByteStreamController.prototype, \"byobRequest\", {\n   get: function () {\n    if (IsReadableByteStreamController(this) === false) {\n     throw byteStreamControllerBrandCheckException('byobRequest');\n    }\n    if (this._byobRequest === undefined && this._pendingPullIntos.length > 0) {\n     var firstDescriptor = this._pendingPullIntos.peek();\n     var view = new Uint8Array(firstDescriptor.buffer, firstDescriptor.byteOffset + firstDescriptor.bytesFilled, firstDescriptor.byteLength - firstDescriptor.bytesFilled);\n     var byobRequest = Object.create(ReadableStreamBYOBRequest.prototype);\n     SetUpReadableStreamBYOBRequest(byobRequest, this, view);\n     this._byobRequest = byobRequest;\n    }\n    return this._byobRequest;\n   },\n   enumerable: true,\n   configurable: true\n  });\n  Object.defineProperty(ReadableByteStreamController.prototype, \"desiredSize\", {\n   get: function () {\n    if (IsReadableByteStreamController(this) === false) {\n     throw byteStreamControllerBrandCheckException('desiredSize');\n    }\n    return ReadableByteStreamControllerGetDesiredSize(this);\n   },\n   enumerable: true,\n   configurable: true\n  });\n  ReadableByteStreamController.prototype.close = function () {\n   if (IsReadableByteStreamController(this) === false) {\n    throw byteStreamControllerBrandCheckException('close');\n   }\n   if (this._closeRequested === true) {\n    throw new TypeError('The stream has already been closed; do not close it again!');\n   }\n   var state = this._controlledReadableByteStream._state;\n   if (state !== 'readable') {\n    throw new TypeError(\"The stream (in \" + state + \" state) is not in the readable state and cannot be closed\");\n   }\n   ReadableByteStreamControllerClose(this);\n  };\n  ReadableByteStreamController.prototype.enqueue = function (chunk) {\n   if (IsReadableByteStreamController(this) === false) {\n    throw byteStreamControllerBrandCheckException('enqueue');\n   }\n   if (this._closeRequested === true) {\n    throw new TypeError('stream is closed or draining');\n   }\n   var state = this._controlledReadableByteStream._state;\n   if (state !== 'readable') {\n    throw new TypeError(\"The stream (in \" + state + \" state) is not in the readable state and cannot be enqueued to\");\n   }\n   if (!ArrayBuffer.isView(chunk)) {\n    throw new TypeError('You can only enqueue array buffer views when using a ReadableByteStreamController');\n   }\n   if (IsDetachedBuffer(chunk.buffer) === true);\n   ReadableByteStreamControllerEnqueue(this, chunk);\n  };\n  ReadableByteStreamController.prototype.error = function (e) {\n   if (IsReadableByteStreamController(this) === false) {\n    throw byteStreamControllerBrandCheckException('error');\n   }\n   ReadableByteStreamControllerError(this, e);\n  };\n  ReadableByteStreamController.prototype[CancelSteps] = function (reason) {\n   if (this._pendingPullIntos.length > 0) {\n    var firstDescriptor = this._pendingPullIntos.peek();\n    firstDescriptor.bytesFilled = 0;\n   }\n   ResetQueue(this);\n   var result = this._cancelAlgorithm(reason);\n   ReadableByteStreamControllerClearAlgorithms(this);\n   return result;\n  };\n  ReadableByteStreamController.prototype[PullSteps] = function () {\n   var stream = this._controlledReadableByteStream;\n   if (this._queueTotalSize > 0) {\n    var entry = this._queue.shift();\n    this._queueTotalSize -= entry.byteLength;\n    ReadableByteStreamControllerHandleQueueDrain(this);\n    var view = void 0;\n    try {\n     view = new Uint8Array(entry.buffer, entry.byteOffset, entry.byteLength);\n    } catch (viewE) {\n     return promiseRejectedWith(viewE);\n    }\n    return promiseResolvedWith(ReadableStreamCreateReadResult(view, false, stream._reader._forAuthorCode));\n   }\n   var autoAllocateChunkSize = this._autoAllocateChunkSize;\n   if (autoAllocateChunkSize !== undefined) {\n    var buffer = void 0;\n    try {\n     buffer = new ArrayBuffer(autoAllocateChunkSize);\n    } catch (bufferE) {\n     return promiseRejectedWith(bufferE);\n    }\n    var pullIntoDescriptor = {\n     buffer: buffer,\n     byteOffset: 0,\n     byteLength: autoAllocateChunkSize,\n     bytesFilled: 0,\n     elementSize: 1,\n     ctor: Uint8Array,\n     readerType: 'default'\n    };\n    this._pendingPullIntos.push(pullIntoDescriptor);\n   }\n   var promise = ReadableStreamAddReadRequest(stream);\n   ReadableByteStreamControllerCallPullIfNeeded(this);\n   return promise;\n  };\n  return ReadableByteStreamController;\n }();\n function IsReadableByteStreamController(x) {\n  if (!typeIsObject(x)) {\n   return false;\n  }\n  if (!Object.prototype.hasOwnProperty.call(x, '_controlledReadableByteStream')) {\n   return false;\n  }\n  return true;\n }\n function IsReadableStreamBYOBRequest(x) {\n  if (!typeIsObject(x)) {\n   return false;\n  }\n  if (!Object.prototype.hasOwnProperty.call(x, '_associatedReadableByteStreamController')) {\n   return false;\n  }\n  return true;\n }\n function ReadableByteStreamControllerCallPullIfNeeded(controller) {\n  var shouldPull = ReadableByteStreamControllerShouldCallPull(controller);\n  if (shouldPull === false) {\n   return;\n  }\n  if (controller._pulling === true) {\n   controller._pullAgain = true;\n   return;\n  }\n  controller._pulling = true;\n  var pullPromise = controller._pullAlgorithm();\n  uponPromise(pullPromise, function () {\n   controller._pulling = false;\n   if (controller._pullAgain === true) {\n    controller._pullAgain = false;\n    ReadableByteStreamControllerCallPullIfNeeded(controller);\n   }\n  }, function (e) {\n   ReadableByteStreamControllerError(controller, e);\n  });\n }\n function ReadableByteStreamControllerClearPendingPullIntos(controller) {\n  ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n  controller._pendingPullIntos = new SimpleQueue();\n }\n function ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor) {\n  var done = false;\n  if (stream._state === 'closed') {\n   done = true;\n  }\n  var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);\n  if (pullIntoDescriptor.readerType === 'default') {\n   ReadableStreamFulfillReadRequest(stream, filledView, done);\n  } else {\n   ReadableStreamFulfillReadIntoRequest(stream, filledView, done);\n  }\n }\n function ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor) {\n  var bytesFilled = pullIntoDescriptor.bytesFilled;\n  var elementSize = pullIntoDescriptor.elementSize;\n  return new pullIntoDescriptor.ctor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, bytesFilled / elementSize);\n }\n function ReadableByteStreamControllerEnqueueChunkToQueue(controller, buffer, byteOffset, byteLength) {\n  controller._queue.push({\n   buffer: buffer,\n   byteOffset: byteOffset,\n   byteLength: byteLength\n  });\n  controller._queueTotalSize += byteLength;\n }\n function ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) {\n  var elementSize = pullIntoDescriptor.elementSize;\n  var currentAlignedBytes = pullIntoDescriptor.bytesFilled - pullIntoDescriptor.bytesFilled % elementSize;\n  var maxBytesToCopy = Math.min(controller._queueTotalSize, pullIntoDescriptor.byteLength - pullIntoDescriptor.bytesFilled);\n  var maxBytesFilled = pullIntoDescriptor.bytesFilled + maxBytesToCopy;\n  var maxAlignedBytes = maxBytesFilled - maxBytesFilled % elementSize;\n  var totalBytesToCopyRemaining = maxBytesToCopy;\n  var ready = false;\n  if (maxAlignedBytes > currentAlignedBytes) {\n   totalBytesToCopyRemaining = maxAlignedBytes - pullIntoDescriptor.bytesFilled;\n   ready = true;\n  }\n  var queue = controller._queue;\n  while (totalBytesToCopyRemaining > 0) {\n   var headOfQueue = queue.peek();\n   var bytesToCopy = Math.min(totalBytesToCopyRemaining, headOfQueue.byteLength);\n   var destStart = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;\n   ArrayBufferCopy(pullIntoDescriptor.buffer, destStart, headOfQueue.buffer, headOfQueue.byteOffset, bytesToCopy);\n   if (headOfQueue.byteLength === bytesToCopy) {\n    queue.shift();\n   } else {\n    headOfQueue.byteOffset += bytesToCopy;\n    headOfQueue.byteLength -= bytesToCopy;\n   }\n   controller._queueTotalSize -= bytesToCopy;\n   ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesToCopy, pullIntoDescriptor);\n   totalBytesToCopyRemaining -= bytesToCopy;\n  }\n  return ready;\n }\n function ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, size, pullIntoDescriptor) {\n  ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n  pullIntoDescriptor.bytesFilled += size;\n }\n function ReadableByteStreamControllerHandleQueueDrain(controller) {\n  if (controller._queueTotalSize === 0 && controller._closeRequested === true) {\n   ReadableByteStreamControllerClearAlgorithms(controller);\n   ReadableStreamClose(controller._controlledReadableByteStream);\n  } else {\n   ReadableByteStreamControllerCallPullIfNeeded(controller);\n  }\n }\n function ReadableByteStreamControllerInvalidateBYOBRequest(controller) {\n  if (controller._byobRequest === undefined) {\n   return;\n  }\n  controller._byobRequest._associatedReadableByteStreamController = undefined;\n  controller._byobRequest._view = undefined;\n  controller._byobRequest = undefined;\n }\n function ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller) {\n  while (controller._pendingPullIntos.length > 0) {\n   if (controller._queueTotalSize === 0) {\n    return;\n   }\n   var pullIntoDescriptor = controller._pendingPullIntos.peek();\n   if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) === true) {\n    ReadableByteStreamControllerShiftPendingPullInto(controller);\n    ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, pullIntoDescriptor);\n   }\n  }\n }\n function ReadableByteStreamControllerPullInto(controller, view) {\n  var stream = controller._controlledReadableByteStream;\n  var elementSize = 1;\n  if (view.constructor !== DataView) {\n   elementSize = view.constructor.BYTES_PER_ELEMENT;\n  }\n  var ctor = view.constructor;\n  var buffer = TransferArrayBuffer(view.buffer);\n  var pullIntoDescriptor = {\n   buffer: buffer,\n   byteOffset: view.byteOffset,\n   byteLength: view.byteLength,\n   bytesFilled: 0,\n   elementSize: elementSize,\n   ctor: ctor,\n   readerType: 'byob'\n  };\n  if (controller._pendingPullIntos.length > 0) {\n   controller._pendingPullIntos.push(pullIntoDescriptor);\n   return ReadableStreamAddReadIntoRequest(stream);\n  }\n  if (stream._state === 'closed') {\n   var emptyView = new ctor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, 0);\n   return promiseResolvedWith(ReadableStreamCreateReadResult(emptyView, true, stream._reader._forAuthorCode));\n  }\n  if (controller._queueTotalSize > 0) {\n   if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) === true) {\n    var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);\n    ReadableByteStreamControllerHandleQueueDrain(controller);\n    return promiseResolvedWith(ReadableStreamCreateReadResult(filledView, false, stream._reader._forAuthorCode));\n   }\n   if (controller._closeRequested === true) {\n    var e = new TypeError('Insufficient bytes to fill elements in the given buffer');\n    ReadableByteStreamControllerError(controller, e);\n    return promiseRejectedWith(e);\n   }\n  }\n  controller._pendingPullIntos.push(pullIntoDescriptor);\n  var promise = ReadableStreamAddReadIntoRequest(stream);\n  ReadableByteStreamControllerCallPullIfNeeded(controller);\n  return promise;\n }\n function ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor) {\n  firstDescriptor.buffer = TransferArrayBuffer(firstDescriptor.buffer);\n  var stream = controller._controlledReadableByteStream;\n  if (ReadableStreamHasBYOBReader(stream) === true) {\n   while (ReadableStreamGetNumReadIntoRequests(stream) > 0) {\n    var pullIntoDescriptor = ReadableByteStreamControllerShiftPendingPullInto(controller);\n    ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor);\n   }\n  }\n }\n function ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, pullIntoDescriptor) {\n  if (pullIntoDescriptor.bytesFilled + bytesWritten > pullIntoDescriptor.byteLength) {\n   throw new RangeError('bytesWritten out of range');\n  }\n  ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesWritten, pullIntoDescriptor);\n  if (pullIntoDescriptor.bytesFilled < pullIntoDescriptor.elementSize) {\n   return;\n  }\n  ReadableByteStreamControllerShiftPendingPullInto(controller);\n  var remainderSize = pullIntoDescriptor.bytesFilled % pullIntoDescriptor.elementSize;\n  if (remainderSize > 0) {\n   var end = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;\n   var remainder = pullIntoDescriptor.buffer.slice(end - remainderSize, end);\n   ReadableByteStreamControllerEnqueueChunkToQueue(controller, remainder, 0, remainder.byteLength);\n  }\n  pullIntoDescriptor.buffer = TransferArrayBuffer(pullIntoDescriptor.buffer);\n  pullIntoDescriptor.bytesFilled -= remainderSize;\n  ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, pullIntoDescriptor);\n  ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);\n }\n function ReadableByteStreamControllerRespondInternal(controller, bytesWritten) {\n  var firstDescriptor = controller._pendingPullIntos.peek();\n  var stream = controller._controlledReadableByteStream;\n  if (stream._state === 'closed') {\n   if (bytesWritten !== 0) {\n    throw new TypeError('bytesWritten must be 0 when calling respond() on a closed stream');\n   }\n   ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor);\n  } else {\n   ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, firstDescriptor);\n  }\n  ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n function ReadableByteStreamControllerShiftPendingPullInto(controller) {\n  var descriptor = controller._pendingPullIntos.shift();\n  ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n  return descriptor;\n }\n function ReadableByteStreamControllerShouldCallPull(controller) {\n  var stream = controller._controlledReadableByteStream;\n  if (stream._state !== 'readable') {\n   return false;\n  }\n  if (controller._closeRequested === true) {\n   return false;\n  }\n  if (controller._started === false) {\n   return false;\n  }\n  if (ReadableStreamHasDefaultReader(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\n   return true;\n  }\n  if (ReadableStreamHasBYOBReader(stream) === true && ReadableStreamGetNumReadIntoRequests(stream) > 0) {\n   return true;\n  }\n  var desiredSize = ReadableByteStreamControllerGetDesiredSize(controller);\n  if (desiredSize > 0) {\n   return true;\n  }\n  return false;\n }\n function ReadableByteStreamControllerClearAlgorithms(controller) {\n  controller._pullAlgorithm = undefined;\n  controller._cancelAlgorithm = undefined;\n }\n function ReadableByteStreamControllerClose(controller) {\n  var stream = controller._controlledReadableByteStream;\n  if (controller._queueTotalSize > 0) {\n   controller._closeRequested = true;\n   return;\n  }\n  if (controller._pendingPullIntos.length > 0) {\n   var firstPendingPullInto = controller._pendingPullIntos.peek();\n   if (firstPendingPullInto.bytesFilled > 0) {\n    var e = new TypeError('Insufficient bytes to fill elements in the given buffer');\n    ReadableByteStreamControllerError(controller, e);\n    throw e;\n   }\n  }\n  ReadableByteStreamControllerClearAlgorithms(controller);\n  ReadableStreamClose(stream);\n }\n function ReadableByteStreamControllerEnqueue(controller, chunk) {\n  var stream = controller._controlledReadableByteStream;\n  var buffer = chunk.buffer;\n  var byteOffset = chunk.byteOffset;\n  var byteLength = chunk.byteLength;\n  var transferredBuffer = TransferArrayBuffer(buffer);\n  if (ReadableStreamHasDefaultReader(stream) === true) {\n   if (ReadableStreamGetNumReadRequests(stream) === 0) {\n    ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\n   } else {\n    var transferredView = new Uint8Array(transferredBuffer, byteOffset, byteLength);\n    ReadableStreamFulfillReadRequest(stream, transferredView, false);\n   }\n  } else if (ReadableStreamHasBYOBReader(stream) === true) {\n   ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\n   ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);\n  } else {\n   ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\n  }\n  ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n function ReadableByteStreamControllerError(controller, e) {\n  var stream = controller._controlledReadableByteStream;\n  if (stream._state !== 'readable') {\n   return;\n  }\n  ReadableByteStreamControllerClearPendingPullIntos(controller);\n  ResetQueue(controller);\n  ReadableByteStreamControllerClearAlgorithms(controller);\n  ReadableStreamError(stream, e);\n }\n function ReadableByteStreamControllerGetDesiredSize(controller) {\n  var stream = controller._controlledReadableByteStream;\n  var state = stream._state;\n  if (state === 'errored') {\n   return null;\n  }\n  if (state === 'closed') {\n   return 0;\n  }\n  return controller._strategyHWM - controller._queueTotalSize;\n }\n function ReadableByteStreamControllerRespond(controller, bytesWritten) {\n  bytesWritten = Number(bytesWritten);\n  if (IsFiniteNonNegativeNumber(bytesWritten) === false) {\n   throw new RangeError('bytesWritten must be a finite');\n  }\n  ReadableByteStreamControllerRespondInternal(controller, bytesWritten);\n }\n function ReadableByteStreamControllerRespondWithNewView(controller, view) {\n  var firstDescriptor = controller._pendingPullIntos.peek();\n  if (firstDescriptor.byteOffset + firstDescriptor.bytesFilled !== view.byteOffset) {\n   throw new RangeError('The region specified by view does not match byobRequest');\n  }\n  if (firstDescriptor.byteLength !== view.byteLength) {\n   throw new RangeError('The buffer of view has different capacity than byobRequest');\n  }\n  firstDescriptor.buffer = view.buffer;\n  ReadableByteStreamControllerRespondInternal(controller, view.byteLength);\n }\n function SetUpReadableByteStreamController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, autoAllocateChunkSize) {\n  controller._controlledReadableByteStream = stream;\n  controller._pullAgain = false;\n  controller._pulling = false;\n  controller._byobRequest = undefined;\n  controller._queue = controller._queueTotalSize = undefined;\n  ResetQueue(controller);\n  controller._closeRequested = false;\n  controller._started = false;\n  controller._strategyHWM = ValidateAndNormalizeHighWaterMark(highWaterMark);\n  controller._pullAlgorithm = pullAlgorithm;\n  controller._cancelAlgorithm = cancelAlgorithm;\n  controller._autoAllocateChunkSize = autoAllocateChunkSize;\n  controller._pendingPullIntos = new SimpleQueue();\n  stream._readableStreamController = controller;\n  var startResult = startAlgorithm();\n  uponPromise(promiseResolvedWith(startResult), function () {\n   controller._started = true;\n   ReadableByteStreamControllerCallPullIfNeeded(controller);\n  }, function (r) {\n   ReadableByteStreamControllerError(controller, r);\n  });\n }\n function SetUpReadableByteStreamControllerFromUnderlyingSource(stream, underlyingByteSource, highWaterMark) {\n  var controller = Object.create(ReadableByteStreamController.prototype);\n  function startAlgorithm() {\n   return InvokeOrNoop(underlyingByteSource, 'start', [controller]);\n  }\n  var pullAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingByteSource, 'pull', 0, [controller]);\n  var cancelAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingByteSource, 'cancel', 1, []);\n  var autoAllocateChunkSize = underlyingByteSource.autoAllocateChunkSize;\n  if (autoAllocateChunkSize !== undefined) {\n   autoAllocateChunkSize = Number(autoAllocateChunkSize);\n   if (NumberIsInteger(autoAllocateChunkSize) === false || autoAllocateChunkSize <= 0) {\n    throw new RangeError('autoAllocateChunkSize must be a positive integer');\n   }\n  }\n  SetUpReadableByteStreamController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, autoAllocateChunkSize);\n }\n function SetUpReadableStreamBYOBRequest(request, controller, view) {\n  request._associatedReadableByteStreamController = controller;\n  request._view = view;\n }\n function byobRequestBrandCheckException(name) {\n  return new TypeError(\"ReadableStreamBYOBRequest.prototype.\" + name + \" can only be used on a ReadableStreamBYOBRequest\");\n }\n function byteStreamControllerBrandCheckException(name) {\n  return new TypeError(\"ReadableByteStreamController.prototype.\" + name + \" can only be used on a ReadableByteStreamController\");\n }\n function AcquireReadableStreamBYOBReader(stream, forAuthorCode) {\n  if (forAuthorCode === void 0) {\n   forAuthorCode = false;\n  }\n  var reader = new ReadableStreamBYOBReader(stream);\n  reader._forAuthorCode = forAuthorCode;\n  return reader;\n }\n function ReadableStreamAddReadIntoRequest(stream) {\n  var promise = newPromise(function (resolve, reject) {\n   var readIntoRequest = {\n    _resolve: resolve,\n    _reject: reject\n   };\n   stream._reader._readIntoRequests.push(readIntoRequest);\n  });\n  return promise;\n }\n function ReadableStreamFulfillReadIntoRequest(stream, chunk, done) {\n  var reader = stream._reader;\n  var readIntoRequest = reader._readIntoRequests.shift();\n  readIntoRequest._resolve(ReadableStreamCreateReadResult(chunk, done, reader._forAuthorCode));\n }\n function ReadableStreamGetNumReadIntoRequests(stream) {\n  return stream._reader._readIntoRequests.length;\n }\n function ReadableStreamHasBYOBReader(stream) {\n  var reader = stream._reader;\n  if (reader === undefined) {\n   return false;\n  }\n  if (!IsReadableStreamBYOBReader(reader)) {\n   return false;\n  }\n  return true;\n }\n var ReadableStreamBYOBReader = function () {\n  function ReadableStreamBYOBReader(stream) {\n   if (!IsReadableStream(stream)) {\n    throw new TypeError('ReadableStreamBYOBReader can only be constructed with a ReadableStream instance given a ' + 'byte source');\n   }\n   if (IsReadableByteStreamController(stream._readableStreamController) === false) {\n    throw new TypeError('Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte ' + 'source');\n   }\n   if (IsReadableStreamLocked(stream)) {\n    throw new TypeError('This stream has already been locked for exclusive reading by another reader');\n   }\n   ReadableStreamReaderGenericInitialize(this, stream);\n   this._readIntoRequests = new SimpleQueue();\n  }\n  Object.defineProperty(ReadableStreamBYOBReader.prototype, \"closed\", {\n   get: function () {\n    if (!IsReadableStreamBYOBReader(this)) {\n     return promiseRejectedWith(byobReaderBrandCheckException('closed'));\n    }\n    return this._closedPromise;\n   },\n   enumerable: true,\n   configurable: true\n  });\n  ReadableStreamBYOBReader.prototype.cancel = function (reason) {\n   if (!IsReadableStreamBYOBReader(this)) {\n    return promiseRejectedWith(byobReaderBrandCheckException('cancel'));\n   }\n   if (this._ownerReadableStream === undefined) {\n    return promiseRejectedWith(readerLockException('cancel'));\n   }\n   return ReadableStreamReaderGenericCancel(this, reason);\n  };\n  ReadableStreamBYOBReader.prototype.read = function (view) {\n   if (!IsReadableStreamBYOBReader(this)) {\n    return promiseRejectedWith(byobReaderBrandCheckException('read'));\n   }\n   if (this._ownerReadableStream === undefined) {\n    return promiseRejectedWith(readerLockException('read from'));\n   }\n   if (!ArrayBuffer.isView(view)) {\n    return promiseRejectedWith(new TypeError('view must be an array buffer view'));\n   }\n   if (IsDetachedBuffer(view.buffer) === true);\n   if (view.byteLength === 0) {\n    return promiseRejectedWith(new TypeError('view must have non-zero byteLength'));\n   }\n   return ReadableStreamBYOBReaderRead(this, view);\n  };\n  ReadableStreamBYOBReader.prototype.releaseLock = function () {\n   if (!IsReadableStreamBYOBReader(this)) {\n    throw byobReaderBrandCheckException('releaseLock');\n   }\n   if (this._ownerReadableStream === undefined) {\n    return;\n   }\n   if (this._readIntoRequests.length > 0) {\n    throw new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled');\n   }\n   ReadableStreamReaderGenericRelease(this);\n  };\n  return ReadableStreamBYOBReader;\n }();\n function IsReadableStreamBYOBReader(x) {\n  if (!typeIsObject(x)) {\n   return false;\n  }\n  if (!Object.prototype.hasOwnProperty.call(x, '_readIntoRequests')) {\n   return false;\n  }\n  return true;\n }\n function ReadableStreamBYOBReaderRead(reader, view) {\n  var stream = reader._ownerReadableStream;\n  stream._disturbed = true;\n  if (stream._state === 'errored') {\n   return promiseRejectedWith(stream._storedError);\n  }\n  return ReadableByteStreamControllerPullInto(stream._readableStreamController, view);\n }\n function byobReaderBrandCheckException(name) {\n  return new TypeError(\"ReadableStreamBYOBReader.prototype.\" + name + \" can only be used on a ReadableStreamBYOBReader\");\n }\n var ReadableStream = function () {\n  function ReadableStream(underlyingSource, strategy) {\n   if (underlyingSource === void 0) {\n    underlyingSource = {};\n   }\n   if (strategy === void 0) {\n    strategy = {};\n   }\n   InitializeReadableStream(this);\n   var size = strategy.size;\n   var highWaterMark = strategy.highWaterMark;\n   var type = underlyingSource.type;\n   var typeString = String(type);\n   if (typeString === 'bytes') {\n    if (size !== undefined) {\n     throw new RangeError('The strategy for a byte stream cannot have a size function');\n    }\n    if (highWaterMark === undefined) {\n     highWaterMark = 0;\n    }\n    highWaterMark = ValidateAndNormalizeHighWaterMark(highWaterMark);\n    SetUpReadableByteStreamControllerFromUnderlyingSource(this, underlyingSource, highWaterMark);\n   } else if (type === undefined) {\n    var sizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(size);\n    if (highWaterMark === undefined) {\n     highWaterMark = 1;\n    }\n    highWaterMark = ValidateAndNormalizeHighWaterMark(highWaterMark);\n    SetUpReadableStreamDefaultControllerFromUnderlyingSource(this, underlyingSource, highWaterMark, sizeAlgorithm);\n   } else {\n    throw new RangeError('Invalid type is specified');\n   }\n  }\n  Object.defineProperty(ReadableStream.prototype, \"locked\", {\n   get: function () {\n    if (IsReadableStream(this) === false) {\n     throw streamBrandCheckException$1('locked');\n    }\n    return IsReadableStreamLocked(this);\n   },\n   enumerable: true,\n   configurable: true\n  });\n  ReadableStream.prototype.cancel = function (reason) {\n   if (IsReadableStream(this) === false) {\n    return promiseRejectedWith(streamBrandCheckException$1('cancel'));\n   }\n   if (IsReadableStreamLocked(this) === true) {\n    return promiseRejectedWith(new TypeError('Cannot cancel a stream that already has a reader'));\n   }\n   return ReadableStreamCancel(this, reason);\n  };\n  ReadableStream.prototype.getReader = function (_a) {\n   var mode = (_a === void 0 ? {} : _a).mode;\n   if (IsReadableStream(this) === false) {\n    throw streamBrandCheckException$1('getReader');\n   }\n   if (mode === undefined) {\n    return AcquireReadableStreamDefaultReader(this, true);\n   }\n   mode = String(mode);\n   if (mode === 'byob') {\n    return AcquireReadableStreamBYOBReader(this, true);\n   }\n   throw new RangeError('Invalid mode is specified');\n  };\n  ReadableStream.prototype.pipeThrough = function (_a, _b) {\n   var writable = _a.writable, readable = _a.readable;\n   var _c = _b === void 0 ? {} : _b, preventClose = _c.preventClose, preventAbort = _c.preventAbort, preventCancel = _c.preventCancel, signal = _c.signal;\n   if (IsReadableStream(this) === false) {\n    throw streamBrandCheckException$1('pipeThrough');\n   }\n   if (IsWritableStream(writable) === false) {\n    throw new TypeError('writable argument to pipeThrough must be a WritableStream');\n   }\n   if (IsReadableStream(readable) === false) {\n    throw new TypeError('readable argument to pipeThrough must be a ReadableStream');\n   }\n   preventClose = Boolean(preventClose);\n   preventAbort = Boolean(preventAbort);\n   preventCancel = Boolean(preventCancel);\n   if (signal !== undefined && !isAbortSignal(signal)) {\n    throw new TypeError('ReadableStream.prototype.pipeThrough\\'s signal option must be an AbortSignal');\n   }\n   if (IsReadableStreamLocked(this) === true) {\n    throw new TypeError('ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream');\n   }\n   if (IsWritableStreamLocked(writable) === true) {\n    throw new TypeError('ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream');\n   }\n   var promise = ReadableStreamPipeTo(this, writable, preventClose, preventAbort, preventCancel, signal);\n   setPromiseIsHandledToTrue(promise);\n   return readable;\n  };\n  ReadableStream.prototype.pipeTo = function (dest, _a) {\n   var _b = _a === void 0 ? {} : _a, preventClose = _b.preventClose, preventAbort = _b.preventAbort, preventCancel = _b.preventCancel, signal = _b.signal;\n   if (IsReadableStream(this) === false) {\n    return promiseRejectedWith(streamBrandCheckException$1('pipeTo'));\n   }\n   if (IsWritableStream(dest) === false) {\n    return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo\\'s first argument must be a WritableStream'));\n   }\n   preventClose = Boolean(preventClose);\n   preventAbort = Boolean(preventAbort);\n   preventCancel = Boolean(preventCancel);\n   if (signal !== undefined && !isAbortSignal(signal)) {\n    return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo\\'s signal option must be an AbortSignal'));\n   }\n   if (IsReadableStreamLocked(this) === true) {\n    return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream'));\n   }\n   if (IsWritableStreamLocked(dest) === true) {\n    return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream'));\n   }\n   return ReadableStreamPipeTo(this, dest, preventClose, preventAbort, preventCancel, signal);\n  };\n  ReadableStream.prototype.tee = function () {\n   if (IsReadableStream(this) === false) {\n    throw streamBrandCheckException$1('tee');\n   }\n   var branches = ReadableStreamTee(this);\n   return createArrayFromList(branches);\n  };\n  ReadableStream.prototype.getIterator = function (_a) {\n   var _b = (_a === void 0 ? {} : _a).preventCancel, preventCancel = _b === void 0 ? false : _b;\n   if (IsReadableStream(this) === false) {\n    throw streamBrandCheckException$1('getIterator');\n   }\n   return AcquireReadableStreamAsyncIterator(this, preventCancel);\n  };\n  return ReadableStream;\n }();\n if (typeof SymbolPolyfill.asyncIterator === 'symbol') {\n  Object.defineProperty(ReadableStream.prototype, SymbolPolyfill.asyncIterator, {\n   value: ReadableStream.prototype.getIterator,\n   enumerable: false,\n   writable: true,\n   configurable: true\n  });\n }\n function CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm) {\n  if (highWaterMark === void 0) {\n   highWaterMark = 1;\n  }\n  if (sizeAlgorithm === void 0) {\n   sizeAlgorithm = function () {\n    return 1;\n   };\n  }\n  var stream = Object.create(ReadableStream.prototype);\n  InitializeReadableStream(stream);\n  var controller = Object.create(ReadableStreamDefaultController.prototype);\n  SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm);\n  return stream;\n }\n function InitializeReadableStream(stream) {\n  stream._state = 'readable';\n  stream._reader = undefined;\n  stream._storedError = undefined;\n  stream._disturbed = false;\n }\n function IsReadableStream(x) {\n  if (!typeIsObject(x)) {\n   return false;\n  }\n  if (!Object.prototype.hasOwnProperty.call(x, '_readableStreamController')) {\n   return false;\n  }\n  return true;\n }\n function IsReadableStreamLocked(stream) {\n  if (stream._reader === undefined) {\n   return false;\n  }\n  return true;\n }\n function ReadableStreamCancel(stream, reason) {\n  stream._disturbed = true;\n  if (stream._state === 'closed') {\n   return promiseResolvedWith(undefined);\n  }\n  if (stream._state === 'errored') {\n   return promiseRejectedWith(stream._storedError);\n  }\n  ReadableStreamClose(stream);\n  var sourceCancelPromise = stream._readableStreamController[CancelSteps](reason);\n  return transformPromiseWith(sourceCancelPromise, noop);\n }\n function ReadableStreamClose(stream) {\n  stream._state = 'closed';\n  var reader = stream._reader;\n  if (reader === undefined) {\n   return;\n  }\n  if (IsReadableStreamDefaultReader(reader)) {\n   reader._readRequests.forEach(function (readRequest) {\n    readRequest._resolve(ReadableStreamCreateReadResult(undefined, true, reader._forAuthorCode));\n   });\n   reader._readRequests = new SimpleQueue();\n  }\n  defaultReaderClosedPromiseResolve(reader);\n }\n function ReadableStreamError(stream, e) {\n  stream._state = 'errored';\n  stream._storedError = e;\n  var reader = stream._reader;\n  if (reader === undefined) {\n   return;\n  }\n  if (IsReadableStreamDefaultReader(reader)) {\n   reader._readRequests.forEach(function (readRequest) {\n    readRequest._reject(e);\n   });\n   reader._readRequests = new SimpleQueue();\n  } else {\n   reader._readIntoRequests.forEach(function (readIntoRequest) {\n    readIntoRequest._reject(e);\n   });\n   reader._readIntoRequests = new SimpleQueue();\n  }\n  defaultReaderClosedPromiseReject(reader, e);\n }\n function streamBrandCheckException$1(name) {\n  return new TypeError(\"ReadableStream.prototype.\" + name + \" can only be used on a ReadableStream\");\n }\n var ByteLengthQueuingStrategy = function () {\n  function ByteLengthQueuingStrategy(_a) {\n   var highWaterMark = _a.highWaterMark;\n   this.highWaterMark = highWaterMark;\n  }\n  ByteLengthQueuingStrategy.prototype.size = function (chunk) {\n   return chunk.byteLength;\n  };\n  return ByteLengthQueuingStrategy;\n }();\n var CountQueuingStrategy = function () {\n  function CountQueuingStrategy(_a) {\n   var highWaterMark = _a.highWaterMark;\n   this.highWaterMark = highWaterMark;\n  }\n  CountQueuingStrategy.prototype.size = function () {\n   return 1;\n  };\n  return CountQueuingStrategy;\n }();\n var TransformStream = function () {\n  function TransformStream(transformer, writableStrategy, readableStrategy) {\n   if (transformer === void 0) {\n    transformer = {};\n   }\n   if (writableStrategy === void 0) {\n    writableStrategy = {};\n   }\n   if (readableStrategy === void 0) {\n    readableStrategy = {};\n   }\n   var writableSizeFunction = writableStrategy.size;\n   var writableHighWaterMark = writableStrategy.highWaterMark;\n   var readableSizeFunction = readableStrategy.size;\n   var readableHighWaterMark = readableStrategy.highWaterMark;\n   var writableType = transformer.writableType;\n   if (writableType !== undefined) {\n    throw new RangeError('Invalid writable type specified');\n   }\n   var writableSizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(writableSizeFunction);\n   if (writableHighWaterMark === undefined) {\n    writableHighWaterMark = 1;\n   }\n   writableHighWaterMark = ValidateAndNormalizeHighWaterMark(writableHighWaterMark);\n   var readableType = transformer.readableType;\n   if (readableType !== undefined) {\n    throw new RangeError('Invalid readable type specified');\n   }\n   var readableSizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(readableSizeFunction);\n   if (readableHighWaterMark === undefined) {\n    readableHighWaterMark = 0;\n   }\n   readableHighWaterMark = ValidateAndNormalizeHighWaterMark(readableHighWaterMark);\n   var startPromise_resolve;\n   var startPromise = newPromise(function (resolve) {\n    startPromise_resolve = resolve;\n   });\n   InitializeTransformStream(this, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm);\n   SetUpTransformStreamDefaultControllerFromTransformer(this, transformer);\n   var startResult = InvokeOrNoop(transformer, 'start', [this._transformStreamController]);\n   startPromise_resolve(startResult);\n  }\n  Object.defineProperty(TransformStream.prototype, \"readable\", {\n   get: function () {\n    if (IsTransformStream(this) === false) {\n     throw streamBrandCheckException$2('readable');\n    }\n    return this._readable;\n   },\n   enumerable: true,\n   configurable: true\n  });\n  Object.defineProperty(TransformStream.prototype, \"writable\", {\n   get: function () {\n    if (IsTransformStream(this) === false) {\n     throw streamBrandCheckException$2('writable');\n    }\n    return this._writable;\n   },\n   enumerable: true,\n   configurable: true\n  });\n  return TransformStream;\n }();\n function InitializeTransformStream(stream, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm) {\n  function startAlgorithm() {\n   return startPromise;\n  }\n  function writeAlgorithm(chunk) {\n   return TransformStreamDefaultSinkWriteAlgorithm(stream, chunk);\n  }\n  function abortAlgorithm(reason) {\n   return TransformStreamDefaultSinkAbortAlgorithm(stream, reason);\n  }\n  function closeAlgorithm() {\n   return TransformStreamDefaultSinkCloseAlgorithm(stream);\n  }\n  stream._writable = CreateWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, writableHighWaterMark, writableSizeAlgorithm);\n  function pullAlgorithm() {\n   return TransformStreamDefaultSourcePullAlgorithm(stream);\n  }\n  function cancelAlgorithm(reason) {\n   TransformStreamErrorWritableAndUnblockWrite(stream, reason);\n   return promiseResolvedWith(undefined);\n  }\n  stream._readable = CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, readableHighWaterMark, readableSizeAlgorithm);\n  stream._backpressure = undefined;\n  stream._backpressureChangePromise = undefined;\n  stream._backpressureChangePromise_resolve = undefined;\n  TransformStreamSetBackpressure(stream, true);\n  stream._transformStreamController = undefined;\n }\n function IsTransformStream(x) {\n  if (!typeIsObject(x)) {\n   return false;\n  }\n  if (!Object.prototype.hasOwnProperty.call(x, '_transformStreamController')) {\n   return false;\n  }\n  return true;\n }\n function TransformStreamError(stream, e) {\n  ReadableStreamDefaultControllerError(stream._readable._readableStreamController, e);\n  TransformStreamErrorWritableAndUnblockWrite(stream, e);\n }\n function TransformStreamErrorWritableAndUnblockWrite(stream, e) {\n  TransformStreamDefaultControllerClearAlgorithms(stream._transformStreamController);\n  WritableStreamDefaultControllerErrorIfNeeded(stream._writable._writableStreamController, e);\n  if (stream._backpressure === true) {\n   TransformStreamSetBackpressure(stream, false);\n  }\n }\n function TransformStreamSetBackpressure(stream, backpressure) {\n  if (stream._backpressureChangePromise !== undefined) {\n   stream._backpressureChangePromise_resolve();\n  }\n  stream._backpressureChangePromise = newPromise(function (resolve) {\n   stream._backpressureChangePromise_resolve = resolve;\n  });\n  stream._backpressure = backpressure;\n }\n var TransformStreamDefaultController = function () {\n  function TransformStreamDefaultController() {\n   throw new TypeError('TransformStreamDefaultController instances cannot be created directly');\n  }\n  Object.defineProperty(TransformStreamDefaultController.prototype, \"desiredSize\", {\n   get: function () {\n    if (IsTransformStreamDefaultController(this) === false) {\n     throw defaultControllerBrandCheckException$1('desiredSize');\n    }\n    var readableController = this._controlledTransformStream._readable._readableStreamController;\n    return ReadableStreamDefaultControllerGetDesiredSize(readableController);\n   },\n   enumerable: true,\n   configurable: true\n  });\n  TransformStreamDefaultController.prototype.enqueue = function (chunk) {\n   if (IsTransformStreamDefaultController(this) === false) {\n    throw defaultControllerBrandCheckException$1('enqueue');\n   }\n   TransformStreamDefaultControllerEnqueue(this, chunk);\n  };\n  TransformStreamDefaultController.prototype.error = function (reason) {\n   if (IsTransformStreamDefaultController(this) === false) {\n    throw defaultControllerBrandCheckException$1('error');\n   }\n   TransformStreamDefaultControllerError(this, reason);\n  };\n  TransformStreamDefaultController.prototype.terminate = function () {\n   if (IsTransformStreamDefaultController(this) === false) {\n    throw defaultControllerBrandCheckException$1('terminate');\n   }\n   TransformStreamDefaultControllerTerminate(this);\n  };\n  return TransformStreamDefaultController;\n }();\n function IsTransformStreamDefaultController(x) {\n  if (!typeIsObject(x)) {\n   return false;\n  }\n  if (!Object.prototype.hasOwnProperty.call(x, '_controlledTransformStream')) {\n   return false;\n  }\n  return true;\n }\n function SetUpTransformStreamDefaultController(stream, controller, transformAlgorithm, flushAlgorithm) {\n  controller._controlledTransformStream = stream;\n  stream._transformStreamController = controller;\n  controller._transformAlgorithm = transformAlgorithm;\n  controller._flushAlgorithm = flushAlgorithm;\n }\n function SetUpTransformStreamDefaultControllerFromTransformer(stream, transformer) {\n  var controller = Object.create(TransformStreamDefaultController.prototype);\n  var transformAlgorithm = function (chunk) {\n   try {\n    TransformStreamDefaultControllerEnqueue(controller, chunk);\n    return promiseResolvedWith(undefined);\n   } catch (transformResultE) {\n    return promiseRejectedWith(transformResultE);\n   }\n  };\n  var transformMethod = transformer.transform;\n  if (transformMethod !== undefined) {\n   if (typeof transformMethod !== 'function') {\n    throw new TypeError('transform is not a method');\n   }\n   transformAlgorithm = function (chunk) {\n    return PromiseCall(transformMethod, transformer, [\n     chunk,\n     controller\n    ]);\n   };\n  }\n  var flushAlgorithm = CreateAlgorithmFromUnderlyingMethod(transformer, 'flush', 0, [controller]);\n  SetUpTransformStreamDefaultController(stream, controller, transformAlgorithm, flushAlgorithm);\n }\n function TransformStreamDefaultControllerClearAlgorithms(controller) {\n  controller._transformAlgorithm = undefined;\n  controller._flushAlgorithm = undefined;\n }\n function TransformStreamDefaultControllerEnqueue(controller, chunk) {\n  var stream = controller._controlledTransformStream;\n  var readableController = stream._readable._readableStreamController;\n  if (ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController) === false) {\n   throw new TypeError('Readable side is not in a state that permits enqueue');\n  }\n  try {\n   ReadableStreamDefaultControllerEnqueue(readableController, chunk);\n  } catch (e) {\n   TransformStreamErrorWritableAndUnblockWrite(stream, e);\n   throw stream._readable._storedError;\n  }\n  var backpressure = ReadableStreamDefaultControllerHasBackpressure(readableController);\n  if (backpressure !== stream._backpressure) {\n   TransformStreamSetBackpressure(stream, true);\n  }\n }\n function TransformStreamDefaultControllerError(controller, e) {\n  TransformStreamError(controller._controlledTransformStream, e);\n }\n function TransformStreamDefaultControllerPerformTransform(controller, chunk) {\n  var transformPromise = controller._transformAlgorithm(chunk);\n  return transformPromiseWith(transformPromise, undefined, function (r) {\n   TransformStreamError(controller._controlledTransformStream, r);\n   throw r;\n  });\n }\n function TransformStreamDefaultControllerTerminate(controller) {\n  var stream = controller._controlledTransformStream;\n  var readableController = stream._readable._readableStreamController;\n  if (ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController) === true) {\n   ReadableStreamDefaultControllerClose(readableController);\n  }\n  var error = new TypeError('TransformStream terminated');\n  TransformStreamErrorWritableAndUnblockWrite(stream, error);\n }\n function TransformStreamDefaultSinkWriteAlgorithm(stream, chunk) {\n  var controller = stream._transformStreamController;\n  if (stream._backpressure === true) {\n   var backpressureChangePromise = stream._backpressureChangePromise;\n   return transformPromiseWith(backpressureChangePromise, function () {\n    var writable = stream._writable;\n    var state = writable._state;\n    if (state === 'erroring') {\n     throw writable._storedError;\n    }\n    return TransformStreamDefaultControllerPerformTransform(controller, chunk);\n   });\n  }\n  return TransformStreamDefaultControllerPerformTransform(controller, chunk);\n }\n function TransformStreamDefaultSinkAbortAlgorithm(stream, reason) {\n  TransformStreamError(stream, reason);\n  return promiseResolvedWith(undefined);\n }\n function TransformStreamDefaultSinkCloseAlgorithm(stream) {\n  var readable = stream._readable;\n  var controller = stream._transformStreamController;\n  var flushPromise = controller._flushAlgorithm();\n  TransformStreamDefaultControllerClearAlgorithms(controller);\n  return transformPromiseWith(flushPromise, function () {\n   if (readable._state === 'errored') {\n    throw readable._storedError;\n   }\n   var readableController = readable._readableStreamController;\n   if (ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController) === true) {\n    ReadableStreamDefaultControllerClose(readableController);\n   }\n  }, function (r) {\n   TransformStreamError(stream, r);\n   throw readable._storedError;\n  });\n }\n function TransformStreamDefaultSourcePullAlgorithm(stream) {\n  TransformStreamSetBackpressure(stream, false);\n  return stream._backpressureChangePromise;\n }\n function defaultControllerBrandCheckException$1(name) {\n  return new TypeError(\"TransformStreamDefaultController.prototype.\" + name + \" can only be used on a TransformStreamDefaultController\");\n }\n function streamBrandCheckException$2(name) {\n  return new TypeError(\"TransformStream.prototype.\" + name + \" can only be used on a TransformStream\");\n }\n exports.ByteLengthQueuingStrategy = ByteLengthQueuingStrategy;\n exports.CountQueuingStrategy = CountQueuingStrategy;\n exports.ReadableStream = ReadableStream;\n exports.TransformStream = TransformStream;\n exports.WritableStream = WritableStream;\n Object.defineProperty(exports, '__esModule', { value: true });\n}));\n\n/***/ }),\n/* 144 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(145);\n__w_pdfjs_require__(114);\n__w_pdfjs_require__(77);\n__w_pdfjs_require__(116);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Map;\n\n/***/ }),\n/* 145 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar collection = __w_pdfjs_require__(146);\nvar collectionStrong = __w_pdfjs_require__(150);\nmodule.exports = collection('Map', function (init) {\n return function Map() {\n  return init(this, arguments.length ? arguments[0] : undefined);\n };\n}, collectionStrong);\n\n/***/ }),\n/* 146 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar global = __w_pdfjs_require__(11);\nvar isForced = __w_pdfjs_require__(52);\nvar redefine = __w_pdfjs_require__(29);\nvar InternalMetadataModule = __w_pdfjs_require__(147);\nvar iterate = __w_pdfjs_require__(124);\nvar anInstance = __w_pdfjs_require__(123);\nvar isObject = __w_pdfjs_require__(22);\nvar fails = __w_pdfjs_require__(14);\nvar checkCorrectnessOfIteration = __w_pdfjs_require__(97);\nvar setToStringTag = __w_pdfjs_require__(85);\nvar inheritIfRequired = __w_pdfjs_require__(149);\nmodule.exports = function (CONSTRUCTOR_NAME, wrapper, common) {\n var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;\n var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;\n var ADDER = IS_MAP ? 'set' : 'add';\n var NativeConstructor = global[CONSTRUCTOR_NAME];\n var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n var Constructor = NativeConstructor;\n var exported = {};\n var fixMethod = function (KEY) {\n  var nativeMethod = NativePrototype[KEY];\n  redefine(NativePrototype, KEY, KEY == 'add' ? function add(value) {\n   nativeMethod.call(this, value === 0 ? 0 : value);\n   return this;\n  } : KEY == 'delete' ? function (key) {\n   return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n  } : KEY == 'get' ? function get(key) {\n   return IS_WEAK && !isObject(key) ? undefined : nativeMethod.call(this, key === 0 ? 0 : key);\n  } : KEY == 'has' ? function has(key) {\n   return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n  } : function set(key, value) {\n   nativeMethod.call(this, key === 0 ? 0 : key, value);\n   return this;\n  });\n };\n if (isForced(CONSTRUCTOR_NAME, typeof NativeConstructor != 'function' || !(IS_WEAK || NativePrototype.forEach && !fails(function () {\n   new NativeConstructor().entries().next();\n  })))) {\n  Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);\n  InternalMetadataModule.REQUIRED = true;\n } else if (isForced(CONSTRUCTOR_NAME, true)) {\n  var instance = new Constructor();\n  var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n  var THROWS_ON_PRIMITIVES = fails(function () {\n   instance.has(1);\n  });\n  var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) {\n   new NativeConstructor(iterable);\n  });\n  var BUGGY_ZERO = !IS_WEAK && fails(function () {\n   var $instance = new NativeConstructor();\n   var index = 5;\n   while (index--)\n    $instance[ADDER](index, index);\n   return !$instance.has(-0);\n  });\n  if (!ACCEPT_ITERABLES) {\n   Constructor = wrapper(function (dummy, iterable) {\n    anInstance(dummy, Constructor, CONSTRUCTOR_NAME);\n    var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);\n    if (iterable != undefined)\n     iterate(iterable, that[ADDER], that, IS_MAP);\n    return that;\n   });\n   Constructor.prototype = NativePrototype;\n   NativePrototype.constructor = Constructor;\n  }\n  if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n   fixMethod('delete');\n   fixMethod('has');\n   IS_MAP && fixMethod('get');\n  }\n  if (BUGGY_ZERO || HASNT_CHAINING)\n   fixMethod(ADDER);\n  if (IS_WEAK && NativePrototype.clear)\n   delete NativePrototype.clear;\n }\n exported[CONSTRUCTOR_NAME] = Constructor;\n $({\n  global: true,\n  forced: Constructor != NativeConstructor\n }, exported);\n setToStringTag(Constructor, CONSTRUCTOR_NAME);\n if (!IS_WEAK)\n  common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n return Constructor;\n};\n\n/***/ }),\n/* 147 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar hiddenKeys = __w_pdfjs_require__(39);\nvar isObject = __w_pdfjs_require__(22);\nvar has = __w_pdfjs_require__(23);\nvar defineProperty = __w_pdfjs_require__(27).f;\nvar uid = __w_pdfjs_require__(38);\nvar FREEZING = __w_pdfjs_require__(148);\nvar METADATA = uid('meta');\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar setMetadata = function (it) {\n defineProperty(it, METADATA, {\n  value: {\n   objectID: 'O' + ++id,\n   weakData: {}\n  }\n });\n};\nvar fastKey = function (it, create) {\n if (!isObject(it))\n  return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, METADATA)) {\n  if (!isExtensible(it))\n   return 'F';\n  if (!create)\n   return 'E';\n  setMetadata(it);\n }\n return it[METADATA].objectID;\n};\nvar getWeakData = function (it, create) {\n if (!has(it, METADATA)) {\n  if (!isExtensible(it))\n   return true;\n  if (!create)\n   return false;\n  setMetadata(it);\n }\n return it[METADATA].weakData;\n};\nvar onFreeze = function (it) {\n if (FREEZING && meta.REQUIRED && isExtensible(it) && !has(it, METADATA))\n  setMetadata(it);\n return it;\n};\nvar meta = module.exports = {\n REQUIRED: false,\n fastKey: fastKey,\n getWeakData: getWeakData,\n onFreeze: onFreeze\n};\nhiddenKeys[METADATA] = true;\n\n/***/ }),\n/* 148 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(14);\nmodule.exports = !fails(function () {\n return Object.isExtensible(Object.preventExtensions({}));\n});\n\n/***/ }),\n/* 149 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(22);\nvar setPrototypeOf = __w_pdfjs_require__(87);\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (setPrototypeOf && typeof (NewTarget = dummy.constructor) == 'function' && NewTarget !== Wrapper && isObject(NewTargetPrototype = NewTarget.prototype) && NewTargetPrototype !== Wrapper.prototype)\n  setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n\n/***/ }),\n/* 150 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar defineProperty = __w_pdfjs_require__(27).f;\nvar create = __w_pdfjs_require__(71);\nvar redefineAll = __w_pdfjs_require__(121);\nvar bind = __w_pdfjs_require__(62);\nvar anInstance = __w_pdfjs_require__(123);\nvar iterate = __w_pdfjs_require__(124);\nvar defineIterator = __w_pdfjs_require__(79);\nvar setSpecies = __w_pdfjs_require__(122);\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar fastKey = __w_pdfjs_require__(147).fastKey;\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n  var C = wrapper(function (that, iterable) {\n   anInstance(that, C, CONSTRUCTOR_NAME);\n   setInternalState(that, {\n    type: CONSTRUCTOR_NAME,\n    index: create(null),\n    first: undefined,\n    last: undefined,\n    size: 0\n   });\n   if (!DESCRIPTORS)\n    that.size = 0;\n   if (iterable != undefined)\n    iterate(iterable, that[ADDER], that, IS_MAP);\n  });\n  var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n  var define = function (that, key, value) {\n   var state = getInternalState(that);\n   var entry = getEntry(that, key);\n   var previous, index;\n   if (entry) {\n    entry.value = value;\n   } else {\n    state.last = entry = {\n     index: index = fastKey(key, true),\n     key: key,\n     value: value,\n     previous: previous = state.last,\n     next: undefined,\n     removed: false\n    };\n    if (!state.first)\n     state.first = entry;\n    if (previous)\n     previous.next = entry;\n    if (DESCRIPTORS)\n     state.size++;\n    else\n     that.size++;\n    if (index !== 'F')\n     state.index[index] = entry;\n   }\n   return that;\n  };\n  var getEntry = function (that, key) {\n   var state = getInternalState(that);\n   var index = fastKey(key);\n   var entry;\n   if (index !== 'F')\n    return state.index[index];\n   for (entry = state.first; entry; entry = entry.next) {\n    if (entry.key == key)\n     return entry;\n   }\n  };\n  redefineAll(C.prototype, {\n   clear: function clear() {\n    var that = this;\n    var state = getInternalState(that);\n    var data = state.index;\n    var entry = state.first;\n    while (entry) {\n     entry.removed = true;\n     if (entry.previous)\n      entry.previous = entry.previous.next = undefined;\n     delete data[entry.index];\n     entry = entry.next;\n    }\n    state.first = state.last = undefined;\n    if (DESCRIPTORS)\n     state.size = 0;\n    else\n     that.size = 0;\n   },\n   'delete': function (key) {\n    var that = this;\n    var state = getInternalState(that);\n    var entry = getEntry(that, key);\n    if (entry) {\n     var next = entry.next;\n     var prev = entry.previous;\n     delete state.index[entry.index];\n     entry.removed = true;\n     if (prev)\n      prev.next = next;\n     if (next)\n      next.previous = prev;\n     if (state.first == entry)\n      state.first = next;\n     if (state.last == entry)\n      state.last = prev;\n     if (DESCRIPTORS)\n      state.size--;\n     else\n      that.size--;\n    }\n    return !!entry;\n   },\n   forEach: function forEach(callbackfn) {\n    var state = getInternalState(this);\n    var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n    var entry;\n    while (entry = entry ? entry.next : state.first) {\n     boundFunction(entry.value, entry.key, this);\n     while (entry && entry.removed)\n      entry = entry.previous;\n    }\n   },\n   has: function has(key) {\n    return !!getEntry(this, key);\n   }\n  });\n  redefineAll(C.prototype, IS_MAP ? {\n   get: function get(key) {\n    var entry = getEntry(this, key);\n    return entry && entry.value;\n   },\n   set: function set(key, value) {\n    return define(this, key === 0 ? 0 : key, value);\n   }\n  } : {\n   add: function add(value) {\n    return define(this, value = value === 0 ? 0 : value, value);\n   }\n  });\n  if (DESCRIPTORS)\n   defineProperty(C.prototype, 'size', {\n    get: function () {\n     return getInternalState(this).size;\n    }\n   });\n  return C;\n },\n setStrong: function (C, CONSTRUCTOR_NAME, IS_MAP) {\n  var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';\n  var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);\n  var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);\n  defineIterator(C, CONSTRUCTOR_NAME, function (iterated, kind) {\n   setInternalState(this, {\n    type: ITERATOR_NAME,\n    target: iterated,\n    state: getInternalCollectionState(iterated),\n    kind: kind,\n    last: undefined\n   });\n  }, function () {\n   var state = getInternalIteratorState(this);\n   var kind = state.kind;\n   var entry = state.last;\n   while (entry && entry.removed)\n    entry = entry.previous;\n   if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {\n    state.target = undefined;\n    return {\n     value: undefined,\n     done: true\n    };\n   }\n   if (kind == 'keys')\n    return {\n     value: entry.key,\n     done: false\n    };\n   if (kind == 'values')\n    return {\n     value: entry.value,\n     done: false\n    };\n   return {\n    value: [\n     entry.key,\n     entry.value\n    ],\n    done: false\n   };\n  }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n  setSpecies(CONSTRUCTOR_NAME);\n }\n};\n\n/***/ }),\n/* 151 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(152);\n__w_pdfjs_require__(114);\n__w_pdfjs_require__(77);\n__w_pdfjs_require__(116);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Set;\n\n/***/ }),\n/* 152 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar collection = __w_pdfjs_require__(146);\nvar collectionStrong = __w_pdfjs_require__(150);\nmodule.exports = collection('Set', function (init) {\n return function Set() {\n  return init(this, arguments.length ? arguments[0] : undefined);\n };\n}, collectionStrong);\n\n/***/ }),\n/* 153 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(114);\n__w_pdfjs_require__(154);\n__w_pdfjs_require__(116);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.WeakMap;\n\n/***/ }),\n/* 154 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar global = __w_pdfjs_require__(11);\nvar redefineAll = __w_pdfjs_require__(121);\nvar InternalMetadataModule = __w_pdfjs_require__(147);\nvar collection = __w_pdfjs_require__(146);\nvar collectionWeak = __w_pdfjs_require__(155);\nvar isObject = __w_pdfjs_require__(22);\nvar enforceIternalState = __w_pdfjs_require__(33).enforce;\nvar NATIVE_WEAK_MAP = __w_pdfjs_require__(34);\nvar IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global;\nvar isExtensible = Object.isExtensible;\nvar InternalWeakMap;\nvar wrapper = function (init) {\n return function WeakMap() {\n  return init(this, arguments.length ? arguments[0] : undefined);\n };\n};\nvar $WeakMap = module.exports = collection('WeakMap', wrapper, collectionWeak);\nif (NATIVE_WEAK_MAP && IS_IE11) {\n InternalWeakMap = collectionWeak.getConstructor(wrapper, 'WeakMap', true);\n InternalMetadataModule.REQUIRED = true;\n var WeakMapPrototype = $WeakMap.prototype;\n var nativeDelete = WeakMapPrototype['delete'];\n var nativeHas = WeakMapPrototype.has;\n var nativeGet = WeakMapPrototype.get;\n var nativeSet = WeakMapPrototype.set;\n redefineAll(WeakMapPrototype, {\n  'delete': function (key) {\n   if (isObject(key) && !isExtensible(key)) {\n    var state = enforceIternalState(this);\n    if (!state.frozen)\n     state.frozen = new InternalWeakMap();\n    return nativeDelete.call(this, key) || state.frozen['delete'](key);\n   }\n   return nativeDelete.call(this, key);\n  },\n  has: function has(key) {\n   if (isObject(key) && !isExtensible(key)) {\n    var state = enforceIternalState(this);\n    if (!state.frozen)\n     state.frozen = new InternalWeakMap();\n    return nativeHas.call(this, key) || state.frozen.has(key);\n   }\n   return nativeHas.call(this, key);\n  },\n  get: function get(key) {\n   if (isObject(key) && !isExtensible(key)) {\n    var state = enforceIternalState(this);\n    if (!state.frozen)\n     state.frozen = new InternalWeakMap();\n    return nativeHas.call(this, key) ? nativeGet.call(this, key) : state.frozen.get(key);\n   }\n   return nativeGet.call(this, key);\n  },\n  set: function set(key, value) {\n   if (isObject(key) && !isExtensible(key)) {\n    var state = enforceIternalState(this);\n    if (!state.frozen)\n     state.frozen = new InternalWeakMap();\n    nativeHas.call(this, key) ? nativeSet.call(this, key, value) : state.frozen.set(key, value);\n   } else\n    nativeSet.call(this, key, value);\n   return this;\n  }\n });\n}\n\n/***/ }),\n/* 155 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar redefineAll = __w_pdfjs_require__(121);\nvar getWeakData = __w_pdfjs_require__(147).getWeakData;\nvar anObject = __w_pdfjs_require__(28);\nvar isObject = __w_pdfjs_require__(22);\nvar anInstance = __w_pdfjs_require__(123);\nvar iterate = __w_pdfjs_require__(124);\nvar ArrayIterationModule = __w_pdfjs_require__(156);\nvar $has = __w_pdfjs_require__(23);\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\nvar find = ArrayIterationModule.find;\nvar findIndex = ArrayIterationModule.findIndex;\nvar id = 0;\nvar uncaughtFrozenStore = function (store) {\n return store.frozen || (store.frozen = new UncaughtFrozenStore());\n};\nvar UncaughtFrozenStore = function () {\n this.entries = [];\n};\nvar findUncaughtFrozen = function (store, key) {\n return find(store.entries, function (it) {\n  return it[0] === key;\n });\n};\nUncaughtFrozenStore.prototype = {\n get: function (key) {\n  var entry = findUncaughtFrozen(this, key);\n  if (entry)\n   return entry[1];\n },\n has: function (key) {\n  return !!findUncaughtFrozen(this, key);\n },\n set: function (key, value) {\n  var entry = findUncaughtFrozen(this, key);\n  if (entry)\n   entry[1] = value;\n  else\n   this.entries.push([\n    key,\n    value\n   ]);\n },\n 'delete': function (key) {\n  var index = findIndex(this.entries, function (it) {\n   return it[0] === key;\n  });\n  if (~index)\n   this.entries.splice(index, 1);\n  return !!~index;\n }\n};\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n  var C = wrapper(function (that, iterable) {\n   anInstance(that, C, CONSTRUCTOR_NAME);\n   setInternalState(that, {\n    type: CONSTRUCTOR_NAME,\n    id: id++,\n    frozen: undefined\n   });\n   if (iterable != undefined)\n    iterate(iterable, that[ADDER], that, IS_MAP);\n  });\n  var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n  var define = function (that, key, value) {\n   var state = getInternalState(that);\n   var data = getWeakData(anObject(key), true);\n   if (data === true)\n    uncaughtFrozenStore(state).set(key, value);\n   else\n    data[state.id] = value;\n   return that;\n  };\n  redefineAll(C.prototype, {\n   'delete': function (key) {\n    var state = getInternalState(this);\n    if (!isObject(key))\n     return false;\n    var data = getWeakData(key);\n    if (data === true)\n     return uncaughtFrozenStore(state)['delete'](key);\n    return data && $has(data, state.id) && delete data[state.id];\n   },\n   has: function has(key) {\n    var state = getInternalState(this);\n    if (!isObject(key))\n     return false;\n    var data = getWeakData(key);\n    if (data === true)\n     return uncaughtFrozenStore(state).has(key);\n    return data && $has(data, state.id);\n   }\n  });\n  redefineAll(C.prototype, IS_MAP ? {\n   get: function get(key) {\n    var state = getInternalState(this);\n    if (isObject(key)) {\n     var data = getWeakData(key);\n     if (data === true)\n      return uncaughtFrozenStore(state).get(key);\n     return data ? data[state.id] : undefined;\n    }\n   },\n   set: function set(key, value) {\n    return define(this, key, value);\n   }\n  } : {\n   add: function add(value) {\n    return define(this, value, true);\n   }\n  });\n  return C;\n }\n};\n\n/***/ }),\n/* 156 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar bind = __w_pdfjs_require__(62);\nvar IndexedObject = __w_pdfjs_require__(18);\nvar toObject = __w_pdfjs_require__(83);\nvar toLength = __w_pdfjs_require__(47);\nvar arraySpeciesCreate = __w_pdfjs_require__(157);\nvar push = [].push;\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n  var O = toObject($this);\n  var self = IndexedObject(O);\n  var boundFunction = bind(callbackfn, that, 3);\n  var length = toLength(self.length);\n  var index = 0;\n  var create = specificCreate || arraySpeciesCreate;\n  var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n  var value, result;\n  for (; length > index; index++)\n   if (NO_HOLES || index in self) {\n    value = self[index];\n    result = boundFunction(value, index, O);\n    if (TYPE) {\n     if (IS_MAP)\n      target[index] = result;\n     else if (result)\n      switch (TYPE) {\n      case 3:\n       return true;\n      case 5:\n       return value;\n      case 6:\n       return index;\n      case 2:\n       push.call(target, value);\n      }\n     else if (IS_EVERY)\n      return false;\n    }\n   }\n  return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\nmodule.exports = {\n forEach: createMethod(0),\n map: createMethod(1),\n filter: createMethod(2),\n some: createMethod(3),\n every: createMethod(4),\n find: createMethod(5),\n findIndex: createMethod(6)\n};\n\n/***/ }),\n/* 157 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(22);\nvar isArray = __w_pdfjs_require__(158);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar SPECIES = wellKnownSymbol('species');\nmodule.exports = function (originalArray, length) {\n var C;\n if (isArray(originalArray)) {\n  C = originalArray.constructor;\n  if (typeof C == 'function' && (C === Array || isArray(C.prototype)))\n   C = undefined;\n  else if (isObject(C)) {\n   C = C[SPECIES];\n   if (C === null)\n    C = undefined;\n  }\n }\n return new (C === undefined ? Array : C)(length === 0 ? 0 : length);\n};\n\n/***/ }),\n/* 158 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar classof = __w_pdfjs_require__(19);\nmodule.exports = Array.isArray || function isArray(arg) {\n return classof(arg) == 'Array';\n};\n\n/***/ }),\n/* 159 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(114);\n__w_pdfjs_require__(160);\n__w_pdfjs_require__(116);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.WeakSet;\n\n/***/ }),\n/* 160 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar collection = __w_pdfjs_require__(146);\nvar collectionWeak = __w_pdfjs_require__(155);\ncollection('WeakSet', function (init) {\n return function WeakSet() {\n  return init(this, arguments.length ? arguments[0] : undefined);\n };\n}, collectionWeak);\n\n/***/ }),\n/* 161 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(162);\nvar entryUnbind = __w_pdfjs_require__(61);\nmodule.exports = entryUnbind('String', 'codePointAt');\n\n/***/ }),\n/* 162 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar codeAt = __w_pdfjs_require__(78).codeAt;\n$({\n target: 'String',\n proto: true\n}, {\n codePointAt: function codePointAt(pos) {\n  return codeAt(this, pos);\n }\n});\n\n/***/ }),\n/* 163 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(164);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.String.fromCodePoint;\n\n/***/ }),\n/* 164 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\nvar toAbsoluteIndex = __w_pdfjs_require__(49);\nvar fromCharCode = String.fromCharCode;\nvar nativeFromCodePoint = String.fromCodePoint;\nvar INCORRECT_LENGTH = !!nativeFromCodePoint && nativeFromCodePoint.length != 1;\n$({\n target: 'String',\n stat: true,\n forced: INCORRECT_LENGTH\n}, {\n fromCodePoint: function fromCodePoint(x) {\n  var elements = [];\n  var length = arguments.length;\n  var i = 0;\n  var code;\n  while (length > i) {\n   code = +arguments[i++];\n   if (toAbsoluteIndex(code, 0x10FFFF) !== code)\n    throw RangeError(code + ' is not a valid code point');\n   elements.push(code < 0x10000 ? fromCharCode(code) : fromCharCode(((code -= 0x10000) >> 10) + 0xD800, code % 0x400 + 0xDC00));\n  }\n  return elements.join('');\n }\n});\n\n/***/ }),\n/* 165 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(166);\n__w_pdfjs_require__(114);\n__w_pdfjs_require__(168);\n__w_pdfjs_require__(172);\n__w_pdfjs_require__(173);\n__w_pdfjs_require__(174);\n__w_pdfjs_require__(175);\n__w_pdfjs_require__(176);\n__w_pdfjs_require__(177);\n__w_pdfjs_require__(178);\n__w_pdfjs_require__(179);\n__w_pdfjs_require__(180);\n__w_pdfjs_require__(181);\n__w_pdfjs_require__(182);\n__w_pdfjs_require__(183);\n__w_pdfjs_require__(184);\n__w_pdfjs_require__(185);\n__w_pdfjs_require__(186);\n__w_pdfjs_require__(187);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Symbol;\n\n/***/ }),\n/* 166 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar fails = __w_pdfjs_require__(14);\nvar isArray = __w_pdfjs_require__(158);\nvar isObject = __w_pdfjs_require__(22);\nvar toObject = __w_pdfjs_require__(83);\nvar toLength = __w_pdfjs_require__(47);\nvar createProperty = __w_pdfjs_require__(93);\nvar arraySpeciesCreate = __w_pdfjs_require__(157);\nvar arrayMethodHasSpeciesSupport = __w_pdfjs_require__(167);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar V8_VERSION = __w_pdfjs_require__(133);\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';\nvar IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {\n var array = [];\n array[IS_CONCAT_SPREADABLE] = false;\n return array.concat()[0] !== array;\n});\nvar SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');\nvar isConcatSpreadable = function (O) {\n if (!isObject(O))\n  return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n};\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;\n$({\n target: 'Array',\n proto: true,\n forced: FORCED\n}, {\n concat: function concat(arg) {\n  var O = toObject(this);\n  var A = arraySpeciesCreate(O, 0);\n  var n = 0;\n  var i, k, length, len, E;\n  for (i = -1, length = arguments.length; i < length; i++) {\n   E = i === -1 ? O : arguments[i];\n   if (isConcatSpreadable(E)) {\n    len = toLength(E.length);\n    if (n + len > MAX_SAFE_INTEGER)\n     throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n    for (k = 0; k < len; k++, n++)\n     if (k in E)\n      createProperty(A, n, E[k]);\n   } else {\n    if (n >= MAX_SAFE_INTEGER)\n     throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n    createProperty(A, n++, E);\n   }\n  }\n  A.length = n;\n  return A;\n }\n});\n\n/***/ }),\n/* 167 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(14);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar V8_VERSION = __w_pdfjs_require__(133);\nvar SPECIES = wellKnownSymbol('species');\nmodule.exports = function (METHOD_NAME) {\n return V8_VERSION >= 51 || !fails(function () {\n  var array = [];\n  var constructor = array.constructor = {};\n  constructor[SPECIES] = function () {\n   return { foo: 1 };\n  };\n  return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n\n/***/ }),\n/* 168 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar global = __w_pdfjs_require__(11);\nvar getBuiltIn = __w_pdfjs_require__(42);\nvar IS_PURE = __w_pdfjs_require__(37);\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar NATIVE_SYMBOL = __w_pdfjs_require__(58);\nvar USE_SYMBOL_AS_UID = __w_pdfjs_require__(59);\nvar fails = __w_pdfjs_require__(14);\nvar has = __w_pdfjs_require__(23);\nvar isArray = __w_pdfjs_require__(158);\nvar isObject = __w_pdfjs_require__(22);\nvar anObject = __w_pdfjs_require__(28);\nvar toObject = __w_pdfjs_require__(83);\nvar toIndexedObject = __w_pdfjs_require__(17);\nvar toPrimitive = __w_pdfjs_require__(21);\nvar createPropertyDescriptor = __w_pdfjs_require__(16);\nvar nativeObjectCreate = __w_pdfjs_require__(71);\nvar objectKeys = __w_pdfjs_require__(73);\nvar getOwnPropertyNamesModule = __w_pdfjs_require__(44);\nvar getOwnPropertyNamesExternal = __w_pdfjs_require__(169);\nvar getOwnPropertySymbolsModule = __w_pdfjs_require__(51);\nvar getOwnPropertyDescriptorModule = __w_pdfjs_require__(12);\nvar definePropertyModule = __w_pdfjs_require__(27);\nvar propertyIsEnumerableModule = __w_pdfjs_require__(15);\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nvar redefine = __w_pdfjs_require__(29);\nvar shared = __w_pdfjs_require__(36);\nvar sharedKey = __w_pdfjs_require__(35);\nvar hiddenKeys = __w_pdfjs_require__(39);\nvar uid = __w_pdfjs_require__(38);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar wrappedWellKnownSymbolModule = __w_pdfjs_require__(170);\nvar defineWellKnownSymbol = __w_pdfjs_require__(171);\nvar setToStringTag = __w_pdfjs_require__(85);\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar $forEach = __w_pdfjs_require__(156).forEach;\nvar HIDDEN = sharedKey('hidden');\nvar SYMBOL = 'Symbol';\nvar PROTOTYPE = 'prototype';\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(SYMBOL);\nvar ObjectPrototype = Object[PROTOTYPE];\nvar $Symbol = global.Symbol;\nvar $stringify = getBuiltIn('JSON', 'stringify');\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;\nvar nativePropertyIsEnumerable = propertyIsEnumerableModule.f;\nvar AllSymbols = shared('symbols');\nvar ObjectPrototypeSymbols = shared('op-symbols');\nvar StringToSymbolRegistry = shared('string-to-symbol-registry');\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\nvar WellKnownSymbolsStore = shared('wks');\nvar QObject = global.QObject;\nvar USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\nvar setSymbolDescriptor = DESCRIPTORS && fails(function () {\n return nativeObjectCreate(nativeDefineProperty({}, 'a', {\n  get: function () {\n   return nativeDefineProperty(this, 'a', { value: 7 }).a;\n  }\n })).a != 7;\n}) ? function (O, P, Attributes) {\n var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);\n if (ObjectPrototypeDescriptor)\n  delete ObjectPrototype[P];\n nativeDefineProperty(O, P, Attributes);\n if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {\n  nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);\n }\n} : nativeDefineProperty;\nvar wrap = function (tag, description) {\n var symbol = AllSymbols[tag] = nativeObjectCreate($Symbol[PROTOTYPE]);\n setInternalState(symbol, {\n  type: SYMBOL,\n  tag: tag,\n  description: description\n });\n if (!DESCRIPTORS)\n  symbol.description = description;\n return symbol;\n};\nvar isSymbol = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return Object(it) instanceof $Symbol;\n};\nvar $defineProperty = function defineProperty(O, P, Attributes) {\n if (O === ObjectPrototype)\n  $defineProperty(ObjectPrototypeSymbols, P, Attributes);\n anObject(O);\n var key = toPrimitive(P, true);\n anObject(Attributes);\n if (has(AllSymbols, key)) {\n  if (!Attributes.enumerable) {\n   if (!has(O, HIDDEN))\n    nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));\n   O[HIDDEN][key] = true;\n  } else {\n   if (has(O, HIDDEN) && O[HIDDEN][key])\n    O[HIDDEN][key] = false;\n   Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });\n  }\n  return setSymbolDescriptor(O, key, Attributes);\n }\n return nativeDefineProperty(O, key, Attributes);\n};\nvar $defineProperties = function defineProperties(O, Properties) {\n anObject(O);\n var properties = toIndexedObject(Properties);\n var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));\n $forEach(keys, function (key) {\n  if (!DESCRIPTORS || $propertyIsEnumerable.call(properties, key))\n   $defineProperty(O, key, properties[key]);\n });\n return O;\n};\nvar $create = function create(O, Properties) {\n return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(V) {\n var P = toPrimitive(V, true);\n var enumerable = nativePropertyIsEnumerable.call(this, P);\n if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P))\n  return false;\n return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {\n var it = toIndexedObject(O);\n var key = toPrimitive(P, true);\n if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key))\n  return;\n var descriptor = nativeGetOwnPropertyDescriptor(it, key);\n if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) {\n  descriptor.enumerable = true;\n }\n return descriptor;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(O) {\n var names = nativeGetOwnPropertyNames(toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n  if (!has(AllSymbols, key) && !has(hiddenKeys, key))\n   result.push(key);\n });\n return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(O) {\n var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;\n var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n  if (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) {\n   result.push(AllSymbols[key]);\n  }\n });\n return result;\n};\nif (!NATIVE_SYMBOL) {\n $Symbol = function Symbol() {\n  if (this instanceof $Symbol)\n   throw TypeError('Symbol is not a constructor');\n  var description = !arguments.length || arguments[0] === undefined ? undefined : String(arguments[0]);\n  var tag = uid(description);\n  var setter = function (value) {\n   if (this === ObjectPrototype)\n    setter.call(ObjectPrototypeSymbols, value);\n   if (has(this, HIDDEN) && has(this[HIDDEN], tag))\n    this[HIDDEN][tag] = false;\n   setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));\n  };\n  if (DESCRIPTORS && USE_SETTER)\n   setSymbolDescriptor(ObjectPrototype, tag, {\n    configurable: true,\n    set: setter\n   });\n  return wrap(tag, description);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n  return getInternalState(this).tag;\n });\n redefine($Symbol, 'withoutSetter', function (description) {\n  return wrap(uid(description), description);\n });\n propertyIsEnumerableModule.f = $propertyIsEnumerable;\n definePropertyModule.f = $defineProperty;\n getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;\n getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;\n getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;\n wrappedWellKnownSymbolModule.f = function (name) {\n  return wrap(wellKnownSymbol(name), name);\n };\n if (DESCRIPTORS) {\n  nativeDefineProperty($Symbol[PROTOTYPE], 'description', {\n   configurable: true,\n   get: function description() {\n    return getInternalState(this).description;\n   }\n  });\n  if (!IS_PURE) {\n   redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });\n  }\n }\n}\n$({\n global: true,\n wrap: true,\n forced: !NATIVE_SYMBOL,\n sham: !NATIVE_SYMBOL\n}, { Symbol: $Symbol });\n$forEach(objectKeys(WellKnownSymbolsStore), function (name) {\n defineWellKnownSymbol(name);\n});\n$({\n target: SYMBOL,\n stat: true,\n forced: !NATIVE_SYMBOL\n}, {\n 'for': function (key) {\n  var string = String(key);\n  if (has(StringToSymbolRegistry, string))\n   return StringToSymbolRegistry[string];\n  var symbol = $Symbol(string);\n  StringToSymbolRegistry[string] = symbol;\n  SymbolToStringRegistry[symbol] = string;\n  return symbol;\n },\n keyFor: function keyFor(sym) {\n  if (!isSymbol(sym))\n   throw TypeError(sym + ' is not a symbol');\n  if (has(SymbolToStringRegistry, sym))\n   return SymbolToStringRegistry[sym];\n },\n useSetter: function () {\n  USE_SETTER = true;\n },\n useSimple: function () {\n  USE_SETTER = false;\n }\n});\n$({\n target: 'Object',\n stat: true,\n forced: !NATIVE_SYMBOL,\n sham: !DESCRIPTORS\n}, {\n create: $create,\n defineProperty: $defineProperty,\n defineProperties: $defineProperties,\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor\n});\n$({\n target: 'Object',\n stat: true,\n forced: !NATIVE_SYMBOL\n}, {\n getOwnPropertyNames: $getOwnPropertyNames,\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n$({\n target: 'Object',\n stat: true,\n forced: fails(function () {\n  getOwnPropertySymbolsModule.f(1);\n })\n}, {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n  return getOwnPropertySymbolsModule.f(toObject(it));\n }\n});\nif ($stringify) {\n var FORCED_JSON_STRINGIFY = !NATIVE_SYMBOL || fails(function () {\n  var symbol = $Symbol();\n  return $stringify([symbol]) != '[null]' || $stringify({ a: symbol }) != '{}' || $stringify(Object(symbol)) != '{}';\n });\n $({\n  target: 'JSON',\n  stat: true,\n  forced: FORCED_JSON_STRINGIFY\n }, {\n  stringify: function stringify(it, replacer, space) {\n   var args = [it];\n   var index = 1;\n   var $replacer;\n   while (arguments.length > index)\n    args.push(arguments[index++]);\n   $replacer = replacer;\n   if (!isObject(replacer) && it === undefined || isSymbol(it))\n    return;\n   if (!isArray(replacer))\n    replacer = function (key, value) {\n     if (typeof $replacer == 'function')\n      value = $replacer.call(this, key, value);\n     if (!isSymbol(value))\n      return value;\n    };\n   args[1] = replacer;\n   return $stringify.apply(null, args);\n  }\n });\n}\nif (!$Symbol[PROTOTYPE][TO_PRIMITIVE]) {\n createNonEnumerableProperty($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n}\nsetToStringTag($Symbol, SYMBOL);\nhiddenKeys[HIDDEN] = true;\n\n/***/ }),\n/* 169 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toIndexedObject = __w_pdfjs_require__(17);\nvar nativeGetOwnPropertyNames = __w_pdfjs_require__(44).f;\nvar toString = {}.toString;\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : [];\nvar getWindowNames = function (it) {\n try {\n  return nativeGetOwnPropertyNames(it);\n } catch (error) {\n  return windowNames.slice();\n }\n};\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : nativeGetOwnPropertyNames(toIndexedObject(it));\n};\n\n/***/ }),\n/* 170 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nexports.f = wellKnownSymbol;\n\n/***/ }),\n/* 171 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar path = __w_pdfjs_require__(43);\nvar has = __w_pdfjs_require__(23);\nvar wrappedWellKnownSymbolModule = __w_pdfjs_require__(170);\nvar defineProperty = __w_pdfjs_require__(27).f;\nmodule.exports = function (NAME) {\n var Symbol = path.Symbol || (path.Symbol = {});\n if (!has(Symbol, NAME))\n  defineProperty(Symbol, NAME, { value: wrappedWellKnownSymbolModule.f(NAME) });\n};\n\n/***/ }),\n/* 172 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(171);\ndefineWellKnownSymbol('asyncIterator');\n\n/***/ }),\n/* 173 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar global = __w_pdfjs_require__(11);\nvar has = __w_pdfjs_require__(23);\nvar isObject = __w_pdfjs_require__(22);\nvar defineProperty = __w_pdfjs_require__(27).f;\nvar copyConstructorProperties = __w_pdfjs_require__(40);\nvar NativeSymbol = global.Symbol;\nif (DESCRIPTORS && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) || NativeSymbol().description !== undefined)) {\n var EmptyStringDescriptionStore = {};\n var SymbolWrapper = function Symbol() {\n  var description = arguments.length < 1 || arguments[0] === undefined ? undefined : String(arguments[0]);\n  var result = this instanceof SymbolWrapper ? new NativeSymbol(description) : description === undefined ? NativeSymbol() : NativeSymbol(description);\n  if (description === '')\n   EmptyStringDescriptionStore[result] = true;\n  return result;\n };\n copyConstructorProperties(SymbolWrapper, NativeSymbol);\n var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype;\n symbolPrototype.constructor = SymbolWrapper;\n var symbolToString = symbolPrototype.toString;\n var native = String(NativeSymbol('test')) == 'Symbol(test)';\n var regexp = /^Symbol\\((.*)\\)[^)]+$/;\n defineProperty(symbolPrototype, 'description', {\n  configurable: true,\n  get: function description() {\n   var symbol = isObject(this) ? this.valueOf() : this;\n   var string = symbolToString.call(symbol);\n   if (has(EmptyStringDescriptionStore, symbol))\n    return '';\n   var desc = native ? string.slice(7, -1) : string.replace(regexp, '$1');\n   return desc === '' ? undefined : desc;\n  }\n });\n $({\n  global: true,\n  forced: true\n }, { Symbol: SymbolWrapper });\n}\n\n/***/ }),\n/* 174 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(171);\ndefineWellKnownSymbol('hasInstance');\n\n/***/ }),\n/* 175 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(171);\ndefineWellKnownSymbol('isConcatSpreadable');\n\n/***/ }),\n/* 176 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(171);\ndefineWellKnownSymbol('iterator');\n\n/***/ }),\n/* 177 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(171);\ndefineWellKnownSymbol('match');\n\n/***/ }),\n/* 178 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(171);\ndefineWellKnownSymbol('matchAll');\n\n/***/ }),\n/* 179 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(171);\ndefineWellKnownSymbol('replace');\n\n/***/ }),\n/* 180 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(171);\ndefineWellKnownSymbol('search');\n\n/***/ }),\n/* 181 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(171);\ndefineWellKnownSymbol('species');\n\n/***/ }),\n/* 182 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(171);\ndefineWellKnownSymbol('split');\n\n/***/ }),\n/* 183 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(171);\ndefineWellKnownSymbol('toPrimitive');\n\n/***/ }),\n/* 184 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(171);\ndefineWellKnownSymbol('toStringTag');\n\n/***/ }),\n/* 185 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(171);\ndefineWellKnownSymbol('unscopables');\n\n/***/ }),\n/* 186 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar setToStringTag = __w_pdfjs_require__(85);\nsetToStringTag(Math, 'Math', true);\n\n/***/ }),\n/* 187 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar setToStringTag = __w_pdfjs_require__(85);\nsetToStringTag(global.JSON, 'JSON', true);\n\n/***/ }),\n/* 188 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(189);\nvar entryUnbind = __w_pdfjs_require__(61);\nmodule.exports = entryUnbind('String', 'padStart');\n\n/***/ }),\n/* 189 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar $padStart = __w_pdfjs_require__(190).start;\nvar WEBKIT_BUG = __w_pdfjs_require__(192);\n$({\n target: 'String',\n proto: true,\n forced: WEBKIT_BUG\n}, {\n padStart: function padStart(maxLength) {\n  return $padStart(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n/***/ }),\n/* 190 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toLength = __w_pdfjs_require__(47);\nvar repeat = __w_pdfjs_require__(191);\nvar requireObjectCoercible = __w_pdfjs_require__(20);\nvar ceil = Math.ceil;\nvar createMethod = function (IS_END) {\n return function ($this, maxLength, fillString) {\n  var S = String(requireObjectCoercible($this));\n  var stringLength = S.length;\n  var fillStr = fillString === undefined ? ' ' : String(fillString);\n  var intMaxLength = toLength(maxLength);\n  var fillLen, stringFiller;\n  if (intMaxLength <= stringLength || fillStr == '')\n   return S;\n  fillLen = intMaxLength - stringLength;\n  stringFiller = repeat.call(fillStr, ceil(fillLen / fillStr.length));\n  if (stringFiller.length > fillLen)\n   stringFiller = stringFiller.slice(0, fillLen);\n  return IS_END ? S + stringFiller : stringFiller + S;\n };\n};\nmodule.exports = {\n start: createMethod(false),\n end: createMethod(true)\n};\n\n/***/ }),\n/* 191 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar toInteger = __w_pdfjs_require__(48);\nvar requireObjectCoercible = __w_pdfjs_require__(20);\nmodule.exports = ''.repeat || function repeat(count) {\n var str = String(requireObjectCoercible(this));\n var result = '';\n var n = toInteger(count);\n if (n < 0 || n == Infinity)\n  throw RangeError('Wrong number of repetitions');\n for (; n > 0; (n >>>= 1) && (str += str))\n  if (n & 1)\n   result += str;\n return result;\n};\n\n/***/ }),\n/* 192 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar userAgent = __w_pdfjs_require__(127);\nmodule.exports = /Version\\/10\\.\\d+(\\.\\d+)?( Mobile\\/\\w+)? Safari\\//.test(userAgent);\n\n/***/ }),\n/* 193 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(194);\nvar entryUnbind = __w_pdfjs_require__(61);\nmodule.exports = entryUnbind('String', 'padEnd');\n\n/***/ }),\n/* 194 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar $padEnd = __w_pdfjs_require__(190).end;\nvar WEBKIT_BUG = __w_pdfjs_require__(192);\n$({\n target: 'String',\n proto: true,\n forced: WEBKIT_BUG\n}, {\n padEnd: function padEnd(maxLength) {\n  return $padEnd(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n/***/ }),\n/* 195 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(196);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Object.values;\n\n/***/ }),\n/* 196 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\nvar $values = __w_pdfjs_require__(197).values;\n$({\n target: 'Object',\n stat: true\n}, {\n values: function values(O) {\n  return $values(O);\n }\n});\n\n/***/ }),\n/* 197 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar objectKeys = __w_pdfjs_require__(73);\nvar toIndexedObject = __w_pdfjs_require__(17);\nvar propertyIsEnumerable = __w_pdfjs_require__(15).f;\nvar createMethod = function (TO_ENTRIES) {\n return function (it) {\n  var O = toIndexedObject(it);\n  var keys = objectKeys(O);\n  var length = keys.length;\n  var i = 0;\n  var result = [];\n  var key;\n  while (length > i) {\n   key = keys[i++];\n   if (!DESCRIPTORS || propertyIsEnumerable.call(O, key)) {\n    result.push(TO_ENTRIES ? [\n     key,\n     O[key]\n    ] : O[key]);\n   }\n  }\n  return result;\n };\n};\nmodule.exports = {\n entries: createMethod(true),\n values: createMethod(false)\n};\n\n/***/ }),\n/* 198 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.clearPrimitiveCaches = clearPrimitiveCaches;\nexports.isEOF = isEOF;\nexports.isCmd = isCmd;\nexports.isDict = isDict;\nexports.isName = isName;\nexports.isRef = isRef;\nexports.isRefsEqual = isRefsEqual;\nexports.isStream = isStream;\nexports.RefSetCache = exports.RefSet = exports.Ref = exports.Name = exports.Dict = exports.Cmd = exports.EOF = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nvar EOF = {};\nexports.EOF = EOF;\n\nvar Name = function NameClosure() {\n  var nameCache = Object.create(null);\n\n  function Name(name) {\n    this.name = name;\n  }\n\n  Name.prototype = {};\n\n  Name.get = function Name_get(name) {\n    var nameValue = nameCache[name];\n    return nameValue ? nameValue : nameCache[name] = new Name(name);\n  };\n\n  Name._clearCache = function () {\n    nameCache = Object.create(null);\n  };\n\n  return Name;\n}();\n\nexports.Name = Name;\n\nvar Cmd = function CmdClosure() {\n  var cmdCache = Object.create(null);\n\n  function Cmd(cmd) {\n    this.cmd = cmd;\n  }\n\n  Cmd.prototype = {};\n\n  Cmd.get = function Cmd_get(cmd) {\n    var cmdValue = cmdCache[cmd];\n    return cmdValue ? cmdValue : cmdCache[cmd] = new Cmd(cmd);\n  };\n\n  Cmd._clearCache = function () {\n    cmdCache = Object.create(null);\n  };\n\n  return Cmd;\n}();\n\nexports.Cmd = Cmd;\n\nvar Dict = function DictClosure() {\n  var nonSerializable = function nonSerializableClosure() {\n    return nonSerializable;\n  };\n\n  function Dict(xref) {\n    this._map = Object.create(null);\n    this.xref = xref;\n    this.objId = null;\n    this.suppressEncryption = false;\n    this.__nonSerializable__ = nonSerializable;\n  }\n\n  Dict.prototype = {\n    assignXref: function Dict_assignXref(newXref) {\n      this.xref = newXref;\n    },\n    get: function get(key1, key2, key3) {\n      var value = this._map[key1];\n\n      if (value === undefined && key2 !== undefined) {\n        value = this._map[key2];\n\n        if (value === undefined && key3 !== undefined) {\n          value = this._map[key3];\n        }\n      }\n\n      if (value instanceof Ref && this.xref) {\n        return this.xref.fetch(value, this.suppressEncryption);\n      }\n\n      return value;\n    },\n    getAsync: function getAsync(key1, key2, key3) {\n      var _this = this;\n\n      return _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee() {\n        var value;\n        return _regenerator[\"default\"].wrap(function _callee$(_context) {\n          while (1) {\n            switch (_context.prev = _context.next) {\n              case 0:\n                value = _this._map[key1];\n\n                if (value === undefined && key2 !== undefined) {\n                  value = _this._map[key2];\n\n                  if (value === undefined && key3 !== undefined) {\n                    value = _this._map[key3];\n                  }\n                }\n\n                if (!(value instanceof Ref && _this.xref)) {\n                  _context.next = 4;\n                  break;\n                }\n\n                return _context.abrupt(\"return\", _this.xref.fetchAsync(value, _this.suppressEncryption));\n\n              case 4:\n                return _context.abrupt(\"return\", value);\n\n              case 5:\n              case \"end\":\n                return _context.stop();\n            }\n          }\n        }, _callee);\n      }))();\n    },\n    getArray: function getArray(key1, key2, key3) {\n      var value = this.get(key1, key2, key3);\n\n      if (!Array.isArray(value) || !this.xref) {\n        return value;\n      }\n\n      value = value.slice();\n\n      for (var i = 0, ii = value.length; i < ii; i++) {\n        if (!(value[i] instanceof Ref)) {\n          continue;\n        }\n\n        value[i] = this.xref.fetch(value[i], this.suppressEncryption);\n      }\n\n      return value;\n    },\n    getRaw: function Dict_getRaw(key) {\n      return this._map[key];\n    },\n    getKeys: function Dict_getKeys() {\n      return Object.keys(this._map);\n    },\n    set: function Dict_set(key, value) {\n      this._map[key] = value;\n    },\n    has: function Dict_has(key) {\n      return this._map[key] !== undefined;\n    },\n    forEach: function Dict_forEach(callback) {\n      for (var key in this._map) {\n        callback(key, this.get(key));\n      }\n    }\n  };\n  Dict.empty = new Dict(null);\n\n  Dict.merge = function (xref, dictArray) {\n    var mergedDict = new Dict(xref);\n\n    for (var i = 0, ii = dictArray.length; i < ii; i++) {\n      var dict = dictArray[i];\n\n      if (!isDict(dict)) {\n        continue;\n      }\n\n      for (var keyName in dict._map) {\n        if (mergedDict._map[keyName] !== undefined) {\n          continue;\n        }\n\n        mergedDict._map[keyName] = dict._map[keyName];\n      }\n    }\n\n    return mergedDict;\n  };\n\n  return Dict;\n}();\n\nexports.Dict = Dict;\n\nvar Ref = function RefClosure() {\n  var refCache = Object.create(null);\n\n  function Ref(num, gen) {\n    this.num = num;\n    this.gen = gen;\n  }\n\n  Ref.prototype = {\n    toString: function Ref_toString() {\n      if (this.gen === 0) {\n        return \"\".concat(this.num, \"R\");\n      }\n\n      return \"\".concat(this.num, \"R\").concat(this.gen);\n    }\n  };\n\n  Ref.get = function (num, gen) {\n    var key = gen === 0 ? \"\".concat(num, \"R\") : \"\".concat(num, \"R\").concat(gen);\n    var refValue = refCache[key];\n    return refValue ? refValue : refCache[key] = new Ref(num, gen);\n  };\n\n  Ref._clearCache = function () {\n    refCache = Object.create(null);\n  };\n\n  return Ref;\n}();\n\nexports.Ref = Ref;\n\nvar RefSet = function RefSetClosure() {\n  function RefSet() {\n    this.dict = Object.create(null);\n  }\n\n  RefSet.prototype = {\n    has: function RefSet_has(ref) {\n      return ref.toString() in this.dict;\n    },\n    put: function RefSet_put(ref) {\n      this.dict[ref.toString()] = true;\n    },\n    remove: function RefSet_remove(ref) {\n      delete this.dict[ref.toString()];\n    }\n  };\n  return RefSet;\n}();\n\nexports.RefSet = RefSet;\n\nvar RefSetCache = function RefSetCacheClosure() {\n  function RefSetCache() {\n    this.dict = Object.create(null);\n  }\n\n  RefSetCache.prototype = {\n    get size() {\n      return Object.keys(this.dict).length;\n    },\n\n    get: function RefSetCache_get(ref) {\n      return this.dict[ref.toString()];\n    },\n    has: function RefSetCache_has(ref) {\n      return ref.toString() in this.dict;\n    },\n    put: function RefSetCache_put(ref, obj) {\n      this.dict[ref.toString()] = obj;\n    },\n    putAlias: function RefSetCache_putAlias(ref, aliasRef) {\n      this.dict[ref.toString()] = this.get(aliasRef);\n    },\n    forEach: function RefSetCache_forEach(callback) {\n      for (var i in this.dict) {\n        callback(this.dict[i]);\n      }\n    },\n    clear: function RefSetCache_clear() {\n      this.dict = Object.create(null);\n    }\n  };\n  return RefSetCache;\n}();\n\nexports.RefSetCache = RefSetCache;\n\nfunction isEOF(v) {\n  return v === EOF;\n}\n\nfunction isName(v, name) {\n  return v instanceof Name && (name === undefined || v.name === name);\n}\n\nfunction isCmd(v, cmd) {\n  return v instanceof Cmd && (cmd === undefined || v.cmd === cmd);\n}\n\nfunction isDict(v, type) {\n  return v instanceof Dict && (type === undefined || isName(v.get(\"Type\"), type));\n}\n\nfunction isRef(v) {\n  return v instanceof Ref;\n}\n\nfunction isRefsEqual(v1, v2) {\n  return v1.num === v2.num && v1.gen === v2.gen;\n}\n\nfunction isStream(v) {\n  return _typeof(v) === \"object\" && v !== null && v.getBytes !== undefined;\n}\n\nfunction clearPrimitiveCaches() {\n  Cmd._clearCache();\n\n  Name._clearCache();\n\n  Ref._clearCache();\n}\n\n/***/ }),\n/* 199 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.NetworkPdfManager = exports.LocalPdfManager = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _chunked_stream = __w_pdfjs_require__(200);\n\nvar _core_utils = __w_pdfjs_require__(201);\n\nvar _document = __w_pdfjs_require__(202);\n\nvar _stream = __w_pdfjs_require__(205);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar BasePdfManager = /*#__PURE__*/function () {\n  function BasePdfManager() {\n    _classCallCheck(this, BasePdfManager);\n\n    if (this.constructor === BasePdfManager) {\n      (0, _util.unreachable)(\"Cannot initialize BasePdfManager.\");\n    }\n  }\n\n  _createClass(BasePdfManager, [{\n    key: \"onLoadedStream\",\n    value: function onLoadedStream() {\n      (0, _util.unreachable)(\"Abstract method `onLoadedStream` called\");\n    }\n  }, {\n    key: \"ensureDoc\",\n    value: function ensureDoc(prop, args) {\n      return this.ensure(this.pdfDocument, prop, args);\n    }\n  }, {\n    key: \"ensureXRef\",\n    value: function ensureXRef(prop, args) {\n      return this.ensure(this.pdfDocument.xref, prop, args);\n    }\n  }, {\n    key: \"ensureCatalog\",\n    value: function ensureCatalog(prop, args) {\n      return this.ensure(this.pdfDocument.catalog, prop, args);\n    }\n  }, {\n    key: \"getPage\",\n    value: function getPage(pageIndex) {\n      return this.pdfDocument.getPage(pageIndex);\n    }\n  }, {\n    key: \"fontFallback\",\n    value: function fontFallback(id, handler) {\n      return this.pdfDocument.fontFallback(id, handler);\n    }\n  }, {\n    key: \"cleanup\",\n    value: function cleanup() {\n      var manuallyTriggered = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n      return this.pdfDocument.cleanup(manuallyTriggered);\n    }\n  }, {\n    key: \"ensure\",\n    value: function () {\n      var _ensure = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee(obj, prop, args) {\n        return _regenerator[\"default\"].wrap(function _callee$(_context) {\n          while (1) {\n            switch (_context.prev = _context.next) {\n              case 0:\n                (0, _util.unreachable)(\"Abstract method `ensure` called\");\n\n              case 1:\n              case \"end\":\n                return _context.stop();\n            }\n          }\n        }, _callee);\n      }));\n\n      function ensure(_x, _x2, _x3) {\n        return _ensure.apply(this, arguments);\n      }\n\n      return ensure;\n    }()\n  }, {\n    key: \"requestRange\",\n    value: function requestRange(begin, end) {\n      (0, _util.unreachable)(\"Abstract method `requestRange` called\");\n    }\n  }, {\n    key: \"requestLoadedStream\",\n    value: function requestLoadedStream() {\n      (0, _util.unreachable)(\"Abstract method `requestLoadedStream` called\");\n    }\n  }, {\n    key: \"sendProgressiveData\",\n    value: function sendProgressiveData(chunk) {\n      (0, _util.unreachable)(\"Abstract method `sendProgressiveData` called\");\n    }\n  }, {\n    key: \"updatePassword\",\n    value: function updatePassword(password) {\n      this._password = password;\n    }\n  }, {\n    key: \"terminate\",\n    value: function terminate(reason) {\n      (0, _util.unreachable)(\"Abstract method `terminate` called\");\n    }\n  }, {\n    key: \"docId\",\n    get: function get() {\n      return this._docId;\n    }\n  }, {\n    key: \"password\",\n    get: function get() {\n      return this._password;\n    }\n  }, {\n    key: \"docBaseUrl\",\n    get: function get() {\n      var docBaseUrl = null;\n\n      if (this._docBaseUrl) {\n        var absoluteUrl = (0, _util.createValidAbsoluteUrl)(this._docBaseUrl);\n\n        if (absoluteUrl) {\n          docBaseUrl = absoluteUrl.href;\n        } else {\n          (0, _util.warn)(\"Invalid absolute docBaseUrl: \\\"\".concat(this._docBaseUrl, \"\\\".\"));\n        }\n      }\n\n      return (0, _util.shadow)(this, \"docBaseUrl\", docBaseUrl);\n    }\n  }]);\n\n  return BasePdfManager;\n}();\n\nvar LocalPdfManager = /*#__PURE__*/function (_BasePdfManager) {\n  _inherits(LocalPdfManager, _BasePdfManager);\n\n  var _super = _createSuper(LocalPdfManager);\n\n  function LocalPdfManager(docId, data, password, evaluatorOptions, docBaseUrl) {\n    var _this;\n\n    _classCallCheck(this, LocalPdfManager);\n\n    _this = _super.call(this);\n    _this._docId = docId;\n    _this._password = password;\n    _this._docBaseUrl = docBaseUrl;\n    _this.evaluatorOptions = evaluatorOptions;\n    var stream = new _stream.Stream(data);\n    _this.pdfDocument = new _document.PDFDocument(_assertThisInitialized(_this), stream);\n    _this._loadedStreamPromise = Promise.resolve(stream);\n    return _this;\n  }\n\n  _createClass(LocalPdfManager, [{\n    key: \"ensure\",\n    value: function () {\n      var _ensure2 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2(obj, prop, args) {\n        var value;\n        return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n          while (1) {\n            switch (_context2.prev = _context2.next) {\n              case 0:\n                value = obj[prop];\n\n                if (!(typeof value === \"function\")) {\n                  _context2.next = 3;\n                  break;\n                }\n\n                return _context2.abrupt(\"return\", value.apply(obj, args));\n\n              case 3:\n                return _context2.abrupt(\"return\", value);\n\n              case 4:\n              case \"end\":\n                return _context2.stop();\n            }\n          }\n        }, _callee2);\n      }));\n\n      function ensure(_x4, _x5, _x6) {\n        return _ensure2.apply(this, arguments);\n      }\n\n      return ensure;\n    }()\n  }, {\n    key: \"requestRange\",\n    value: function requestRange(begin, end) {\n      return Promise.resolve();\n    }\n  }, {\n    key: \"requestLoadedStream\",\n    value: function requestLoadedStream() {}\n  }, {\n    key: \"onLoadedStream\",\n    value: function onLoadedStream() {\n      return this._loadedStreamPromise;\n    }\n  }, {\n    key: \"terminate\",\n    value: function terminate(reason) {}\n  }]);\n\n  return LocalPdfManager;\n}(BasePdfManager);\n\nexports.LocalPdfManager = LocalPdfManager;\n\nvar NetworkPdfManager = /*#__PURE__*/function (_BasePdfManager2) {\n  _inherits(NetworkPdfManager, _BasePdfManager2);\n\n  var _super2 = _createSuper(NetworkPdfManager);\n\n  function NetworkPdfManager(docId, pdfNetworkStream, args, evaluatorOptions, docBaseUrl) {\n    var _this2;\n\n    _classCallCheck(this, NetworkPdfManager);\n\n    _this2 = _super2.call(this);\n    _this2._docId = docId;\n    _this2._password = args.password;\n    _this2._docBaseUrl = docBaseUrl;\n    _this2.msgHandler = args.msgHandler;\n    _this2.evaluatorOptions = evaluatorOptions;\n    _this2.streamManager = new _chunked_stream.ChunkedStreamManager(pdfNetworkStream, {\n      msgHandler: args.msgHandler,\n      length: args.length,\n      disableAutoFetch: args.disableAutoFetch,\n      rangeChunkSize: args.rangeChunkSize\n    });\n    _this2.pdfDocument = new _document.PDFDocument(_assertThisInitialized(_this2), _this2.streamManager.getStream());\n    return _this2;\n  }\n\n  _createClass(NetworkPdfManager, [{\n    key: \"ensure\",\n    value: function () {\n      var _ensure3 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee3(obj, prop, args) {\n        var value;\n        return _regenerator[\"default\"].wrap(function _callee3$(_context3) {\n          while (1) {\n            switch (_context3.prev = _context3.next) {\n              case 0:\n                _context3.prev = 0;\n                value = obj[prop];\n\n                if (!(typeof value === \"function\")) {\n                  _context3.next = 4;\n                  break;\n                }\n\n                return _context3.abrupt(\"return\", value.apply(obj, args));\n\n              case 4:\n                return _context3.abrupt(\"return\", value);\n\n              case 7:\n                _context3.prev = 7;\n                _context3.t0 = _context3[\"catch\"](0);\n\n                if (_context3.t0 instanceof _core_utils.MissingDataException) {\n                  _context3.next = 11;\n                  break;\n                }\n\n                throw _context3.t0;\n\n              case 11:\n                _context3.next = 13;\n                return this.requestRange(_context3.t0.begin, _context3.t0.end);\n\n              case 13:\n                return _context3.abrupt(\"return\", this.ensure(obj, prop, args));\n\n              case 14:\n              case \"end\":\n                return _context3.stop();\n            }\n          }\n        }, _callee3, this, [[0, 7]]);\n      }));\n\n      function ensure(_x7, _x8, _x9) {\n        return _ensure3.apply(this, arguments);\n      }\n\n      return ensure;\n    }()\n  }, {\n    key: \"requestRange\",\n    value: function requestRange(begin, end) {\n      return this.streamManager.requestRange(begin, end);\n    }\n  }, {\n    key: \"requestLoadedStream\",\n    value: function requestLoadedStream() {\n      this.streamManager.requestAllChunks();\n    }\n  }, {\n    key: \"sendProgressiveData\",\n    value: function sendProgressiveData(chunk) {\n      this.streamManager.onReceiveData({\n        chunk: chunk\n      });\n    }\n  }, {\n    key: \"onLoadedStream\",\n    value: function onLoadedStream() {\n      return this.streamManager.onLoadedStream();\n    }\n  }, {\n    key: \"terminate\",\n    value: function terminate(reason) {\n      this.streamManager.abort(reason);\n    }\n  }]);\n\n  return NetworkPdfManager;\n}(BasePdfManager);\n\nexports.NetworkPdfManager = NetworkPdfManager;\n\n/***/ }),\n/* 200 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.ChunkedStreamManager = exports.ChunkedStream = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _core_utils = __w_pdfjs_require__(201);\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar ChunkedStream = /*#__PURE__*/function () {\n  function ChunkedStream(length, chunkSize, manager) {\n    _classCallCheck(this, ChunkedStream);\n\n    this.bytes = new Uint8Array(length);\n    this.start = 0;\n    this.pos = 0;\n    this.end = length;\n    this.chunkSize = chunkSize;\n    this.loadedChunks = [];\n    this.numChunksLoaded = 0;\n    this.numChunks = Math.ceil(length / chunkSize);\n    this.manager = manager;\n    this.progressiveDataLength = 0;\n    this.lastSuccessfulEnsureByteChunk = -1;\n  }\n\n  _createClass(ChunkedStream, [{\n    key: \"getMissingChunks\",\n    value: function getMissingChunks() {\n      var chunks = [];\n\n      for (var chunk = 0, n = this.numChunks; chunk < n; ++chunk) {\n        if (!this.loadedChunks[chunk]) {\n          chunks.push(chunk);\n        }\n      }\n\n      return chunks;\n    }\n  }, {\n    key: \"getBaseStreams\",\n    value: function getBaseStreams() {\n      return [this];\n    }\n  }, {\n    key: \"allChunksLoaded\",\n    value: function allChunksLoaded() {\n      return this.numChunksLoaded === this.numChunks;\n    }\n  }, {\n    key: \"onReceiveData\",\n    value: function onReceiveData(begin, chunk) {\n      var chunkSize = this.chunkSize;\n\n      if (begin % chunkSize !== 0) {\n        throw new Error(\"Bad begin offset: \".concat(begin));\n      }\n\n      var end = begin + chunk.byteLength;\n\n      if (end % chunkSize !== 0 && end !== this.bytes.length) {\n        throw new Error(\"Bad end offset: \".concat(end));\n      }\n\n      this.bytes.set(new Uint8Array(chunk), begin);\n      var beginChunk = Math.floor(begin / chunkSize);\n      var endChunk = Math.floor((end - 1) / chunkSize) + 1;\n\n      for (var curChunk = beginChunk; curChunk < endChunk; ++curChunk) {\n        if (!this.loadedChunks[curChunk]) {\n          this.loadedChunks[curChunk] = true;\n          ++this.numChunksLoaded;\n        }\n      }\n    }\n  }, {\n    key: \"onReceiveProgressiveData\",\n    value: function onReceiveProgressiveData(data) {\n      var position = this.progressiveDataLength;\n      var beginChunk = Math.floor(position / this.chunkSize);\n      this.bytes.set(new Uint8Array(data), position);\n      position += data.byteLength;\n      this.progressiveDataLength = position;\n      var endChunk = position >= this.end ? this.numChunks : Math.floor(position / this.chunkSize);\n\n      for (var curChunk = beginChunk; curChunk < endChunk; ++curChunk) {\n        if (!this.loadedChunks[curChunk]) {\n          this.loadedChunks[curChunk] = true;\n          ++this.numChunksLoaded;\n        }\n      }\n    }\n  }, {\n    key: \"ensureByte\",\n    value: function ensureByte(pos) {\n      if (pos < this.progressiveDataLength) {\n        return;\n      }\n\n      var chunk = Math.floor(pos / this.chunkSize);\n\n      if (chunk === this.lastSuccessfulEnsureByteChunk) {\n        return;\n      }\n\n      if (!this.loadedChunks[chunk]) {\n        throw new _core_utils.MissingDataException(pos, pos + 1);\n      }\n\n      this.lastSuccessfulEnsureByteChunk = chunk;\n    }\n  }, {\n    key: \"ensureRange\",\n    value: function ensureRange(begin, end) {\n      if (begin >= end) {\n        return;\n      }\n\n      if (end <= this.progressiveDataLength) {\n        return;\n      }\n\n      var chunkSize = this.chunkSize;\n      var beginChunk = Math.floor(begin / chunkSize);\n      var endChunk = Math.floor((end - 1) / chunkSize) + 1;\n\n      for (var chunk = beginChunk; chunk < endChunk; ++chunk) {\n        if (!this.loadedChunks[chunk]) {\n          throw new _core_utils.MissingDataException(begin, end);\n        }\n      }\n    }\n  }, {\n    key: \"nextEmptyChunk\",\n    value: function nextEmptyChunk(beginChunk) {\n      var numChunks = this.numChunks;\n\n      for (var i = 0; i < numChunks; ++i) {\n        var chunk = (beginChunk + i) % numChunks;\n\n        if (!this.loadedChunks[chunk]) {\n          return chunk;\n        }\n      }\n\n      return null;\n    }\n  }, {\n    key: \"hasChunk\",\n    value: function hasChunk(chunk) {\n      return !!this.loadedChunks[chunk];\n    }\n  }, {\n    key: \"getByte\",\n    value: function getByte() {\n      var pos = this.pos;\n\n      if (pos >= this.end) {\n        return -1;\n      }\n\n      if (pos >= this.progressiveDataLength) {\n        this.ensureByte(pos);\n      }\n\n      return this.bytes[this.pos++];\n    }\n  }, {\n    key: \"getUint16\",\n    value: function getUint16() {\n      var b0 = this.getByte();\n      var b1 = this.getByte();\n\n      if (b0 === -1 || b1 === -1) {\n        return -1;\n      }\n\n      return (b0 << 8) + b1;\n    }\n  }, {\n    key: \"getInt32\",\n    value: function getInt32() {\n      var b0 = this.getByte();\n      var b1 = this.getByte();\n      var b2 = this.getByte();\n      var b3 = this.getByte();\n      return (b0 << 24) + (b1 << 16) + (b2 << 8) + b3;\n    }\n  }, {\n    key: \"getBytes\",\n    value: function getBytes(length) {\n      var forceClamped = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n      var bytes = this.bytes;\n      var pos = this.pos;\n      var strEnd = this.end;\n\n      if (!length) {\n        if (strEnd > this.progressiveDataLength) {\n          this.ensureRange(pos, strEnd);\n        }\n\n        var _subarray = bytes.subarray(pos, strEnd);\n\n        return forceClamped ? new Uint8ClampedArray(_subarray) : _subarray;\n      }\n\n      var end = pos + length;\n\n      if (end > strEnd) {\n        end = strEnd;\n      }\n\n      if (end > this.progressiveDataLength) {\n        this.ensureRange(pos, end);\n      }\n\n      this.pos = end;\n      var subarray = bytes.subarray(pos, end);\n      return forceClamped ? new Uint8ClampedArray(subarray) : subarray;\n    }\n  }, {\n    key: \"peekByte\",\n    value: function peekByte() {\n      var peekedByte = this.getByte();\n\n      if (peekedByte !== -1) {\n        this.pos--;\n      }\n\n      return peekedByte;\n    }\n  }, {\n    key: \"peekBytes\",\n    value: function peekBytes(length) {\n      var forceClamped = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n      var bytes = this.getBytes(length, forceClamped);\n      this.pos -= bytes.length;\n      return bytes;\n    }\n  }, {\n    key: \"getByteRange\",\n    value: function getByteRange(begin, end) {\n      if (begin < 0) {\n        begin = 0;\n      }\n\n      if (end > this.end) {\n        end = this.end;\n      }\n\n      if (end > this.progressiveDataLength) {\n        this.ensureRange(begin, end);\n      }\n\n      return this.bytes.subarray(begin, end);\n    }\n  }, {\n    key: \"skip\",\n    value: function skip(n) {\n      if (!n) {\n        n = 1;\n      }\n\n      this.pos += n;\n    }\n  }, {\n    key: \"reset\",\n    value: function reset() {\n      this.pos = this.start;\n    }\n  }, {\n    key: \"moveStart\",\n    value: function moveStart() {\n      this.start = this.pos;\n    }\n  }, {\n    key: \"makeSubStream\",\n    value: function makeSubStream(start, length, dict) {\n      if (length) {\n        if (start + length > this.progressiveDataLength) {\n          this.ensureRange(start, start + length);\n        }\n      } else {\n        if (start >= this.progressiveDataLength) {\n          this.ensureByte(start);\n        }\n      }\n\n      function ChunkedStreamSubstream() {}\n\n      ChunkedStreamSubstream.prototype = Object.create(this);\n\n      ChunkedStreamSubstream.prototype.getMissingChunks = function () {\n        var chunkSize = this.chunkSize;\n        var beginChunk = Math.floor(this.start / chunkSize);\n        var endChunk = Math.floor((this.end - 1) / chunkSize) + 1;\n        var missingChunks = [];\n\n        for (var chunk = beginChunk; chunk < endChunk; ++chunk) {\n          if (!this.loadedChunks[chunk]) {\n            missingChunks.push(chunk);\n          }\n        }\n\n        return missingChunks;\n      };\n\n      ChunkedStreamSubstream.prototype.allChunksLoaded = function () {\n        if (this.numChunksLoaded === this.numChunks) {\n          return true;\n        }\n\n        return this.getMissingChunks().length === 0;\n      };\n\n      var subStream = new ChunkedStreamSubstream();\n      subStream.pos = subStream.start = start;\n      subStream.end = start + length || this.end;\n      subStream.dict = dict;\n      return subStream;\n    }\n  }, {\n    key: \"length\",\n    get: function get() {\n      return this.end - this.start;\n    }\n  }, {\n    key: \"isEmpty\",\n    get: function get() {\n      return this.length === 0;\n    }\n  }]);\n\n  return ChunkedStream;\n}();\n\nexports.ChunkedStream = ChunkedStream;\n\nvar ChunkedStreamManager = /*#__PURE__*/function () {\n  function ChunkedStreamManager(pdfNetworkStream, args) {\n    _classCallCheck(this, ChunkedStreamManager);\n\n    this.length = args.length;\n    this.chunkSize = args.rangeChunkSize;\n    this.stream = new ChunkedStream(this.length, this.chunkSize, this);\n    this.pdfNetworkStream = pdfNetworkStream;\n    this.disableAutoFetch = args.disableAutoFetch;\n    this.msgHandler = args.msgHandler;\n    this.currRequestId = 0;\n    this.chunksNeededByRequest = Object.create(null);\n    this.requestsByChunk = Object.create(null);\n    this.promisesByRequest = Object.create(null);\n    this.progressiveDataLength = 0;\n    this.aborted = false;\n    this._loadedStreamCapability = (0, _util.createPromiseCapability)();\n  }\n\n  _createClass(ChunkedStreamManager, [{\n    key: \"onLoadedStream\",\n    value: function onLoadedStream() {\n      return this._loadedStreamCapability.promise;\n    }\n  }, {\n    key: \"sendRequest\",\n    value: function sendRequest(begin, end) {\n      var _this = this;\n\n      var rangeReader = this.pdfNetworkStream.getRangeReader(begin, end);\n\n      if (!rangeReader.isStreamingSupported) {\n        rangeReader.onProgress = this.onProgress.bind(this);\n      }\n\n      var chunks = [],\n          loaded = 0;\n      var promise = new Promise(function (resolve, reject) {\n        var readChunk = function readChunk(chunk) {\n          try {\n            if (!chunk.done) {\n              var data = chunk.value;\n              chunks.push(data);\n              loaded += (0, _util.arrayByteLength)(data);\n\n              if (rangeReader.isStreamingSupported) {\n                _this.onProgress({\n                  loaded: loaded\n                });\n              }\n\n              rangeReader.read().then(readChunk, reject);\n              return;\n            }\n\n            var chunkData = (0, _util.arraysToBytes)(chunks);\n            chunks = null;\n            resolve(chunkData);\n          } catch (e) {\n            reject(e);\n          }\n        };\n\n        rangeReader.read().then(readChunk, reject);\n      });\n      promise.then(function (data) {\n        if (_this.aborted) {\n          return;\n        }\n\n        _this.onReceiveData({\n          chunk: data,\n          begin: begin\n        });\n      });\n    }\n  }, {\n    key: \"requestAllChunks\",\n    value: function requestAllChunks() {\n      var missingChunks = this.stream.getMissingChunks();\n\n      this._requestChunks(missingChunks);\n\n      return this._loadedStreamCapability.promise;\n    }\n  }, {\n    key: \"_requestChunks\",\n    value: function _requestChunks(chunks) {\n      var requestId = this.currRequestId++;\n      var chunksNeeded = Object.create(null);\n      this.chunksNeededByRequest[requestId] = chunksNeeded;\n\n      var _iterator = _createForOfIteratorHelper(chunks),\n          _step;\n\n      try {\n        for (_iterator.s(); !(_step = _iterator.n()).done;) {\n          var _chunk = _step.value;\n\n          if (!this.stream.hasChunk(_chunk)) {\n            chunksNeeded[_chunk] = true;\n          }\n        }\n      } catch (err) {\n        _iterator.e(err);\n      } finally {\n        _iterator.f();\n      }\n\n      if ((0, _util.isEmptyObj)(chunksNeeded)) {\n        return Promise.resolve();\n      }\n\n      var capability = (0, _util.createPromiseCapability)();\n      this.promisesByRequest[requestId] = capability;\n      var chunksToRequest = [];\n\n      for (var chunk in chunksNeeded) {\n        chunk = chunk | 0;\n\n        if (!(chunk in this.requestsByChunk)) {\n          this.requestsByChunk[chunk] = [];\n          chunksToRequest.push(chunk);\n        }\n\n        this.requestsByChunk[chunk].push(requestId);\n      }\n\n      if (!chunksToRequest.length) {\n        return capability.promise;\n      }\n\n      var groupedChunksToRequest = this.groupChunks(chunksToRequest);\n\n      var _iterator2 = _createForOfIteratorHelper(groupedChunksToRequest),\n          _step2;\n\n      try {\n        for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n          var groupedChunk = _step2.value;\n          var begin = groupedChunk.beginChunk * this.chunkSize;\n          var end = Math.min(groupedChunk.endChunk * this.chunkSize, this.length);\n          this.sendRequest(begin, end);\n        }\n      } catch (err) {\n        _iterator2.e(err);\n      } finally {\n        _iterator2.f();\n      }\n\n      return capability.promise;\n    }\n  }, {\n    key: \"getStream\",\n    value: function getStream() {\n      return this.stream;\n    }\n  }, {\n    key: \"requestRange\",\n    value: function requestRange(begin, end) {\n      end = Math.min(end, this.length);\n      var beginChunk = this.getBeginChunk(begin);\n      var endChunk = this.getEndChunk(end);\n      var chunks = [];\n\n      for (var chunk = beginChunk; chunk < endChunk; ++chunk) {\n        chunks.push(chunk);\n      }\n\n      return this._requestChunks(chunks);\n    }\n  }, {\n    key: \"requestRanges\",\n    value: function requestRanges() {\n      var ranges = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n      var chunksToRequest = [];\n\n      var _iterator3 = _createForOfIteratorHelper(ranges),\n          _step3;\n\n      try {\n        for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n          var range = _step3.value;\n          var beginChunk = this.getBeginChunk(range.begin);\n          var endChunk = this.getEndChunk(range.end);\n\n          for (var chunk = beginChunk; chunk < endChunk; ++chunk) {\n            if (!chunksToRequest.includes(chunk)) {\n              chunksToRequest.push(chunk);\n            }\n          }\n        }\n      } catch (err) {\n        _iterator3.e(err);\n      } finally {\n        _iterator3.f();\n      }\n\n      chunksToRequest.sort(function (a, b) {\n        return a - b;\n      });\n      return this._requestChunks(chunksToRequest);\n    }\n  }, {\n    key: \"groupChunks\",\n    value: function groupChunks(chunks) {\n      var groupedChunks = [];\n      var beginChunk = -1;\n      var prevChunk = -1;\n\n      for (var i = 0, ii = chunks.length; i < ii; ++i) {\n        var chunk = chunks[i];\n\n        if (beginChunk < 0) {\n          beginChunk = chunk;\n        }\n\n        if (prevChunk >= 0 && prevChunk + 1 !== chunk) {\n          groupedChunks.push({\n            beginChunk: beginChunk,\n            endChunk: prevChunk + 1\n          });\n          beginChunk = chunk;\n        }\n\n        if (i + 1 === chunks.length) {\n          groupedChunks.push({\n            beginChunk: beginChunk,\n            endChunk: chunk + 1\n          });\n        }\n\n        prevChunk = chunk;\n      }\n\n      return groupedChunks;\n    }\n  }, {\n    key: \"onProgress\",\n    value: function onProgress(args) {\n      this.msgHandler.send(\"DocProgress\", {\n        loaded: this.stream.numChunksLoaded * this.chunkSize + args.loaded,\n        total: this.length\n      });\n    }\n  }, {\n    key: \"onReceiveData\",\n    value: function onReceiveData(args) {\n      var chunk = args.chunk;\n      var isProgressive = args.begin === undefined;\n      var begin = isProgressive ? this.progressiveDataLength : args.begin;\n      var end = begin + chunk.byteLength;\n      var beginChunk = Math.floor(begin / this.chunkSize);\n      var endChunk = end < this.length ? Math.floor(end / this.chunkSize) : Math.ceil(end / this.chunkSize);\n\n      if (isProgressive) {\n        this.stream.onReceiveProgressiveData(chunk);\n        this.progressiveDataLength = end;\n      } else {\n        this.stream.onReceiveData(begin, chunk);\n      }\n\n      if (this.stream.allChunksLoaded()) {\n        this._loadedStreamCapability.resolve(this.stream);\n      }\n\n      var loadedRequests = [];\n\n      for (var curChunk = beginChunk; curChunk < endChunk; ++curChunk) {\n        var requestIds = this.requestsByChunk[curChunk] || [];\n        delete this.requestsByChunk[curChunk];\n\n        var _iterator4 = _createForOfIteratorHelper(requestIds),\n            _step4;\n\n        try {\n          for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n            var requestId = _step4.value;\n            var chunksNeeded = this.chunksNeededByRequest[requestId];\n\n            if (curChunk in chunksNeeded) {\n              delete chunksNeeded[curChunk];\n            }\n\n            if (!(0, _util.isEmptyObj)(chunksNeeded)) {\n              continue;\n            }\n\n            loadedRequests.push(requestId);\n          }\n        } catch (err) {\n          _iterator4.e(err);\n        } finally {\n          _iterator4.f();\n        }\n      }\n\n      if (!this.disableAutoFetch && (0, _util.isEmptyObj)(this.requestsByChunk)) {\n        var nextEmptyChunk;\n\n        if (this.stream.numChunksLoaded === 1) {\n          var lastChunk = this.stream.numChunks - 1;\n\n          if (!this.stream.hasChunk(lastChunk)) {\n            nextEmptyChunk = lastChunk;\n          }\n        } else {\n          nextEmptyChunk = this.stream.nextEmptyChunk(endChunk);\n        }\n\n        if (Number.isInteger(nextEmptyChunk)) {\n          this._requestChunks([nextEmptyChunk]);\n        }\n      }\n\n      for (var _i = 0, _loadedRequests = loadedRequests; _i < _loadedRequests.length; _i++) {\n        var _requestId = _loadedRequests[_i];\n        var capability = this.promisesByRequest[_requestId];\n        delete this.promisesByRequest[_requestId];\n        capability.resolve();\n      }\n\n      this.msgHandler.send(\"DocProgress\", {\n        loaded: this.stream.numChunksLoaded * this.chunkSize,\n        total: this.length\n      });\n    }\n  }, {\n    key: \"onError\",\n    value: function onError(err) {\n      this._loadedStreamCapability.reject(err);\n    }\n  }, {\n    key: \"getBeginChunk\",\n    value: function getBeginChunk(begin) {\n      return Math.floor(begin / this.chunkSize);\n    }\n  }, {\n    key: \"getEndChunk\",\n    value: function getEndChunk(end) {\n      return Math.floor((end - 1) / this.chunkSize) + 1;\n    }\n  }, {\n    key: \"abort\",\n    value: function abort(reason) {\n      this.aborted = true;\n\n      if (this.pdfNetworkStream) {\n        this.pdfNetworkStream.cancelAllRequests(reason);\n      }\n\n      for (var requestId in this.promisesByRequest) {\n        this.promisesByRequest[requestId].reject(reason);\n      }\n    }\n  }]);\n\n  return ChunkedStreamManager;\n}();\n\nexports.ChunkedStreamManager = ChunkedStreamManager;\n\n/***/ }),\n/* 201 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.getLookupTableFactory = getLookupTableFactory;\nexports.getInheritableProperty = getInheritableProperty;\nexports.toRomanNumerals = toRomanNumerals;\nexports.log2 = log2;\nexports.readInt8 = readInt8;\nexports.readUint16 = readUint16;\nexports.readUint32 = readUint32;\nexports.isWhiteSpace = isWhiteSpace;\nexports.XRefParseException = exports.XRefEntryException = exports.MissingDataException = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction getLookupTableFactory(initializer) {\n  var lookup;\n  return function () {\n    if (initializer) {\n      lookup = Object.create(null);\n      initializer(lookup);\n      initializer = null;\n    }\n\n    return lookup;\n  };\n}\n\nvar MissingDataException = /*#__PURE__*/function (_BaseException) {\n  _inherits(MissingDataException, _BaseException);\n\n  var _super = _createSuper(MissingDataException);\n\n  function MissingDataException(begin, end) {\n    var _this;\n\n    _classCallCheck(this, MissingDataException);\n\n    _this = _super.call(this, \"Missing data [\".concat(begin, \", \").concat(end, \")\"));\n    _this.begin = begin;\n    _this.end = end;\n    return _this;\n  }\n\n  return MissingDataException;\n}(_util.BaseException);\n\nexports.MissingDataException = MissingDataException;\n\nvar XRefEntryException = /*#__PURE__*/function (_BaseException2) {\n  _inherits(XRefEntryException, _BaseException2);\n\n  var _super2 = _createSuper(XRefEntryException);\n\n  function XRefEntryException() {\n    _classCallCheck(this, XRefEntryException);\n\n    return _super2.apply(this, arguments);\n  }\n\n  return XRefEntryException;\n}(_util.BaseException);\n\nexports.XRefEntryException = XRefEntryException;\n\nvar XRefParseException = /*#__PURE__*/function (_BaseException3) {\n  _inherits(XRefParseException, _BaseException3);\n\n  var _super3 = _createSuper(XRefParseException);\n\n  function XRefParseException() {\n    _classCallCheck(this, XRefParseException);\n\n    return _super3.apply(this, arguments);\n  }\n\n  return XRefParseException;\n}(_util.BaseException);\n\nexports.XRefParseException = XRefParseException;\n\nfunction getInheritableProperty(_ref) {\n  var dict = _ref.dict,\n      key = _ref.key,\n      _ref$getArray = _ref.getArray,\n      getArray = _ref$getArray === void 0 ? false : _ref$getArray,\n      _ref$stopWhenFound = _ref.stopWhenFound,\n      stopWhenFound = _ref$stopWhenFound === void 0 ? true : _ref$stopWhenFound;\n  var LOOP_LIMIT = 100;\n  var loopCount = 0;\n  var values;\n\n  while (dict) {\n    var value = getArray ? dict.getArray(key) : dict.get(key);\n\n    if (value !== undefined) {\n      if (stopWhenFound) {\n        return value;\n      }\n\n      if (!values) {\n        values = [];\n      }\n\n      values.push(value);\n    }\n\n    if (++loopCount > LOOP_LIMIT) {\n      (0, _util.warn)(\"getInheritableProperty: maximum loop count exceeded for \\\"\".concat(key, \"\\\"\"));\n      break;\n    }\n\n    dict = dict.get(\"Parent\");\n  }\n\n  return values;\n}\n\nvar ROMAN_NUMBER_MAP = [\"\", \"C\", \"CC\", \"CCC\", \"CD\", \"D\", \"DC\", \"DCC\", \"DCCC\", \"CM\", \"\", \"X\", \"XX\", \"XXX\", \"XL\", \"L\", \"LX\", \"LXX\", \"LXXX\", \"XC\", \"\", \"I\", \"II\", \"III\", \"IV\", \"V\", \"VI\", \"VII\", \"VIII\", \"IX\"];\n\nfunction toRomanNumerals(number) {\n  var lowerCase = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n  (0, _util.assert)(Number.isInteger(number) && number > 0, \"The number should be a positive integer.\");\n  var romanBuf = [];\n  var pos;\n\n  while (number >= 1000) {\n    number -= 1000;\n    romanBuf.push(\"M\");\n  }\n\n  pos = number / 100 | 0;\n  number %= 100;\n  romanBuf.push(ROMAN_NUMBER_MAP[pos]);\n  pos = number / 10 | 0;\n  number %= 10;\n  romanBuf.push(ROMAN_NUMBER_MAP[10 + pos]);\n  romanBuf.push(ROMAN_NUMBER_MAP[20 + number]);\n  var romanStr = romanBuf.join(\"\");\n  return lowerCase ? romanStr.toLowerCase() : romanStr;\n}\n\nfunction log2(x) {\n  if (x <= 0) {\n    return 0;\n  }\n\n  return Math.ceil(Math.log2(x));\n}\n\nfunction readInt8(data, offset) {\n  return data[offset] << 24 >> 24;\n}\n\nfunction readUint16(data, offset) {\n  return data[offset] << 8 | data[offset + 1];\n}\n\nfunction readUint32(data, offset) {\n  return (data[offset] << 24 | data[offset + 1] << 16 | data[offset + 2] << 8 | data[offset + 3]) >>> 0;\n}\n\nfunction isWhiteSpace(ch) {\n  return ch === 0x20 || ch === 0x09 || ch === 0x0d || ch === 0x0a;\n}\n\n/***/ }),\n/* 202 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.PDFDocument = exports.Page = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _obj = __w_pdfjs_require__(203);\n\nvar _primitives = __w_pdfjs_require__(198);\n\nvar _core_utils = __w_pdfjs_require__(201);\n\nvar _stream = __w_pdfjs_require__(205);\n\nvar _annotation = __w_pdfjs_require__(218);\n\nvar _crypto = __w_pdfjs_require__(215);\n\nvar _parser = __w_pdfjs_require__(204);\n\nvar _operator_list = __w_pdfjs_require__(219);\n\nvar _evaluator = __w_pdfjs_require__(220);\n\nvar _function = __w_pdfjs_require__(234);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar DEFAULT_USER_UNIT = 1.0;\nvar LETTER_SIZE_MEDIABOX = [0, 0, 612, 792];\n\nfunction isAnnotationRenderable(annotation, intent) {\n  return intent === \"display\" && annotation.viewable || intent === \"print\" && annotation.printable;\n}\n\nvar Page = /*#__PURE__*/function () {\n  function Page(_ref) {\n    var pdfManager = _ref.pdfManager,\n        xref = _ref.xref,\n        pageIndex = _ref.pageIndex,\n        pageDict = _ref.pageDict,\n        ref = _ref.ref,\n        fontCache = _ref.fontCache,\n        builtInCMapCache = _ref.builtInCMapCache,\n        globalImageCache = _ref.globalImageCache,\n        pdfFunctionFactory = _ref.pdfFunctionFactory;\n\n    _classCallCheck(this, Page);\n\n    this.pdfManager = pdfManager;\n    this.pageIndex = pageIndex;\n    this.pageDict = pageDict;\n    this.xref = xref;\n    this.ref = ref;\n    this.fontCache = fontCache;\n    this.builtInCMapCache = builtInCMapCache;\n    this.globalImageCache = globalImageCache;\n    this.pdfFunctionFactory = pdfFunctionFactory;\n    this.evaluatorOptions = pdfManager.evaluatorOptions;\n    this.resourcesPromise = null;\n    var idCounters = {\n      obj: 0\n    };\n    this.idFactory = {\n      createObjId: function createObjId() {\n        return \"p\".concat(pageIndex, \"_\").concat(++idCounters.obj);\n      },\n      getDocId: function getDocId() {\n        return \"g_\".concat(pdfManager.docId);\n      }\n    };\n  }\n\n  _createClass(Page, [{\n    key: \"_getInheritableProperty\",\n    value: function _getInheritableProperty(key) {\n      var getArray = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n      var value = (0, _core_utils.getInheritableProperty)({\n        dict: this.pageDict,\n        key: key,\n        getArray: getArray,\n        stopWhenFound: false\n      });\n\n      if (!Array.isArray(value)) {\n        return value;\n      }\n\n      if (value.length === 1 || !(0, _primitives.isDict)(value[0])) {\n        return value[0];\n      }\n\n      return _primitives.Dict.merge(this.xref, value);\n    }\n  }, {\n    key: \"_getBoundingBox\",\n    value: function _getBoundingBox(name) {\n      var box = this._getInheritableProperty(name, true);\n\n      if (Array.isArray(box) && box.length === 4) {\n        if (box[2] - box[0] !== 0 && box[3] - box[1] !== 0) {\n          return box;\n        }\n\n        (0, _util.warn)(\"Empty /\".concat(name, \" entry.\"));\n      }\n\n      return null;\n    }\n  }, {\n    key: \"getContentStream\",\n    value: function getContentStream() {\n      var content = this.content;\n      var stream;\n\n      if (Array.isArray(content)) {\n        var xref = this.xref;\n        var streams = [];\n\n        var _iterator = _createForOfIteratorHelper(content),\n            _step;\n\n        try {\n          for (_iterator.s(); !(_step = _iterator.n()).done;) {\n            var subStream = _step.value;\n            streams.push(xref.fetchIfRef(subStream));\n          }\n        } catch (err) {\n          _iterator.e(err);\n        } finally {\n          _iterator.f();\n        }\n\n        stream = new _stream.StreamsSequenceStream(streams);\n      } else if ((0, _primitives.isStream)(content)) {\n        stream = content;\n      } else {\n        stream = new _stream.NullStream();\n      }\n\n      return stream;\n    }\n  }, {\n    key: \"loadResources\",\n    value: function loadResources(keys) {\n      var _this = this;\n\n      if (!this.resourcesPromise) {\n        this.resourcesPromise = this.pdfManager.ensure(this, \"resources\");\n      }\n\n      return this.resourcesPromise.then(function () {\n        var objectLoader = new _obj.ObjectLoader(_this.resources, keys, _this.xref);\n        return objectLoader.load();\n      });\n    }\n  }, {\n    key: \"getOperatorList\",\n    value: function getOperatorList(_ref2) {\n      var _this2 = this;\n\n      var handler = _ref2.handler,\n          sink = _ref2.sink,\n          task = _ref2.task,\n          intent = _ref2.intent,\n          renderInteractiveForms = _ref2.renderInteractiveForms;\n      var contentStreamPromise = this.pdfManager.ensure(this, \"getContentStream\");\n      var resourcesPromise = this.loadResources([\"ExtGState\", \"ColorSpace\", \"Pattern\", \"Shading\", \"XObject\", \"Font\"]);\n      var partialEvaluator = new _evaluator.PartialEvaluator({\n        xref: this.xref,\n        handler: handler,\n        pageIndex: this.pageIndex,\n        idFactory: this.idFactory,\n        fontCache: this.fontCache,\n        builtInCMapCache: this.builtInCMapCache,\n        globalImageCache: this.globalImageCache,\n        options: this.evaluatorOptions,\n        pdfFunctionFactory: this.pdfFunctionFactory\n      });\n      var dataPromises = Promise.all([contentStreamPromise, resourcesPromise]);\n      var pageListPromise = dataPromises.then(function (_ref3) {\n        var _ref4 = _slicedToArray(_ref3, 1),\n            contentStream = _ref4[0];\n\n        var opList = new _operator_list.OperatorList(intent, sink, _this2.pageIndex);\n        handler.send(\"StartRenderPage\", {\n          transparency: partialEvaluator.hasBlendModes(_this2.resources),\n          pageIndex: _this2.pageIndex,\n          intent: intent\n        });\n        return partialEvaluator.getOperatorList({\n          stream: contentStream,\n          task: task,\n          resources: _this2.resources,\n          operatorList: opList\n        }).then(function () {\n          return opList;\n        });\n      });\n      return Promise.all([pageListPromise, this._parsedAnnotations]).then(function (_ref5) {\n        var _ref6 = _slicedToArray(_ref5, 2),\n            pageOpList = _ref6[0],\n            annotations = _ref6[1];\n\n        if (annotations.length === 0) {\n          pageOpList.flush(true);\n          return {\n            length: pageOpList.totalLength\n          };\n        }\n\n        var opListPromises = [];\n\n        var _iterator2 = _createForOfIteratorHelper(annotations),\n            _step2;\n\n        try {\n          for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n            var annotation = _step2.value;\n\n            if (isAnnotationRenderable(annotation, intent)) {\n              opListPromises.push(annotation.getOperatorList(partialEvaluator, task, renderInteractiveForms)[\"catch\"](function (reason) {\n                (0, _util.warn)(\"getOperatorList - ignoring annotation data during \" + \"\\\"\".concat(task.name, \"\\\" task: \\\"\").concat(reason, \"\\\".\"));\n                return null;\n              }));\n            }\n          }\n        } catch (err) {\n          _iterator2.e(err);\n        } finally {\n          _iterator2.f();\n        }\n\n        return Promise.all(opListPromises).then(function (opLists) {\n          pageOpList.addOp(_util.OPS.beginAnnotations, []);\n\n          var _iterator3 = _createForOfIteratorHelper(opLists),\n              _step3;\n\n          try {\n            for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n              var opList = _step3.value;\n              pageOpList.addOpList(opList);\n            }\n          } catch (err) {\n            _iterator3.e(err);\n          } finally {\n            _iterator3.f();\n          }\n\n          pageOpList.addOp(_util.OPS.endAnnotations, []);\n          pageOpList.flush(true);\n          return {\n            length: pageOpList.totalLength\n          };\n        });\n      });\n    }\n  }, {\n    key: \"extractTextContent\",\n    value: function extractTextContent(_ref7) {\n      var _this3 = this;\n\n      var handler = _ref7.handler,\n          task = _ref7.task,\n          normalizeWhitespace = _ref7.normalizeWhitespace,\n          sink = _ref7.sink,\n          combineTextItems = _ref7.combineTextItems;\n      var contentStreamPromise = this.pdfManager.ensure(this, \"getContentStream\");\n      var resourcesPromise = this.loadResources([\"ExtGState\", \"XObject\", \"Font\"]);\n      var dataPromises = Promise.all([contentStreamPromise, resourcesPromise]);\n      return dataPromises.then(function (_ref8) {\n        var _ref9 = _slicedToArray(_ref8, 1),\n            contentStream = _ref9[0];\n\n        var partialEvaluator = new _evaluator.PartialEvaluator({\n          xref: _this3.xref,\n          handler: handler,\n          pageIndex: _this3.pageIndex,\n          idFactory: _this3.idFactory,\n          fontCache: _this3.fontCache,\n          builtInCMapCache: _this3.builtInCMapCache,\n          globalImageCache: _this3.globalImageCache,\n          options: _this3.evaluatorOptions,\n          pdfFunctionFactory: _this3.pdfFunctionFactory\n        });\n        return partialEvaluator.getTextContent({\n          stream: contentStream,\n          task: task,\n          resources: _this3.resources,\n          normalizeWhitespace: normalizeWhitespace,\n          combineTextItems: combineTextItems,\n          sink: sink\n        });\n      });\n    }\n  }, {\n    key: \"getAnnotationsData\",\n    value: function getAnnotationsData(intent) {\n      return this._parsedAnnotations.then(function (annotations) {\n        var annotationsData = [];\n\n        for (var i = 0, ii = annotations.length; i < ii; i++) {\n          if (!intent || isAnnotationRenderable(annotations[i], intent)) {\n            annotationsData.push(annotations[i].data);\n          }\n        }\n\n        return annotationsData;\n      });\n    }\n  }, {\n    key: \"content\",\n    get: function get() {\n      return this.pageDict.get(\"Contents\");\n    }\n  }, {\n    key: \"resources\",\n    get: function get() {\n      return (0, _util.shadow)(this, \"resources\", this._getInheritableProperty(\"Resources\") || _primitives.Dict.empty);\n    }\n  }, {\n    key: \"mediaBox\",\n    get: function get() {\n      return (0, _util.shadow)(this, \"mediaBox\", this._getBoundingBox(\"MediaBox\") || LETTER_SIZE_MEDIABOX);\n    }\n  }, {\n    key: \"cropBox\",\n    get: function get() {\n      return (0, _util.shadow)(this, \"cropBox\", this._getBoundingBox(\"CropBox\") || this.mediaBox);\n    }\n  }, {\n    key: \"userUnit\",\n    get: function get() {\n      var obj = this.pageDict.get(\"UserUnit\");\n\n      if (!(0, _util.isNum)(obj) || obj <= 0) {\n        obj = DEFAULT_USER_UNIT;\n      }\n\n      return (0, _util.shadow)(this, \"userUnit\", obj);\n    }\n  }, {\n    key: \"view\",\n    get: function get() {\n      var cropBox = this.cropBox,\n          mediaBox = this.mediaBox;\n      var view;\n\n      if (cropBox === mediaBox || (0, _util.isArrayEqual)(cropBox, mediaBox)) {\n        view = mediaBox;\n      } else {\n        var box = _util.Util.intersect(cropBox, mediaBox);\n\n        if (box && box[2] - box[0] !== 0 && box[3] - box[1] !== 0) {\n          view = box;\n        } else {\n          (0, _util.warn)(\"Empty /CropBox and /MediaBox intersection.\");\n        }\n      }\n\n      return (0, _util.shadow)(this, \"view\", view || mediaBox);\n    }\n  }, {\n    key: \"rotate\",\n    get: function get() {\n      var rotate = this._getInheritableProperty(\"Rotate\") || 0;\n\n      if (rotate % 90 !== 0) {\n        rotate = 0;\n      } else if (rotate >= 360) {\n        rotate = rotate % 360;\n      } else if (rotate < 0) {\n        rotate = (rotate % 360 + 360) % 360;\n      }\n\n      return (0, _util.shadow)(this, \"rotate\", rotate);\n    }\n  }, {\n    key: \"annotations\",\n    get: function get() {\n      return (0, _util.shadow)(this, \"annotations\", this._getInheritableProperty(\"Annots\") || []);\n    }\n  }, {\n    key: \"_parsedAnnotations\",\n    get: function get() {\n      var _this4 = this;\n\n      var parsedAnnotations = this.pdfManager.ensure(this, \"annotations\").then(function () {\n        var annotationPromises = [];\n\n        var _iterator4 = _createForOfIteratorHelper(_this4.annotations),\n            _step4;\n\n        try {\n          for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n            var annotationRef = _step4.value;\n            annotationPromises.push(_annotation.AnnotationFactory.create(_this4.xref, annotationRef, _this4.pdfManager, _this4.idFactory)[\"catch\"](function (reason) {\n              (0, _util.warn)(\"_parsedAnnotations: \\\"\".concat(reason, \"\\\".\"));\n              return null;\n            }));\n          }\n        } catch (err) {\n          _iterator4.e(err);\n        } finally {\n          _iterator4.f();\n        }\n\n        return Promise.all(annotationPromises).then(function (annotations) {\n          return annotations.filter(function (annotation) {\n            return !!annotation;\n          });\n        });\n      });\n      return (0, _util.shadow)(this, \"_parsedAnnotations\", parsedAnnotations);\n    }\n  }]);\n\n  return Page;\n}();\n\nexports.Page = Page;\nvar PDF_HEADER_SIGNATURE = new Uint8Array([0x25, 0x50, 0x44, 0x46, 0x2d]);\nvar STARTXREF_SIGNATURE = new Uint8Array([0x73, 0x74, 0x61, 0x72, 0x74, 0x78, 0x72, 0x65, 0x66]);\nvar ENDOBJ_SIGNATURE = new Uint8Array([0x65, 0x6e, 0x64, 0x6f, 0x62, 0x6a]);\nvar FINGERPRINT_FIRST_BYTES = 1024;\nvar EMPTY_FINGERPRINT = \"\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\";\nvar PDF_HEADER_VERSION_REGEXP = /^[1-9]\\.[0-9]$/;\n\nfunction find(stream, signature) {\n  var limit = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1024;\n  var backwards = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n  var signatureLength = signature.length;\n  var scanBytes = stream.peekBytes(limit);\n  var scanLength = scanBytes.length - signatureLength;\n\n  if (scanLength <= 0) {\n    return false;\n  }\n\n  if (backwards) {\n    var signatureEnd = signatureLength - 1;\n    var pos = scanBytes.length - 1;\n\n    while (pos >= signatureEnd) {\n      var j = 0;\n\n      while (j < signatureLength && scanBytes[pos - j] === signature[signatureEnd - j]) {\n        j++;\n      }\n\n      if (j >= signatureLength) {\n        stream.pos += pos - signatureEnd;\n        return true;\n      }\n\n      pos--;\n    }\n  } else {\n    var _pos = 0;\n\n    while (_pos <= scanLength) {\n      var _j = 0;\n\n      while (_j < signatureLength && scanBytes[_pos + _j] === signature[_j]) {\n        _j++;\n      }\n\n      if (_j >= signatureLength) {\n        stream.pos += _pos;\n        return true;\n      }\n\n      _pos++;\n    }\n  }\n\n  return false;\n}\n\nvar PDFDocument = /*#__PURE__*/function () {\n  function PDFDocument(pdfManager, arg) {\n    _classCallCheck(this, PDFDocument);\n\n    var stream;\n\n    if ((0, _primitives.isStream)(arg)) {\n      stream = arg;\n    } else if ((0, _util.isArrayBuffer)(arg)) {\n      stream = new _stream.Stream(arg);\n    } else {\n      throw new Error(\"PDFDocument: Unknown argument type\");\n    }\n\n    if (stream.length <= 0) {\n      throw new _util.InvalidPDFException(\"The PDF file is empty, i.e. its size is zero bytes.\");\n    }\n\n    this.pdfManager = pdfManager;\n    this.stream = stream;\n    this.xref = new _obj.XRef(stream, pdfManager);\n    this.pdfFunctionFactory = new _function.PDFFunctionFactory({\n      xref: this.xref,\n      isEvalSupported: pdfManager.evaluatorOptions.isEvalSupported\n    });\n    this._pagePromises = [];\n  }\n\n  _createClass(PDFDocument, [{\n    key: \"parse\",\n    value: function parse(recoveryMode) {\n      this.setup(recoveryMode);\n      var version = this.catalog.catDict.get(\"Version\");\n\n      if ((0, _primitives.isName)(version)) {\n        this.pdfFormatVersion = version.name;\n      }\n\n      try {\n        this.acroForm = this.catalog.catDict.get(\"AcroForm\");\n\n        if (this.acroForm) {\n          this.xfa = this.acroForm.get(\"XFA\");\n          var fields = this.acroForm.get(\"Fields\");\n\n          if ((!Array.isArray(fields) || fields.length === 0) && !this.xfa) {\n            this.acroForm = null;\n          }\n        }\n      } catch (ex) {\n        if (ex instanceof _core_utils.MissingDataException) {\n          throw ex;\n        }\n\n        (0, _util.info)(\"Cannot fetch AcroForm entry; assuming no AcroForms are present\");\n        this.acroForm = null;\n      }\n\n      try {\n        var collection = this.catalog.catDict.get(\"Collection\");\n\n        if ((0, _primitives.isDict)(collection) && collection.getKeys().length > 0) {\n          this.collection = collection;\n        }\n      } catch (ex) {\n        if (ex instanceof _core_utils.MissingDataException) {\n          throw ex;\n        }\n\n        (0, _util.info)(\"Cannot fetch Collection dictionary.\");\n      }\n    }\n  }, {\n    key: \"checkHeader\",\n    value: function checkHeader() {\n      var stream = this.stream;\n      stream.reset();\n\n      if (!find(stream, PDF_HEADER_SIGNATURE)) {\n        return;\n      }\n\n      stream.moveStart();\n      var MAX_PDF_VERSION_LENGTH = 12;\n      var version = \"\",\n          ch;\n\n      while ((ch = stream.getByte()) > 0x20) {\n        if (version.length >= MAX_PDF_VERSION_LENGTH) {\n          break;\n        }\n\n        version += String.fromCharCode(ch);\n      }\n\n      if (!this.pdfFormatVersion) {\n        this.pdfFormatVersion = version.substring(5);\n      }\n    }\n  }, {\n    key: \"parseStartXRef\",\n    value: function parseStartXRef() {\n      this.xref.setStartXRef(this.startXRef);\n    }\n  }, {\n    key: \"setup\",\n    value: function setup(recoveryMode) {\n      this.xref.parse(recoveryMode);\n      this.catalog = new _obj.Catalog(this.pdfManager, this.xref);\n    }\n  }, {\n    key: \"_getLinearizationPage\",\n    value: function _getLinearizationPage(pageIndex) {\n      var catalog = this.catalog,\n          linearization = this.linearization;\n\n      var ref = _primitives.Ref.get(linearization.objectNumberFirst, 0);\n\n      return this.xref.fetchAsync(ref).then(function (obj) {\n        if ((0, _primitives.isDict)(obj, \"Page\") || (0, _primitives.isDict)(obj) && !obj.has(\"Type\") && obj.has(\"Contents\")) {\n          if (ref && !catalog.pageKidsCountCache.has(ref)) {\n            catalog.pageKidsCountCache.put(ref, 1);\n          }\n\n          return [obj, ref];\n        }\n\n        throw new _util.FormatError(\"The Linearization dictionary doesn't point \" + \"to a valid Page dictionary.\");\n      })[\"catch\"](function (reason) {\n        (0, _util.info)(reason);\n        return catalog.getPageDict(pageIndex);\n      });\n    }\n  }, {\n    key: \"getPage\",\n    value: function getPage(pageIndex) {\n      var _this5 = this;\n\n      if (this._pagePromises[pageIndex] !== undefined) {\n        return this._pagePromises[pageIndex];\n      }\n\n      var catalog = this.catalog,\n          linearization = this.linearization;\n      var promise = linearization && linearization.pageFirst === pageIndex ? this._getLinearizationPage(pageIndex) : catalog.getPageDict(pageIndex);\n      return this._pagePromises[pageIndex] = promise.then(function (_ref10) {\n        var _ref11 = _slicedToArray(_ref10, 2),\n            pageDict = _ref11[0],\n            ref = _ref11[1];\n\n        return new Page({\n          pdfManager: _this5.pdfManager,\n          xref: _this5.xref,\n          pageIndex: pageIndex,\n          pageDict: pageDict,\n          ref: ref,\n          fontCache: catalog.fontCache,\n          builtInCMapCache: catalog.builtInCMapCache,\n          globalImageCache: catalog.globalImageCache,\n          pdfFunctionFactory: _this5.pdfFunctionFactory\n        });\n      });\n    }\n  }, {\n    key: \"checkFirstPage\",\n    value: function checkFirstPage() {\n      var _this6 = this;\n\n      return this.getPage(0)[\"catch\"]( /*#__PURE__*/function () {\n        var _ref12 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee(reason) {\n          return _regenerator[\"default\"].wrap(function _callee$(_context) {\n            while (1) {\n              switch (_context.prev = _context.next) {\n                case 0:\n                  if (!(reason instanceof _core_utils.XRefEntryException)) {\n                    _context.next = 5;\n                    break;\n                  }\n\n                  _this6._pagePromises.length = 0;\n                  _context.next = 4;\n                  return _this6.cleanup();\n\n                case 4:\n                  throw new _core_utils.XRefParseException();\n\n                case 5:\n                case \"end\":\n                  return _context.stop();\n              }\n            }\n          }, _callee);\n        }));\n\n        return function (_x) {\n          return _ref12.apply(this, arguments);\n        };\n      }());\n    }\n  }, {\n    key: \"fontFallback\",\n    value: function fontFallback(id, handler) {\n      return this.catalog.fontFallback(id, handler);\n    }\n  }, {\n    key: \"cleanup\",\n    value: function () {\n      var _cleanup = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2() {\n        var manuallyTriggered,\n            _args2 = arguments;\n        return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n          while (1) {\n            switch (_context2.prev = _context2.next) {\n              case 0:\n                manuallyTriggered = _args2.length > 0 && _args2[0] !== undefined ? _args2[0] : false;\n                return _context2.abrupt(\"return\", this.catalog ? this.catalog.cleanup(manuallyTriggered) : (0, _primitives.clearPrimitiveCaches)());\n\n              case 2:\n              case \"end\":\n                return _context2.stop();\n            }\n          }\n        }, _callee2, this);\n      }));\n\n      function cleanup() {\n        return _cleanup.apply(this, arguments);\n      }\n\n      return cleanup;\n    }()\n  }, {\n    key: \"linearization\",\n    get: function get() {\n      var linearization = null;\n\n      try {\n        linearization = _parser.Linearization.create(this.stream);\n      } catch (err) {\n        if (err instanceof _core_utils.MissingDataException) {\n          throw err;\n        }\n\n        (0, _util.info)(err);\n      }\n\n      return (0, _util.shadow)(this, \"linearization\", linearization);\n    }\n  }, {\n    key: \"startXRef\",\n    get: function get() {\n      var stream = this.stream;\n      var startXRef = 0;\n\n      if (this.linearization) {\n        stream.reset();\n\n        if (find(stream, ENDOBJ_SIGNATURE)) {\n          startXRef = stream.pos + 6 - stream.start;\n        }\n      } else {\n        var step = 1024;\n        var startXRefLength = STARTXREF_SIGNATURE.length;\n        var found = false,\n            pos = stream.end;\n\n        while (!found && pos > 0) {\n          pos -= step - startXRefLength;\n\n          if (pos < 0) {\n            pos = 0;\n          }\n\n          stream.pos = pos;\n          found = find(stream, STARTXREF_SIGNATURE, step, true);\n        }\n\n        if (found) {\n          stream.skip(9);\n          var ch;\n\n          do {\n            ch = stream.getByte();\n          } while ((0, _core_utils.isWhiteSpace)(ch));\n\n          var str = \"\";\n\n          while (ch >= 0x20 && ch <= 0x39) {\n            str += String.fromCharCode(ch);\n            ch = stream.getByte();\n          }\n\n          startXRef = parseInt(str, 10);\n\n          if (isNaN(startXRef)) {\n            startXRef = 0;\n          }\n        }\n      }\n\n      return (0, _util.shadow)(this, \"startXRef\", startXRef);\n    }\n  }, {\n    key: \"numPages\",\n    get: function get() {\n      var linearization = this.linearization;\n      var num = linearization ? linearization.numPages : this.catalog.numPages;\n      return (0, _util.shadow)(this, \"numPages\", num);\n    }\n  }, {\n    key: \"documentInfo\",\n    get: function get() {\n      var DocumentInfoValidators = {\n        Title: _util.isString,\n        Author: _util.isString,\n        Subject: _util.isString,\n        Keywords: _util.isString,\n        Creator: _util.isString,\n        Producer: _util.isString,\n        CreationDate: _util.isString,\n        ModDate: _util.isString,\n        Trapped: _primitives.isName\n      };\n      var version = this.pdfFormatVersion;\n\n      if (typeof version !== \"string\" || !PDF_HEADER_VERSION_REGEXP.test(version)) {\n        (0, _util.warn)(\"Invalid PDF header version number: \".concat(version));\n        version = null;\n      }\n\n      var docInfo = {\n        PDFFormatVersion: version,\n        IsLinearized: !!this.linearization,\n        IsAcroFormPresent: !!this.acroForm,\n        IsXFAPresent: !!this.xfa,\n        IsCollectionPresent: !!this.collection\n      };\n      var infoDict;\n\n      try {\n        infoDict = this.xref.trailer.get(\"Info\");\n      } catch (err) {\n        if (err instanceof _core_utils.MissingDataException) {\n          throw err;\n        }\n\n        (0, _util.info)(\"The document information dictionary is invalid.\");\n      }\n\n      if ((0, _primitives.isDict)(infoDict)) {\n        var _iterator5 = _createForOfIteratorHelper(infoDict.getKeys()),\n            _step5;\n\n        try {\n          for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n            var key = _step5.value;\n            var value = infoDict.get(key);\n\n            if (DocumentInfoValidators[key]) {\n              if (DocumentInfoValidators[key](value)) {\n                docInfo[key] = typeof value !== \"string\" ? value : (0, _util.stringToPDFString)(value);\n              } else {\n                (0, _util.info)(\"Bad value in document info for \\\"\".concat(key, \"\\\".\"));\n              }\n            } else if (typeof key === \"string\") {\n              var customValue = void 0;\n\n              if ((0, _util.isString)(value)) {\n                customValue = (0, _util.stringToPDFString)(value);\n              } else if ((0, _primitives.isName)(value) || (0, _util.isNum)(value) || (0, _util.isBool)(value)) {\n                customValue = value;\n              } else {\n                (0, _util.info)(\"Unsupported value in document info for (custom) \\\"\".concat(key, \"\\\".\"));\n                continue;\n              }\n\n              if (!docInfo.Custom) {\n                docInfo.Custom = Object.create(null);\n              }\n\n              docInfo.Custom[key] = customValue;\n            }\n          }\n        } catch (err) {\n          _iterator5.e(err);\n        } finally {\n          _iterator5.f();\n        }\n      }\n\n      return (0, _util.shadow)(this, \"documentInfo\", docInfo);\n    }\n  }, {\n    key: \"fingerprint\",\n    get: function get() {\n      var hash;\n      var idArray = this.xref.trailer.get(\"ID\");\n\n      if (Array.isArray(idArray) && idArray[0] && (0, _util.isString)(idArray[0]) && idArray[0] !== EMPTY_FINGERPRINT) {\n        hash = (0, _util.stringToBytes)(idArray[0]);\n      } else {\n        hash = (0, _crypto.calculateMD5)(this.stream.getByteRange(0, FINGERPRINT_FIRST_BYTES), 0, FINGERPRINT_FIRST_BYTES);\n      }\n\n      var fingerprintBuf = [];\n\n      for (var i = 0, ii = hash.length; i < ii; i++) {\n        var hex = hash[i].toString(16);\n        fingerprintBuf.push(hex.padStart(2, \"0\"));\n      }\n\n      return (0, _util.shadow)(this, \"fingerprint\", fingerprintBuf.join(\"\"));\n    }\n  }]);\n\n  return PDFDocument;\n}();\n\nexports.PDFDocument = PDFDocument;\n\n/***/ }),\n/* 203 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.FileSpec = exports.XRef = exports.ObjectLoader = exports.Catalog = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _primitives = __w_pdfjs_require__(198);\n\nvar _parser = __w_pdfjs_require__(204);\n\nvar _core_utils = __w_pdfjs_require__(201);\n\nvar _crypto = __w_pdfjs_require__(215);\n\nvar _colorspace = __w_pdfjs_require__(216);\n\nvar _image_utils = __w_pdfjs_require__(217);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction fetchDestination(dest) {\n  return (0, _primitives.isDict)(dest) ? dest.get(\"D\") : dest;\n}\n\nvar Catalog = /*#__PURE__*/function () {\n  function Catalog(pdfManager, xref) {\n    _classCallCheck(this, Catalog);\n\n    this.pdfManager = pdfManager;\n    this.xref = xref;\n    this.catDict = xref.getCatalogObj();\n\n    if (!(0, _primitives.isDict)(this.catDict)) {\n      throw new _util.FormatError(\"Catalog object is not a dictionary.\");\n    }\n\n    this.fontCache = new _primitives.RefSetCache();\n    this.builtInCMapCache = new Map();\n    this.globalImageCache = new _image_utils.GlobalImageCache();\n    this.pageKidsCountCache = new _primitives.RefSetCache();\n  }\n\n  _createClass(Catalog, [{\n    key: \"_readDocumentOutline\",\n    value: function _readDocumentOutline() {\n      var obj = this.catDict.get(\"Outlines\");\n\n      if (!(0, _primitives.isDict)(obj)) {\n        return null;\n      }\n\n      obj = obj.getRaw(\"First\");\n\n      if (!(0, _primitives.isRef)(obj)) {\n        return null;\n      }\n\n      var root = {\n        items: []\n      };\n      var queue = [{\n        obj: obj,\n        parent: root\n      }];\n      var processed = new _primitives.RefSet();\n      processed.put(obj);\n      var xref = this.xref,\n          blackColor = new Uint8ClampedArray(3);\n\n      while (queue.length > 0) {\n        var i = queue.shift();\n        var outlineDict = xref.fetchIfRef(i.obj);\n\n        if (outlineDict === null) {\n          continue;\n        }\n\n        if (!outlineDict.has(\"Title\")) {\n          throw new _util.FormatError(\"Invalid outline item encountered.\");\n        }\n\n        var data = {\n          url: null,\n          dest: null\n        };\n        Catalog.parseDestDictionary({\n          destDict: outlineDict,\n          resultObj: data,\n          docBaseUrl: this.pdfManager.docBaseUrl\n        });\n        var title = outlineDict.get(\"Title\");\n        var flags = outlineDict.get(\"F\") || 0;\n        var color = outlineDict.getArray(\"C\");\n        var count = outlineDict.get(\"Count\");\n        var rgbColor = blackColor;\n\n        if (Array.isArray(color) && color.length === 3 && (color[0] !== 0 || color[1] !== 0 || color[2] !== 0)) {\n          rgbColor = _colorspace.ColorSpace.singletons.rgb.getRgb(color, 0);\n        }\n\n        var outlineItem = {\n          dest: data.dest,\n          url: data.url,\n          unsafeUrl: data.unsafeUrl,\n          newWindow: data.newWindow,\n          title: (0, _util.stringToPDFString)(title),\n          color: rgbColor,\n          count: Number.isInteger(count) ? count : undefined,\n          bold: !!(flags & 2),\n          italic: !!(flags & 1),\n          items: []\n        };\n        i.parent.items.push(outlineItem);\n        obj = outlineDict.getRaw(\"First\");\n\n        if ((0, _primitives.isRef)(obj) && !processed.has(obj)) {\n          queue.push({\n            obj: obj,\n            parent: outlineItem\n          });\n          processed.put(obj);\n        }\n\n        obj = outlineDict.getRaw(\"Next\");\n\n        if ((0, _primitives.isRef)(obj) && !processed.has(obj)) {\n          queue.push({\n            obj: obj,\n            parent: i.parent\n          });\n          processed.put(obj);\n        }\n      }\n\n      return root.items.length > 0 ? root.items : null;\n    }\n  }, {\n    key: \"_readPermissions\",\n    value: function _readPermissions() {\n      var encrypt = this.xref.trailer.get(\"Encrypt\");\n\n      if (!(0, _primitives.isDict)(encrypt)) {\n        return null;\n      }\n\n      var flags = encrypt.get(\"P\");\n\n      if (!(0, _util.isNum)(flags)) {\n        return null;\n      }\n\n      flags += Math.pow(2, 32);\n      var permissions = [];\n\n      for (var key in _util.PermissionFlag) {\n        var value = _util.PermissionFlag[key];\n\n        if (flags & value) {\n          permissions.push(value);\n        }\n      }\n\n      return permissions;\n    }\n  }, {\n    key: \"getDestination\",\n    value: function getDestination(destinationId) {\n      var obj = this._readDests();\n\n      if (obj instanceof NameTree || obj instanceof _primitives.Dict) {\n        return fetchDestination(obj.get(destinationId) || null);\n      }\n\n      return null;\n    }\n  }, {\n    key: \"_readDests\",\n    value: function _readDests() {\n      var obj = this.catDict.get(\"Names\");\n\n      if (obj && obj.has(\"Dests\")) {\n        return new NameTree(obj.getRaw(\"Dests\"), this.xref);\n      } else if (this.catDict.has(\"Dests\")) {\n        return this.catDict.get(\"Dests\");\n      }\n\n      return undefined;\n    }\n  }, {\n    key: \"_readPageLabels\",\n    value: function _readPageLabels() {\n      var obj = this.catDict.getRaw(\"PageLabels\");\n\n      if (!obj) {\n        return null;\n      }\n\n      var pageLabels = new Array(this.numPages);\n      var style = null,\n          prefix = \"\";\n      var numberTree = new NumberTree(obj, this.xref);\n      var nums = numberTree.getAll();\n      var currentLabel = \"\",\n          currentIndex = 1;\n\n      for (var i = 0, ii = this.numPages; i < ii; i++) {\n        if (i in nums) {\n          var labelDict = nums[i];\n\n          if (!(0, _primitives.isDict)(labelDict)) {\n            throw new _util.FormatError(\"PageLabel is not a dictionary.\");\n          }\n\n          if (labelDict.has(\"Type\") && !(0, _primitives.isName)(labelDict.get(\"Type\"), \"PageLabel\")) {\n            throw new _util.FormatError(\"Invalid type in PageLabel dictionary.\");\n          }\n\n          if (labelDict.has(\"S\")) {\n            var s = labelDict.get(\"S\");\n\n            if (!(0, _primitives.isName)(s)) {\n              throw new _util.FormatError(\"Invalid style in PageLabel dictionary.\");\n            }\n\n            style = s.name;\n          } else {\n            style = null;\n          }\n\n          if (labelDict.has(\"P\")) {\n            var p = labelDict.get(\"P\");\n\n            if (!(0, _util.isString)(p)) {\n              throw new _util.FormatError(\"Invalid prefix in PageLabel dictionary.\");\n            }\n\n            prefix = (0, _util.stringToPDFString)(p);\n          } else {\n            prefix = \"\";\n          }\n\n          if (labelDict.has(\"St\")) {\n            var st = labelDict.get(\"St\");\n\n            if (!(Number.isInteger(st) && st >= 1)) {\n              throw new _util.FormatError(\"Invalid start in PageLabel dictionary.\");\n            }\n\n            currentIndex = st;\n          } else {\n            currentIndex = 1;\n          }\n        }\n\n        switch (style) {\n          case \"D\":\n            currentLabel = currentIndex;\n            break;\n\n          case \"R\":\n          case \"r\":\n            currentLabel = (0, _core_utils.toRomanNumerals)(currentIndex, style === \"r\");\n            break;\n\n          case \"A\":\n          case \"a\":\n            var LIMIT = 26;\n            var A_UPPER_CASE = 0x41,\n                A_LOWER_CASE = 0x61;\n            var baseCharCode = style === \"a\" ? A_LOWER_CASE : A_UPPER_CASE;\n            var letterIndex = currentIndex - 1;\n            var character = String.fromCharCode(baseCharCode + letterIndex % LIMIT);\n            var charBuf = [];\n\n            for (var j = 0, jj = letterIndex / LIMIT | 0; j <= jj; j++) {\n              charBuf.push(character);\n            }\n\n            currentLabel = charBuf.join(\"\");\n            break;\n\n          default:\n            if (style) {\n              throw new _util.FormatError(\"Invalid style \\\"\".concat(style, \"\\\" in PageLabel dictionary.\"));\n            }\n\n            currentLabel = \"\";\n        }\n\n        pageLabels[i] = prefix + currentLabel;\n        currentIndex++;\n      }\n\n      return pageLabels;\n    }\n  }, {\n    key: \"fontFallback\",\n    value: function fontFallback(id, handler) {\n      var promises = [];\n      this.fontCache.forEach(function (promise) {\n        promises.push(promise);\n      });\n      return Promise.all(promises).then(function (translatedFonts) {\n        var _iterator = _createForOfIteratorHelper(translatedFonts),\n            _step;\n\n        try {\n          for (_iterator.s(); !(_step = _iterator.n()).done;) {\n            var translatedFont = _step.value;\n\n            if (translatedFont.loadedName === id) {\n              translatedFont.fallback(handler);\n              return;\n            }\n          }\n        } catch (err) {\n          _iterator.e(err);\n        } finally {\n          _iterator.f();\n        }\n      });\n    }\n  }, {\n    key: \"cleanup\",\n    value: function cleanup() {\n      var _this = this;\n\n      var manuallyTriggered = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n      (0, _primitives.clearPrimitiveCaches)();\n      this.globalImageCache.clear(manuallyTriggered);\n      this.pageKidsCountCache.clear();\n      var promises = [];\n      this.fontCache.forEach(function (promise) {\n        promises.push(promise);\n      });\n      return Promise.all(promises).then(function (translatedFonts) {\n        var _iterator2 = _createForOfIteratorHelper(translatedFonts),\n            _step2;\n\n        try {\n          for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n            var dict = _step2.value.dict;\n            delete dict.translated;\n          }\n        } catch (err) {\n          _iterator2.e(err);\n        } finally {\n          _iterator2.f();\n        }\n\n        _this.fontCache.clear();\n\n        _this.builtInCMapCache.clear();\n      });\n    }\n  }, {\n    key: \"getPageDict\",\n    value: function getPageDict(pageIndex) {\n      var capability = (0, _util.createPromiseCapability)();\n      var nodesToVisit = [this.catDict.getRaw(\"Pages\")];\n      var visitedNodes = new _primitives.RefSet();\n      var xref = this.xref,\n          pageKidsCountCache = this.pageKidsCountCache;\n      var count,\n          currentPageIndex = 0;\n\n      function next() {\n        var _loop = function _loop() {\n          var currentNode = nodesToVisit.pop();\n\n          if ((0, _primitives.isRef)(currentNode)) {\n            count = pageKidsCountCache.get(currentNode);\n\n            if (count > 0 && currentPageIndex + count < pageIndex) {\n              currentPageIndex += count;\n              return \"continue\";\n            }\n\n            if (visitedNodes.has(currentNode)) {\n              capability.reject(new _util.FormatError(\"Pages tree contains circular reference.\"));\n              return {\n                v: void 0\n              };\n            }\n\n            visitedNodes.put(currentNode);\n            xref.fetchAsync(currentNode).then(function (obj) {\n              if ((0, _primitives.isDict)(obj, \"Page\") || (0, _primitives.isDict)(obj) && !obj.has(\"Kids\")) {\n                if (pageIndex === currentPageIndex) {\n                  if (currentNode && !pageKidsCountCache.has(currentNode)) {\n                    pageKidsCountCache.put(currentNode, 1);\n                  }\n\n                  capability.resolve([obj, currentNode]);\n                } else {\n                  currentPageIndex++;\n                  next();\n                }\n\n                return;\n              }\n\n              nodesToVisit.push(obj);\n              next();\n            }, capability.reject);\n            return {\n              v: void 0\n            };\n          }\n\n          if (!(0, _primitives.isDict)(currentNode)) {\n            capability.reject(new _util.FormatError(\"Page dictionary kid reference points to wrong type of object.\"));\n            return {\n              v: void 0\n            };\n          }\n\n          count = currentNode.get(\"Count\");\n\n          if (Number.isInteger(count) && count >= 0) {\n            var objId = currentNode.objId;\n\n            if (objId && !pageKidsCountCache.has(objId)) {\n              pageKidsCountCache.put(objId, count);\n            }\n\n            if (currentPageIndex + count <= pageIndex) {\n              currentPageIndex += count;\n              return \"continue\";\n            }\n          }\n\n          var kids = currentNode.get(\"Kids\");\n\n          if (!Array.isArray(kids)) {\n            if ((0, _primitives.isName)(currentNode.get(\"Type\"), \"Page\") || !currentNode.has(\"Type\") && currentNode.has(\"Contents\")) {\n              if (currentPageIndex === pageIndex) {\n                capability.resolve([currentNode, null]);\n                return {\n                  v: void 0\n                };\n              }\n\n              currentPageIndex++;\n              return \"continue\";\n            }\n\n            capability.reject(new _util.FormatError(\"Page dictionary kids object is not an array.\"));\n            return {\n              v: void 0\n            };\n          }\n\n          for (var last = kids.length - 1; last >= 0; last--) {\n            nodesToVisit.push(kids[last]);\n          }\n        };\n\n        while (nodesToVisit.length) {\n          var _ret = _loop();\n\n          switch (_ret) {\n            case \"continue\":\n              continue;\n\n            default:\n              if (_typeof(_ret) === \"object\") return _ret.v;\n          }\n        }\n\n        capability.reject(new Error(\"Page index \".concat(pageIndex, \" not found.\")));\n      }\n\n      next();\n      return capability.promise;\n    }\n  }, {\n    key: \"getPageIndex\",\n    value: function getPageIndex(pageRef) {\n      var xref = this.xref;\n\n      function pagesBeforeRef(kidRef) {\n        var total = 0,\n            parentRef;\n        return xref.fetchAsync(kidRef).then(function (node) {\n          if ((0, _primitives.isRefsEqual)(kidRef, pageRef) && !(0, _primitives.isDict)(node, \"Page\") && !((0, _primitives.isDict)(node) && !node.has(\"Type\") && node.has(\"Contents\"))) {\n            throw new _util.FormatError(\"The reference does not point to a /Page dictionary.\");\n          }\n\n          if (!node) {\n            return null;\n          }\n\n          if (!(0, _primitives.isDict)(node)) {\n            throw new _util.FormatError(\"Node must be a dictionary.\");\n          }\n\n          parentRef = node.getRaw(\"Parent\");\n          return node.getAsync(\"Parent\");\n        }).then(function (parent) {\n          if (!parent) {\n            return null;\n          }\n\n          if (!(0, _primitives.isDict)(parent)) {\n            throw new _util.FormatError(\"Parent must be a dictionary.\");\n          }\n\n          return parent.getAsync(\"Kids\");\n        }).then(function (kids) {\n          if (!kids) {\n            return null;\n          }\n\n          var kidPromises = [];\n          var found = false;\n\n          for (var i = 0, ii = kids.length; i < ii; i++) {\n            var kid = kids[i];\n\n            if (!(0, _primitives.isRef)(kid)) {\n              throw new _util.FormatError(\"Kid must be a reference.\");\n            }\n\n            if ((0, _primitives.isRefsEqual)(kid, kidRef)) {\n              found = true;\n              break;\n            }\n\n            kidPromises.push(xref.fetchAsync(kid).then(function (obj) {\n              if (!(0, _primitives.isDict)(obj)) {\n                throw new _util.FormatError(\"Kid node must be a dictionary.\");\n              }\n\n              if (obj.has(\"Count\")) {\n                total += obj.get(\"Count\");\n              } else {\n                total++;\n              }\n            }));\n          }\n\n          if (!found) {\n            throw new _util.FormatError(\"Kid reference not found in parent's kids.\");\n          }\n\n          return Promise.all(kidPromises).then(function () {\n            return [total, parentRef];\n          });\n        });\n      }\n\n      var total = 0;\n\n      function next(ref) {\n        return pagesBeforeRef(ref).then(function (args) {\n          if (!args) {\n            return total;\n          }\n\n          var _args = _slicedToArray(args, 2),\n              count = _args[0],\n              parentRef = _args[1];\n\n          total += count;\n          return next(parentRef);\n        });\n      }\n\n      return next(pageRef);\n    }\n  }, {\n    key: \"metadata\",\n    get: function get() {\n      var streamRef = this.catDict.getRaw(\"Metadata\");\n\n      if (!(0, _primitives.isRef)(streamRef)) {\n        return (0, _util.shadow)(this, \"metadata\", null);\n      }\n\n      var suppressEncryption = !(this.xref.encrypt && this.xref.encrypt.encryptMetadata);\n      var stream = this.xref.fetch(streamRef, suppressEncryption);\n      var metadata;\n\n      if (stream && (0, _primitives.isDict)(stream.dict)) {\n        var type = stream.dict.get(\"Type\");\n        var subtype = stream.dict.get(\"Subtype\");\n\n        if ((0, _primitives.isName)(type, \"Metadata\") && (0, _primitives.isName)(subtype, \"XML\")) {\n          try {\n            metadata = (0, _util.stringToUTF8String)((0, _util.bytesToString)(stream.getBytes()));\n          } catch (e) {\n            if (e instanceof _core_utils.MissingDataException) {\n              throw e;\n            }\n\n            (0, _util.info)(\"Skipping invalid metadata.\");\n          }\n        }\n      }\n\n      return (0, _util.shadow)(this, \"metadata\", metadata);\n    }\n  }, {\n    key: \"toplevelPagesDict\",\n    get: function get() {\n      var pagesObj = this.catDict.get(\"Pages\");\n\n      if (!(0, _primitives.isDict)(pagesObj)) {\n        throw new _util.FormatError(\"Invalid top-level pages dictionary.\");\n      }\n\n      return (0, _util.shadow)(this, \"toplevelPagesDict\", pagesObj);\n    }\n  }, {\n    key: \"documentOutline\",\n    get: function get() {\n      var obj = null;\n\n      try {\n        obj = this._readDocumentOutline();\n      } catch (ex) {\n        if (ex instanceof _core_utils.MissingDataException) {\n          throw ex;\n        }\n\n        (0, _util.warn)(\"Unable to read document outline.\");\n      }\n\n      return (0, _util.shadow)(this, \"documentOutline\", obj);\n    }\n  }, {\n    key: \"permissions\",\n    get: function get() {\n      var permissions = null;\n\n      try {\n        permissions = this._readPermissions();\n      } catch (ex) {\n        if (ex instanceof _core_utils.MissingDataException) {\n          throw ex;\n        }\n\n        (0, _util.warn)(\"Unable to read permissions.\");\n      }\n\n      return (0, _util.shadow)(this, \"permissions\", permissions);\n    }\n  }, {\n    key: \"numPages\",\n    get: function get() {\n      var obj = this.toplevelPagesDict.get(\"Count\");\n\n      if (!Number.isInteger(obj)) {\n        throw new _util.FormatError(\"Page count in top-level pages dictionary is not an integer.\");\n      }\n\n      return (0, _util.shadow)(this, \"numPages\", obj);\n    }\n  }, {\n    key: \"destinations\",\n    get: function get() {\n      var obj = this._readDests(),\n          dests = Object.create(null);\n\n      if (obj instanceof NameTree) {\n        var names = obj.getAll();\n\n        for (var name in names) {\n          dests[name] = fetchDestination(names[name]);\n        }\n      } else if (obj instanceof _primitives.Dict) {\n        obj.forEach(function (key, value) {\n          if (value) {\n            dests[key] = fetchDestination(value);\n          }\n        });\n      }\n\n      return (0, _util.shadow)(this, \"destinations\", dests);\n    }\n  }, {\n    key: \"pageLabels\",\n    get: function get() {\n      var obj = null;\n\n      try {\n        obj = this._readPageLabels();\n      } catch (ex) {\n        if (ex instanceof _core_utils.MissingDataException) {\n          throw ex;\n        }\n\n        (0, _util.warn)(\"Unable to read page labels.\");\n      }\n\n      return (0, _util.shadow)(this, \"pageLabels\", obj);\n    }\n  }, {\n    key: \"pageLayout\",\n    get: function get() {\n      var obj = this.catDict.get(\"PageLayout\");\n      var pageLayout = \"\";\n\n      if ((0, _primitives.isName)(obj)) {\n        switch (obj.name) {\n          case \"SinglePage\":\n          case \"OneColumn\":\n          case \"TwoColumnLeft\":\n          case \"TwoColumnRight\":\n          case \"TwoPageLeft\":\n          case \"TwoPageRight\":\n            pageLayout = obj.name;\n        }\n      }\n\n      return (0, _util.shadow)(this, \"pageLayout\", pageLayout);\n    }\n  }, {\n    key: \"pageMode\",\n    get: function get() {\n      var obj = this.catDict.get(\"PageMode\");\n      var pageMode = \"UseNone\";\n\n      if ((0, _primitives.isName)(obj)) {\n        switch (obj.name) {\n          case \"UseNone\":\n          case \"UseOutlines\":\n          case \"UseThumbs\":\n          case \"FullScreen\":\n          case \"UseOC\":\n          case \"UseAttachments\":\n            pageMode = obj.name;\n        }\n      }\n\n      return (0, _util.shadow)(this, \"pageMode\", pageMode);\n    }\n  }, {\n    key: \"viewerPreferences\",\n    get: function get() {\n      var _this2 = this;\n\n      var ViewerPreferencesValidators = {\n        HideToolbar: _util.isBool,\n        HideMenubar: _util.isBool,\n        HideWindowUI: _util.isBool,\n        FitWindow: _util.isBool,\n        CenterWindow: _util.isBool,\n        DisplayDocTitle: _util.isBool,\n        NonFullScreenPageMode: _primitives.isName,\n        Direction: _primitives.isName,\n        ViewArea: _primitives.isName,\n        ViewClip: _primitives.isName,\n        PrintArea: _primitives.isName,\n        PrintClip: _primitives.isName,\n        PrintScaling: _primitives.isName,\n        Duplex: _primitives.isName,\n        PickTrayByPDFSize: _util.isBool,\n        PrintPageRange: Array.isArray,\n        NumCopies: Number.isInteger\n      };\n      var obj = this.catDict.get(\"ViewerPreferences\");\n      var prefs = null;\n\n      if ((0, _primitives.isDict)(obj)) {\n        for (var key in ViewerPreferencesValidators) {\n          if (!obj.has(key)) {\n            continue;\n          }\n\n          var value = obj.get(key);\n\n          if (!ViewerPreferencesValidators[key](value)) {\n            (0, _util.info)(\"Bad value in ViewerPreferences for \\\"\".concat(key, \"\\\".\"));\n            continue;\n          }\n\n          var prefValue = void 0;\n\n          switch (key) {\n            case \"NonFullScreenPageMode\":\n              switch (value.name) {\n                case \"UseNone\":\n                case \"UseOutlines\":\n                case \"UseThumbs\":\n                case \"UseOC\":\n                  prefValue = value.name;\n                  break;\n\n                default:\n                  prefValue = \"UseNone\";\n              }\n\n              break;\n\n            case \"Direction\":\n              switch (value.name) {\n                case \"L2R\":\n                case \"R2L\":\n                  prefValue = value.name;\n                  break;\n\n                default:\n                  prefValue = \"L2R\";\n              }\n\n              break;\n\n            case \"ViewArea\":\n            case \"ViewClip\":\n            case \"PrintArea\":\n            case \"PrintClip\":\n              switch (value.name) {\n                case \"MediaBox\":\n                case \"CropBox\":\n                case \"BleedBox\":\n                case \"TrimBox\":\n                case \"ArtBox\":\n                  prefValue = value.name;\n                  break;\n\n                default:\n                  prefValue = \"CropBox\";\n              }\n\n              break;\n\n            case \"PrintScaling\":\n              switch (value.name) {\n                case \"None\":\n                case \"AppDefault\":\n                  prefValue = value.name;\n                  break;\n\n                default:\n                  prefValue = \"AppDefault\";\n              }\n\n              break;\n\n            case \"Duplex\":\n              switch (value.name) {\n                case \"Simplex\":\n                case \"DuplexFlipShortEdge\":\n                case \"DuplexFlipLongEdge\":\n                  prefValue = value.name;\n                  break;\n\n                default:\n                  prefValue = \"None\";\n              }\n\n              break;\n\n            case \"PrintPageRange\":\n              var length = value.length;\n\n              if (length % 2 !== 0) {\n                break;\n              }\n\n              var isValid = value.every(function (page, i, arr) {\n                return Number.isInteger(page) && page > 0 && (i === 0 || page >= arr[i - 1]) && page <= _this2.numPages;\n              });\n\n              if (isValid) {\n                prefValue = value;\n              }\n\n              break;\n\n            case \"NumCopies\":\n              if (value > 0) {\n                prefValue = value;\n              }\n\n              break;\n\n            default:\n              if (typeof value !== \"boolean\") {\n                throw new _util.FormatError(\"viewerPreferences - expected a boolean value for: \".concat(key));\n              }\n\n              prefValue = value;\n          }\n\n          if (prefValue !== undefined) {\n            if (!prefs) {\n              prefs = Object.create(null);\n            }\n\n            prefs[key] = prefValue;\n          } else {\n            (0, _util.info)(\"Bad value in ViewerPreferences for \\\"\".concat(key, \"\\\".\"));\n          }\n        }\n      }\n\n      return (0, _util.shadow)(this, \"viewerPreferences\", prefs);\n    }\n  }, {\n    key: \"openAction\",\n    get: function get() {\n      var obj = this.catDict.get(\"OpenAction\");\n      var openAction = null;\n\n      if ((0, _primitives.isDict)(obj)) {\n        var destDict = new _primitives.Dict(this.xref);\n        destDict.set(\"A\", obj);\n        var resultObj = {\n          url: null,\n          dest: null,\n          action: null\n        };\n        Catalog.parseDestDictionary({\n          destDict: destDict,\n          resultObj: resultObj\n        });\n\n        if (Array.isArray(resultObj.dest)) {\n          if (!openAction) {\n            openAction = Object.create(null);\n          }\n\n          openAction.dest = resultObj.dest;\n        } else if (resultObj.action) {\n          if (!openAction) {\n            openAction = Object.create(null);\n          }\n\n          openAction.action = resultObj.action;\n        }\n      } else if (Array.isArray(obj)) {\n        if (!openAction) {\n          openAction = Object.create(null);\n        }\n\n        openAction.dest = obj;\n      }\n\n      return (0, _util.shadow)(this, \"openAction\", openAction);\n    }\n  }, {\n    key: \"attachments\",\n    get: function get() {\n      var obj = this.catDict.get(\"Names\");\n      var attachments = null;\n\n      if (obj && obj.has(\"EmbeddedFiles\")) {\n        var nameTree = new NameTree(obj.getRaw(\"EmbeddedFiles\"), this.xref);\n        var names = nameTree.getAll();\n\n        for (var name in names) {\n          var fs = new FileSpec(names[name], this.xref);\n\n          if (!attachments) {\n            attachments = Object.create(null);\n          }\n\n          attachments[(0, _util.stringToPDFString)(name)] = fs.serializable;\n        }\n      }\n\n      return (0, _util.shadow)(this, \"attachments\", attachments);\n    }\n  }, {\n    key: \"javaScript\",\n    get: function get() {\n      var obj = this.catDict.get(\"Names\");\n      var javaScript = null;\n\n      function appendIfJavaScriptDict(jsDict) {\n        var type = jsDict.get(\"S\");\n\n        if (!(0, _primitives.isName)(type, \"JavaScript\")) {\n          return;\n        }\n\n        var js = jsDict.get(\"JS\");\n\n        if ((0, _primitives.isStream)(js)) {\n          js = (0, _util.bytesToString)(js.getBytes());\n        } else if (!(0, _util.isString)(js)) {\n          return;\n        }\n\n        if (!javaScript) {\n          javaScript = [];\n        }\n\n        javaScript.push((0, _util.stringToPDFString)(js));\n      }\n\n      if (obj && obj.has(\"JavaScript\")) {\n        var nameTree = new NameTree(obj.getRaw(\"JavaScript\"), this.xref);\n        var names = nameTree.getAll();\n\n        for (var name in names) {\n          var jsDict = names[name];\n\n          if ((0, _primitives.isDict)(jsDict)) {\n            appendIfJavaScriptDict(jsDict);\n          }\n        }\n      }\n\n      var openAction = this.catDict.get(\"OpenAction\");\n\n      if ((0, _primitives.isDict)(openAction) && (0, _primitives.isName)(openAction.get(\"S\"), \"JavaScript\")) {\n        appendIfJavaScriptDict(openAction);\n      }\n\n      return (0, _util.shadow)(this, \"javaScript\", javaScript);\n    }\n  }], [{\n    key: \"parseDestDictionary\",\n    value: function parseDestDictionary(params) {\n      function addDefaultProtocolToUrl(url) {\n        return url.startsWith(\"www.\") ? \"http://\".concat(url) : url;\n      }\n\n      function tryConvertUrlEncoding(url) {\n        try {\n          return (0, _util.stringToUTF8String)(url);\n        } catch (e) {\n          return url;\n        }\n      }\n\n      var destDict = params.destDict;\n\n      if (!(0, _primitives.isDict)(destDict)) {\n        (0, _util.warn)(\"parseDestDictionary: `destDict` must be a dictionary.\");\n        return;\n      }\n\n      var resultObj = params.resultObj;\n\n      if (_typeof(resultObj) !== \"object\") {\n        (0, _util.warn)(\"parseDestDictionary: `resultObj` must be an object.\");\n        return;\n      }\n\n      var docBaseUrl = params.docBaseUrl || null;\n      var action = destDict.get(\"A\"),\n          url,\n          dest;\n\n      if (!(0, _primitives.isDict)(action) && destDict.has(\"Dest\")) {\n        action = destDict.get(\"Dest\");\n      }\n\n      if ((0, _primitives.isDict)(action)) {\n        var actionType = action.get(\"S\");\n\n        if (!(0, _primitives.isName)(actionType)) {\n          (0, _util.warn)(\"parseDestDictionary: Invalid type in Action dictionary.\");\n          return;\n        }\n\n        var actionName = actionType.name;\n\n        switch (actionName) {\n          case \"URI\":\n            url = action.get(\"URI\");\n\n            if ((0, _primitives.isName)(url)) {\n              url = \"/\" + url.name;\n            } else if ((0, _util.isString)(url)) {\n              url = addDefaultProtocolToUrl(url);\n            }\n\n            break;\n\n          case \"GoTo\":\n            dest = action.get(\"D\");\n            break;\n\n          case \"Launch\":\n          case \"GoToR\":\n            var urlDict = action.get(\"F\");\n\n            if ((0, _primitives.isDict)(urlDict)) {\n              url = urlDict.get(\"F\") || null;\n            } else if ((0, _util.isString)(urlDict)) {\n              url = urlDict;\n            }\n\n            var remoteDest = action.get(\"D\");\n\n            if (remoteDest) {\n              if ((0, _primitives.isName)(remoteDest)) {\n                remoteDest = remoteDest.name;\n              }\n\n              if ((0, _util.isString)(url)) {\n                var baseUrl = url.split(\"#\")[0];\n\n                if ((0, _util.isString)(remoteDest)) {\n                  url = baseUrl + \"#\" + remoteDest;\n                } else if (Array.isArray(remoteDest)) {\n                  url = baseUrl + \"#\" + JSON.stringify(remoteDest);\n                }\n              }\n            }\n\n            var newWindow = action.get(\"NewWindow\");\n\n            if ((0, _util.isBool)(newWindow)) {\n              resultObj.newWindow = newWindow;\n            }\n\n            break;\n\n          case \"Named\":\n            var namedAction = action.get(\"N\");\n\n            if ((0, _primitives.isName)(namedAction)) {\n              resultObj.action = namedAction.name;\n            }\n\n            break;\n\n          case \"JavaScript\":\n            var jsAction = action.get(\"JS\");\n            var js;\n\n            if ((0, _primitives.isStream)(jsAction)) {\n              js = (0, _util.bytesToString)(jsAction.getBytes());\n            } else if ((0, _util.isString)(jsAction)) {\n              js = jsAction;\n            }\n\n            if (js) {\n              var URL_OPEN_METHODS = [\"app.launchURL\", \"window.open\"];\n              var regex = new RegExp(\"^\\\\s*(\" + URL_OPEN_METHODS.join(\"|\").split(\".\").join(\"\\\\.\") + \")\\\\((?:'|\\\")([^'\\\"]*)(?:'|\\\")(?:,\\\\s*(\\\\w+)\\\\)|\\\\))\", \"i\");\n              var jsUrl = regex.exec((0, _util.stringToPDFString)(js));\n\n              if (jsUrl && jsUrl[2]) {\n                url = jsUrl[2];\n\n                if (jsUrl[3] === \"true\" && jsUrl[1] === \"app.launchURL\") {\n                  resultObj.newWindow = true;\n                }\n\n                break;\n              }\n            }\n\n          default:\n            (0, _util.warn)(\"parseDestDictionary: unsupported action type \\\"\".concat(actionName, \"\\\".\"));\n            break;\n        }\n      } else if (destDict.has(\"Dest\")) {\n        dest = destDict.get(\"Dest\");\n      }\n\n      if ((0, _util.isString)(url)) {\n        url = tryConvertUrlEncoding(url);\n        var absoluteUrl = (0, _util.createValidAbsoluteUrl)(url, docBaseUrl);\n\n        if (absoluteUrl) {\n          resultObj.url = absoluteUrl.href;\n        }\n\n        resultObj.unsafeUrl = url;\n      }\n\n      if (dest) {\n        if ((0, _primitives.isName)(dest)) {\n          dest = dest.name;\n        }\n\n        if ((0, _util.isString)(dest) || Array.isArray(dest)) {\n          resultObj.dest = dest;\n        }\n      }\n    }\n  }]);\n\n  return Catalog;\n}();\n\nexports.Catalog = Catalog;\n\nvar XRef = function XRefClosure() {\n  function XRef(stream, pdfManager) {\n    this.stream = stream;\n    this.pdfManager = pdfManager;\n    this.entries = [];\n    this.xrefstms = Object.create(null);\n    this._cacheMap = new Map();\n    this.stats = {\n      streamTypes: Object.create(null),\n      fontTypes: Object.create(null)\n    };\n  }\n\n  XRef.prototype = {\n    setStartXRef: function XRef_setStartXRef(startXRef) {\n      this.startXRefQueue = [startXRef];\n    },\n    parse: function XRef_parse(recoveryMode) {\n      var trailerDict;\n\n      if (!recoveryMode) {\n        trailerDict = this.readXRef();\n      } else {\n        (0, _util.warn)(\"Indexing all PDF objects\");\n        trailerDict = this.indexObjects();\n      }\n\n      trailerDict.assignXref(this);\n      this.trailer = trailerDict;\n      var encrypt;\n\n      try {\n        encrypt = trailerDict.get(\"Encrypt\");\n      } catch (ex) {\n        if (ex instanceof _core_utils.MissingDataException) {\n          throw ex;\n        }\n\n        (0, _util.warn)(\"XRef.parse - Invalid \\\"Encrypt\\\" reference: \\\"\".concat(ex, \"\\\".\"));\n      }\n\n      if ((0, _primitives.isDict)(encrypt)) {\n        var ids = trailerDict.get(\"ID\");\n        var fileId = ids && ids.length ? ids[0] : \"\";\n        encrypt.suppressEncryption = true;\n        this.encrypt = new _crypto.CipherTransformFactory(encrypt, fileId, this.pdfManager.password);\n      }\n\n      var root;\n\n      try {\n        root = trailerDict.get(\"Root\");\n      } catch (ex) {\n        if (ex instanceof _core_utils.MissingDataException) {\n          throw ex;\n        }\n\n        (0, _util.warn)(\"XRef.parse - Invalid \\\"Root\\\" reference: \\\"\".concat(ex, \"\\\".\"));\n      }\n\n      if ((0, _primitives.isDict)(root) && root.has(\"Pages\")) {\n        this.root = root;\n      } else {\n        if (!recoveryMode) {\n          throw new _core_utils.XRefParseException();\n        }\n\n        throw new _util.FormatError(\"Invalid root reference\");\n      }\n    },\n    processXRefTable: function XRef_processXRefTable(parser) {\n      if (!(\"tableState\" in this)) {\n        this.tableState = {\n          entryNum: 0,\n          streamPos: parser.lexer.stream.pos,\n          parserBuf1: parser.buf1,\n          parserBuf2: parser.buf2\n        };\n      }\n\n      var obj = this.readXRefTable(parser);\n\n      if (!(0, _primitives.isCmd)(obj, \"trailer\")) {\n        throw new _util.FormatError(\"Invalid XRef table: could not find trailer dictionary\");\n      }\n\n      var dict = parser.getObj();\n\n      if (!(0, _primitives.isDict)(dict) && dict.dict) {\n        dict = dict.dict;\n      }\n\n      if (!(0, _primitives.isDict)(dict)) {\n        throw new _util.FormatError(\"Invalid XRef table: could not parse trailer dictionary\");\n      }\n\n      delete this.tableState;\n      return dict;\n    },\n    readXRefTable: function XRef_readXRefTable(parser) {\n      var stream = parser.lexer.stream;\n      var tableState = this.tableState;\n      stream.pos = tableState.streamPos;\n      parser.buf1 = tableState.parserBuf1;\n      parser.buf2 = tableState.parserBuf2;\n      var obj;\n\n      while (true) {\n        if (!(\"firstEntryNum\" in tableState) || !(\"entryCount\" in tableState)) {\n          if ((0, _primitives.isCmd)(obj = parser.getObj(), \"trailer\")) {\n            break;\n          }\n\n          tableState.firstEntryNum = obj;\n          tableState.entryCount = parser.getObj();\n        }\n\n        var first = tableState.firstEntryNum;\n        var count = tableState.entryCount;\n\n        if (!Number.isInteger(first) || !Number.isInteger(count)) {\n          throw new _util.FormatError(\"Invalid XRef table: wrong types in subsection header\");\n        }\n\n        for (var i = tableState.entryNum; i < count; i++) {\n          tableState.streamPos = stream.pos;\n          tableState.entryNum = i;\n          tableState.parserBuf1 = parser.buf1;\n          tableState.parserBuf2 = parser.buf2;\n          var entry = {};\n          entry.offset = parser.getObj();\n          entry.gen = parser.getObj();\n          var type = parser.getObj();\n\n          if (type instanceof _primitives.Cmd) {\n            switch (type.cmd) {\n              case \"f\":\n                entry.free = true;\n                break;\n\n              case \"n\":\n                entry.uncompressed = true;\n                break;\n            }\n          }\n\n          if (!Number.isInteger(entry.offset) || !Number.isInteger(entry.gen) || !(entry.free || entry.uncompressed)) {\n            throw new _util.FormatError(\"Invalid entry in XRef subsection: \".concat(first, \", \").concat(count));\n          }\n\n          if (i === 0 && entry.free && first === 1) {\n            first = 0;\n          }\n\n          if (!this.entries[i + first]) {\n            this.entries[i + first] = entry;\n          }\n        }\n\n        tableState.entryNum = 0;\n        tableState.streamPos = stream.pos;\n        tableState.parserBuf1 = parser.buf1;\n        tableState.parserBuf2 = parser.buf2;\n        delete tableState.firstEntryNum;\n        delete tableState.entryCount;\n      }\n\n      if (this.entries[0] && !this.entries[0].free) {\n        throw new _util.FormatError(\"Invalid XRef table: unexpected first object\");\n      }\n\n      return obj;\n    },\n    processXRefStream: function XRef_processXRefStream(stream) {\n      if (!(\"streamState\" in this)) {\n        var streamParameters = stream.dict;\n        var byteWidths = streamParameters.get(\"W\");\n        var range = streamParameters.get(\"Index\");\n\n        if (!range) {\n          range = [0, streamParameters.get(\"Size\")];\n        }\n\n        this.streamState = {\n          entryRanges: range,\n          byteWidths: byteWidths,\n          entryNum: 0,\n          streamPos: stream.pos\n        };\n      }\n\n      this.readXRefStream(stream);\n      delete this.streamState;\n      return stream.dict;\n    },\n    readXRefStream: function XRef_readXRefStream(stream) {\n      var i, j;\n      var streamState = this.streamState;\n      stream.pos = streamState.streamPos;\n      var byteWidths = streamState.byteWidths;\n      var typeFieldWidth = byteWidths[0];\n      var offsetFieldWidth = byteWidths[1];\n      var generationFieldWidth = byteWidths[2];\n      var entryRanges = streamState.entryRanges;\n\n      while (entryRanges.length > 0) {\n        var first = entryRanges[0];\n        var n = entryRanges[1];\n\n        if (!Number.isInteger(first) || !Number.isInteger(n)) {\n          throw new _util.FormatError(\"Invalid XRef range fields: \".concat(first, \", \").concat(n));\n        }\n\n        if (!Number.isInteger(typeFieldWidth) || !Number.isInteger(offsetFieldWidth) || !Number.isInteger(generationFieldWidth)) {\n          throw new _util.FormatError(\"Invalid XRef entry fields length: \".concat(first, \", \").concat(n));\n        }\n\n        for (i = streamState.entryNum; i < n; ++i) {\n          streamState.entryNum = i;\n          streamState.streamPos = stream.pos;\n          var type = 0,\n              offset = 0,\n              generation = 0;\n\n          for (j = 0; j < typeFieldWidth; ++j) {\n            type = type << 8 | stream.getByte();\n          }\n\n          if (typeFieldWidth === 0) {\n            type = 1;\n          }\n\n          for (j = 0; j < offsetFieldWidth; ++j) {\n            offset = offset << 8 | stream.getByte();\n          }\n\n          for (j = 0; j < generationFieldWidth; ++j) {\n            generation = generation << 8 | stream.getByte();\n          }\n\n          var entry = {};\n          entry.offset = offset;\n          entry.gen = generation;\n\n          switch (type) {\n            case 0:\n              entry.free = true;\n              break;\n\n            case 1:\n              entry.uncompressed = true;\n              break;\n\n            case 2:\n              break;\n\n            default:\n              throw new _util.FormatError(\"Invalid XRef entry type: \".concat(type));\n          }\n\n          if (!this.entries[first + i]) {\n            this.entries[first + i] = entry;\n          }\n        }\n\n        streamState.entryNum = 0;\n        streamState.streamPos = stream.pos;\n        entryRanges.splice(0, 2);\n      }\n    },\n    indexObjects: function XRef_indexObjects() {\n      var TAB = 0x9,\n          LF = 0xa,\n          CR = 0xd,\n          SPACE = 0x20;\n      var PERCENT = 0x25,\n          LT = 0x3c;\n\n      function readToken(data, offset) {\n        var token = \"\",\n            ch = data[offset];\n\n        while (ch !== LF && ch !== CR && ch !== LT) {\n          if (++offset >= data.length) {\n            break;\n          }\n\n          token += String.fromCharCode(ch);\n          ch = data[offset];\n        }\n\n        return token;\n      }\n\n      function skipUntil(data, offset, what) {\n        var length = what.length,\n            dataLength = data.length;\n        var skipped = 0;\n\n        while (offset < dataLength) {\n          var i = 0;\n\n          while (i < length && data[offset + i] === what[i]) {\n            ++i;\n          }\n\n          if (i >= length) {\n            break;\n          }\n\n          offset++;\n          skipped++;\n        }\n\n        return skipped;\n      }\n\n      var objRegExp = /^(\\d+)\\s+(\\d+)\\s+obj\\b/;\n      var endobjRegExp = /\\bendobj[\\b\\s]$/;\n      var nestedObjRegExp = /\\s+(\\d+\\s+\\d+\\s+obj[\\b\\s<])$/;\n      var CHECK_CONTENT_LENGTH = 25;\n      var trailerBytes = new Uint8Array([116, 114, 97, 105, 108, 101, 114]);\n      var startxrefBytes = new Uint8Array([115, 116, 97, 114, 116, 120, 114, 101, 102]);\n      var objBytes = new Uint8Array([111, 98, 106]);\n      var xrefBytes = new Uint8Array([47, 88, 82, 101, 102]);\n      this.entries.length = 0;\n      var stream = this.stream;\n      stream.pos = 0;\n      var buffer = stream.getBytes();\n      var position = stream.start,\n          length = buffer.length;\n      var trailers = [],\n          xrefStms = [];\n\n      while (position < length) {\n        var ch = buffer[position];\n\n        if (ch === TAB || ch === LF || ch === CR || ch === SPACE) {\n          ++position;\n          continue;\n        }\n\n        if (ch === PERCENT) {\n          do {\n            ++position;\n\n            if (position >= length) {\n              break;\n            }\n\n            ch = buffer[position];\n          } while (ch !== LF && ch !== CR);\n\n          continue;\n        }\n\n        var token = readToken(buffer, position);\n        var m;\n\n        if (token.startsWith(\"xref\") && (token.length === 4 || /\\s/.test(token[4]))) {\n          position += skipUntil(buffer, position, trailerBytes);\n          trailers.push(position);\n          position += skipUntil(buffer, position, startxrefBytes);\n        } else if (m = objRegExp.exec(token)) {\n          var num = m[1] | 0,\n              gen = m[2] | 0;\n\n          if (!this.entries[num] || this.entries[num].gen === gen) {\n            this.entries[num] = {\n              offset: position - stream.start,\n              gen: gen,\n              uncompressed: true\n            };\n          }\n\n          var contentLength = void 0,\n              startPos = position + token.length;\n\n          while (startPos < buffer.length) {\n            var endPos = startPos + skipUntil(buffer, startPos, objBytes) + 4;\n            contentLength = endPos - position;\n            var checkPos = Math.max(endPos - CHECK_CONTENT_LENGTH, startPos);\n            var tokenStr = (0, _util.bytesToString)(buffer.subarray(checkPos, endPos));\n\n            if (endobjRegExp.test(tokenStr)) {\n              break;\n            } else {\n              var objToken = nestedObjRegExp.exec(tokenStr);\n\n              if (objToken && objToken[1]) {\n                (0, _util.warn)('indexObjects: Found new \"obj\" inside of another \"obj\", ' + 'caused by missing \"endobj\" -- trying to recover.');\n                contentLength -= objToken[1].length;\n                break;\n              }\n            }\n\n            startPos = endPos;\n          }\n\n          var content = buffer.subarray(position, position + contentLength);\n          var xrefTagOffset = skipUntil(content, 0, xrefBytes);\n\n          if (xrefTagOffset < contentLength && content[xrefTagOffset + 5] < 64) {\n            xrefStms.push(position - stream.start);\n            this.xrefstms[position - stream.start] = 1;\n          }\n\n          position += contentLength;\n        } else if (token.startsWith(\"trailer\") && (token.length === 7 || /\\s/.test(token[7]))) {\n          trailers.push(position);\n          position += skipUntil(buffer, position, startxrefBytes);\n        } else {\n          position += token.length + 1;\n        }\n      }\n\n      var i, ii;\n\n      for (i = 0, ii = xrefStms.length; i < ii; ++i) {\n        this.startXRefQueue.push(xrefStms[i]);\n        this.readXRef(true);\n      }\n\n      var trailerDict;\n\n      for (i = 0, ii = trailers.length; i < ii; ++i) {\n        stream.pos = trailers[i];\n        var parser = new _parser.Parser({\n          lexer: new _parser.Lexer(stream),\n          xref: this,\n          allowStreams: true,\n          recoveryMode: true\n        });\n        var obj = parser.getObj();\n\n        if (!(0, _primitives.isCmd)(obj, \"trailer\")) {\n          continue;\n        }\n\n        var dict = parser.getObj();\n\n        if (!(0, _primitives.isDict)(dict)) {\n          continue;\n        }\n\n        var rootDict = void 0;\n\n        try {\n          rootDict = dict.get(\"Root\");\n        } catch (ex) {\n          if (ex instanceof _core_utils.MissingDataException) {\n            throw ex;\n          }\n\n          continue;\n        }\n\n        if (!(0, _primitives.isDict)(rootDict) || !rootDict.has(\"Pages\")) {\n          continue;\n        }\n\n        if (dict.has(\"ID\")) {\n          return dict;\n        }\n\n        trailerDict = dict;\n      }\n\n      if (trailerDict) {\n        return trailerDict;\n      }\n\n      throw new _util.InvalidPDFException(\"Invalid PDF structure.\");\n    },\n    readXRef: function XRef_readXRef(recoveryMode) {\n      var stream = this.stream;\n      var startXRefParsedCache = Object.create(null);\n\n      try {\n        while (this.startXRefQueue.length) {\n          var startXRef = this.startXRefQueue[0];\n\n          if (startXRefParsedCache[startXRef]) {\n            (0, _util.warn)(\"readXRef - skipping XRef table since it was already parsed.\");\n            this.startXRefQueue.shift();\n            continue;\n          }\n\n          startXRefParsedCache[startXRef] = true;\n          stream.pos = startXRef + stream.start;\n          var parser = new _parser.Parser({\n            lexer: new _parser.Lexer(stream),\n            xref: this,\n            allowStreams: true\n          });\n          var obj = parser.getObj();\n          var dict;\n\n          if ((0, _primitives.isCmd)(obj, \"xref\")) {\n            dict = this.processXRefTable(parser);\n\n            if (!this.topDict) {\n              this.topDict = dict;\n            }\n\n            obj = dict.get(\"XRefStm\");\n\n            if (Number.isInteger(obj)) {\n              var pos = obj;\n\n              if (!(pos in this.xrefstms)) {\n                this.xrefstms[pos] = 1;\n                this.startXRefQueue.push(pos);\n              }\n            }\n          } else if (Number.isInteger(obj)) {\n            if (!Number.isInteger(parser.getObj()) || !(0, _primitives.isCmd)(parser.getObj(), \"obj\") || !(0, _primitives.isStream)(obj = parser.getObj())) {\n              throw new _util.FormatError(\"Invalid XRef stream\");\n            }\n\n            dict = this.processXRefStream(obj);\n\n            if (!this.topDict) {\n              this.topDict = dict;\n            }\n\n            if (!dict) {\n              throw new _util.FormatError(\"Failed to read XRef stream\");\n            }\n          } else {\n            throw new _util.FormatError(\"Invalid XRef stream header\");\n          }\n\n          obj = dict.get(\"Prev\");\n\n          if (Number.isInteger(obj)) {\n            this.startXRefQueue.push(obj);\n          } else if ((0, _primitives.isRef)(obj)) {\n            this.startXRefQueue.push(obj.num);\n          }\n\n          this.startXRefQueue.shift();\n        }\n\n        return this.topDict;\n      } catch (e) {\n        if (e instanceof _core_utils.MissingDataException) {\n          throw e;\n        }\n\n        (0, _util.info)(\"(while reading XRef): \" + e);\n      }\n\n      if (recoveryMode) {\n        return undefined;\n      }\n\n      throw new _core_utils.XRefParseException();\n    },\n    getEntry: function XRef_getEntry(i) {\n      var xrefEntry = this.entries[i];\n\n      if (xrefEntry && !xrefEntry.free && xrefEntry.offset) {\n        return xrefEntry;\n      }\n\n      return null;\n    },\n    fetchIfRef: function XRef_fetchIfRef(obj, suppressEncryption) {\n      if (obj instanceof _primitives.Ref) {\n        return this.fetch(obj, suppressEncryption);\n      }\n\n      return obj;\n    },\n    fetch: function XRef_fetch(ref, suppressEncryption) {\n      if (!(ref instanceof _primitives.Ref)) {\n        throw new Error(\"ref object is not a reference\");\n      }\n\n      var num = ref.num;\n\n      var cacheEntry = this._cacheMap.get(num);\n\n      if (cacheEntry !== undefined) {\n        if (cacheEntry instanceof _primitives.Dict && !cacheEntry.objId) {\n          cacheEntry.objId = ref.toString();\n        }\n\n        return cacheEntry;\n      }\n\n      var xrefEntry = this.getEntry(num);\n\n      if (xrefEntry === null) {\n        this._cacheMap.set(num, xrefEntry);\n\n        return xrefEntry;\n      }\n\n      if (xrefEntry.uncompressed) {\n        xrefEntry = this.fetchUncompressed(ref, xrefEntry, suppressEncryption);\n      } else {\n        xrefEntry = this.fetchCompressed(ref, xrefEntry, suppressEncryption);\n      }\n\n      if ((0, _primitives.isDict)(xrefEntry)) {\n        xrefEntry.objId = ref.toString();\n      } else if ((0, _primitives.isStream)(xrefEntry)) {\n        xrefEntry.dict.objId = ref.toString();\n      }\n\n      return xrefEntry;\n    },\n    fetchUncompressed: function fetchUncompressed(ref, xrefEntry) {\n      var suppressEncryption = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n      var gen = ref.gen;\n      var num = ref.num;\n\n      if (xrefEntry.gen !== gen) {\n        throw new _core_utils.XRefEntryException(\"Inconsistent generation in XRef: \".concat(ref));\n      }\n\n      var stream = this.stream.makeSubStream(xrefEntry.offset + this.stream.start);\n      var parser = new _parser.Parser({\n        lexer: new _parser.Lexer(stream),\n        xref: this,\n        allowStreams: true\n      });\n      var obj1 = parser.getObj();\n      var obj2 = parser.getObj();\n      var obj3 = parser.getObj();\n\n      if (obj1 !== num || obj2 !== gen || !(obj3 instanceof _primitives.Cmd)) {\n        throw new _core_utils.XRefEntryException(\"Bad (uncompressed) XRef entry: \".concat(ref));\n      }\n\n      if (obj3.cmd !== \"obj\") {\n        if (obj3.cmd.startsWith(\"obj\")) {\n          num = parseInt(obj3.cmd.substring(3), 10);\n\n          if (!Number.isNaN(num)) {\n            return num;\n          }\n        }\n\n        throw new _core_utils.XRefEntryException(\"Bad (uncompressed) XRef entry: \".concat(ref));\n      }\n\n      if (this.encrypt && !suppressEncryption) {\n        xrefEntry = parser.getObj(this.encrypt.createCipherTransform(num, gen));\n      } else {\n        xrefEntry = parser.getObj();\n      }\n\n      if (!(0, _primitives.isStream)(xrefEntry)) {\n        this._cacheMap.set(num, xrefEntry);\n      }\n\n      return xrefEntry;\n    },\n    fetchCompressed: function fetchCompressed(ref, xrefEntry) {\n      var suppressEncryption = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n      var tableOffset = xrefEntry.offset;\n      var stream = this.fetch(_primitives.Ref.get(tableOffset, 0));\n\n      if (!(0, _primitives.isStream)(stream)) {\n        throw new _util.FormatError(\"bad ObjStm stream\");\n      }\n\n      var first = stream.dict.get(\"First\");\n      var n = stream.dict.get(\"N\");\n\n      if (!Number.isInteger(first) || !Number.isInteger(n)) {\n        throw new _util.FormatError(\"invalid first and n parameters for ObjStm stream\");\n      }\n\n      var parser = new _parser.Parser({\n        lexer: new _parser.Lexer(stream),\n        xref: this,\n        allowStreams: true\n      });\n      var nums = new Array(n);\n\n      for (var i = 0; i < n; ++i) {\n        var num = parser.getObj();\n\n        if (!Number.isInteger(num)) {\n          throw new _util.FormatError(\"invalid object number in the ObjStm stream: \".concat(num));\n        }\n\n        var offset = parser.getObj();\n\n        if (!Number.isInteger(offset)) {\n          throw new _util.FormatError(\"invalid object offset in the ObjStm stream: \".concat(offset));\n        }\n\n        nums[i] = num;\n      }\n\n      var entries = new Array(n);\n\n      for (var _i2 = 0; _i2 < n; ++_i2) {\n        var obj = parser.getObj();\n        entries[_i2] = obj;\n\n        if (parser.buf1 instanceof _primitives.Cmd && parser.buf1.cmd === \"endobj\") {\n          parser.shift();\n        }\n\n        if ((0, _primitives.isStream)(obj)) {\n          continue;\n        }\n\n        var _num = nums[_i2],\n            entry = this.entries[_num];\n\n        if (entry && entry.offset === tableOffset && entry.gen === _i2) {\n          this._cacheMap.set(_num, obj);\n        }\n      }\n\n      xrefEntry = entries[xrefEntry.gen];\n\n      if (xrefEntry === undefined) {\n        throw new _core_utils.XRefEntryException(\"Bad (compressed) XRef entry: \".concat(ref));\n      }\n\n      return xrefEntry;\n    },\n    fetchIfRefAsync: function fetchIfRefAsync(obj, suppressEncryption) {\n      var _this3 = this;\n\n      return _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee() {\n        return _regenerator[\"default\"].wrap(function _callee$(_context) {\n          while (1) {\n            switch (_context.prev = _context.next) {\n              case 0:\n                if (!(obj instanceof _primitives.Ref)) {\n                  _context.next = 2;\n                  break;\n                }\n\n                return _context.abrupt(\"return\", _this3.fetchAsync(obj, suppressEncryption));\n\n              case 2:\n                return _context.abrupt(\"return\", obj);\n\n              case 3:\n              case \"end\":\n                return _context.stop();\n            }\n          }\n        }, _callee);\n      }))();\n    },\n    fetchAsync: function fetchAsync(ref, suppressEncryption) {\n      var _this4 = this;\n\n      return _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2() {\n        return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n          while (1) {\n            switch (_context2.prev = _context2.next) {\n              case 0:\n                _context2.prev = 0;\n                return _context2.abrupt(\"return\", _this4.fetch(ref, suppressEncryption));\n\n              case 4:\n                _context2.prev = 4;\n                _context2.t0 = _context2[\"catch\"](0);\n\n                if (_context2.t0 instanceof _core_utils.MissingDataException) {\n                  _context2.next = 8;\n                  break;\n                }\n\n                throw _context2.t0;\n\n              case 8:\n                _context2.next = 10;\n                return _this4.pdfManager.requestRange(_context2.t0.begin, _context2.t0.end);\n\n              case 10:\n                return _context2.abrupt(\"return\", _this4.fetchAsync(ref, suppressEncryption));\n\n              case 11:\n              case \"end\":\n                return _context2.stop();\n            }\n          }\n        }, _callee2, null, [[0, 4]]);\n      }))();\n    },\n    getCatalogObj: function XRef_getCatalogObj() {\n      return this.root;\n    }\n  };\n  return XRef;\n}();\n\nexports.XRef = XRef;\n\nvar NameOrNumberTree = /*#__PURE__*/function () {\n  function NameOrNumberTree(root, xref, type) {\n    _classCallCheck(this, NameOrNumberTree);\n\n    if (this.constructor === NameOrNumberTree) {\n      (0, _util.unreachable)(\"Cannot initialize NameOrNumberTree.\");\n    }\n\n    this.root = root;\n    this.xref = xref;\n    this._type = type;\n  }\n\n  _createClass(NameOrNumberTree, [{\n    key: \"getAll\",\n    value: function getAll() {\n      var dict = Object.create(null);\n\n      if (!this.root) {\n        return dict;\n      }\n\n      var xref = this.xref;\n      var processed = new _primitives.RefSet();\n      processed.put(this.root);\n      var queue = [this.root];\n\n      while (queue.length > 0) {\n        var obj = xref.fetchIfRef(queue.shift());\n\n        if (!(0, _primitives.isDict)(obj)) {\n          continue;\n        }\n\n        if (obj.has(\"Kids\")) {\n          var kids = obj.get(\"Kids\");\n\n          for (var i = 0, ii = kids.length; i < ii; i++) {\n            var kid = kids[i];\n\n            if (processed.has(kid)) {\n              throw new _util.FormatError(\"Duplicate entry in \\\"\".concat(this._type, \"\\\" tree.\"));\n            }\n\n            queue.push(kid);\n            processed.put(kid);\n          }\n\n          continue;\n        }\n\n        var entries = obj.get(this._type);\n\n        if (Array.isArray(entries)) {\n          for (var _i3 = 0, _ii = entries.length; _i3 < _ii; _i3 += 2) {\n            dict[xref.fetchIfRef(entries[_i3])] = xref.fetchIfRef(entries[_i3 + 1]);\n          }\n        }\n      }\n\n      return dict;\n    }\n  }, {\n    key: \"get\",\n    value: function get(key) {\n      if (!this.root) {\n        return null;\n      }\n\n      var xref = this.xref;\n      var kidsOrEntries = xref.fetchIfRef(this.root);\n      var loopCount = 0;\n      var MAX_LEVELS = 10;\n\n      while (kidsOrEntries.has(\"Kids\")) {\n        if (++loopCount > MAX_LEVELS) {\n          (0, _util.warn)(\"Search depth limit reached for \\\"\".concat(this._type, \"\\\" tree.\"));\n          return null;\n        }\n\n        var kids = kidsOrEntries.get(\"Kids\");\n\n        if (!Array.isArray(kids)) {\n          return null;\n        }\n\n        var l = 0,\n            r = kids.length - 1;\n\n        while (l <= r) {\n          var m = l + r >> 1;\n          var kid = xref.fetchIfRef(kids[m]);\n          var limits = kid.get(\"Limits\");\n\n          if (key < xref.fetchIfRef(limits[0])) {\n            r = m - 1;\n          } else if (key > xref.fetchIfRef(limits[1])) {\n            l = m + 1;\n          } else {\n            kidsOrEntries = xref.fetchIfRef(kids[m]);\n            break;\n          }\n        }\n\n        if (l > r) {\n          return null;\n        }\n      }\n\n      var entries = kidsOrEntries.get(this._type);\n\n      if (Array.isArray(entries)) {\n        var _l = 0,\n            _r = entries.length - 2;\n\n        while (_l <= _r) {\n          var tmp = _l + _r >> 1,\n              _m = tmp + (tmp & 1);\n\n          var currentKey = xref.fetchIfRef(entries[_m]);\n\n          if (key < currentKey) {\n            _r = _m - 2;\n          } else if (key > currentKey) {\n            _l = _m + 2;\n          } else {\n            return xref.fetchIfRef(entries[_m + 1]);\n          }\n        }\n\n        (0, _util.info)(\"Falling back to an exhaustive search, for key \\\"\".concat(key, \"\\\", \") + \"in \\\"\".concat(this._type, \"\\\" tree.\"));\n\n        for (var _m2 = 0, mm = entries.length; _m2 < mm; _m2 += 2) {\n          var _currentKey = xref.fetchIfRef(entries[_m2]);\n\n          if (_currentKey === key) {\n            (0, _util.warn)(\"The \\\"\".concat(key, \"\\\" key was found at an incorrect, \") + \"i.e. out-of-order, position in \\\"\".concat(this._type, \"\\\" tree.\"));\n            return xref.fetchIfRef(entries[_m2 + 1]);\n          }\n        }\n      }\n\n      return null;\n    }\n  }]);\n\n  return NameOrNumberTree;\n}();\n\nvar NameTree = /*#__PURE__*/function (_NameOrNumberTree) {\n  _inherits(NameTree, _NameOrNumberTree);\n\n  var _super = _createSuper(NameTree);\n\n  function NameTree(root, xref) {\n    _classCallCheck(this, NameTree);\n\n    return _super.call(this, root, xref, \"Names\");\n  }\n\n  return NameTree;\n}(NameOrNumberTree);\n\nvar NumberTree = /*#__PURE__*/function (_NameOrNumberTree2) {\n  _inherits(NumberTree, _NameOrNumberTree2);\n\n  var _super2 = _createSuper(NumberTree);\n\n  function NumberTree(root, xref) {\n    _classCallCheck(this, NumberTree);\n\n    return _super2.call(this, root, xref, \"Nums\");\n  }\n\n  return NumberTree;\n}(NameOrNumberTree);\n\nvar FileSpec = function FileSpecClosure() {\n  function FileSpec(root, xref) {\n    if (!root || !(0, _primitives.isDict)(root)) {\n      return;\n    }\n\n    this.xref = xref;\n    this.root = root;\n\n    if (root.has(\"FS\")) {\n      this.fs = root.get(\"FS\");\n    }\n\n    this.description = root.has(\"Desc\") ? (0, _util.stringToPDFString)(root.get(\"Desc\")) : \"\";\n\n    if (root.has(\"RF\")) {\n      (0, _util.warn)(\"Related file specifications are not supported\");\n    }\n\n    this.contentAvailable = true;\n\n    if (!root.has(\"EF\")) {\n      this.contentAvailable = false;\n      (0, _util.warn)(\"Non-embedded file specifications are not supported\");\n    }\n  }\n\n  function pickPlatformItem(dict) {\n    if (dict.has(\"UF\")) {\n      return dict.get(\"UF\");\n    } else if (dict.has(\"F\")) {\n      return dict.get(\"F\");\n    } else if (dict.has(\"Unix\")) {\n      return dict.get(\"Unix\");\n    } else if (dict.has(\"Mac\")) {\n      return dict.get(\"Mac\");\n    } else if (dict.has(\"DOS\")) {\n      return dict.get(\"DOS\");\n    }\n\n    return null;\n  }\n\n  FileSpec.prototype = {\n    get filename() {\n      if (!this._filename && this.root) {\n        var filename = pickPlatformItem(this.root) || \"unnamed\";\n        this._filename = (0, _util.stringToPDFString)(filename).replace(/\\\\\\\\/g, \"\\\\\").replace(/\\\\\\//g, \"/\").replace(/\\\\/g, \"/\");\n      }\n\n      return this._filename;\n    },\n\n    get content() {\n      if (!this.contentAvailable) {\n        return null;\n      }\n\n      if (!this.contentRef && this.root) {\n        this.contentRef = pickPlatformItem(this.root.get(\"EF\"));\n      }\n\n      var content = null;\n\n      if (this.contentRef) {\n        var xref = this.xref;\n        var fileObj = xref.fetchIfRef(this.contentRef);\n\n        if (fileObj && (0, _primitives.isStream)(fileObj)) {\n          content = fileObj.getBytes();\n        } else {\n          (0, _util.warn)(\"Embedded file specification points to non-existing/invalid \" + \"content\");\n        }\n      } else {\n        (0, _util.warn)(\"Embedded file specification does not have a content\");\n      }\n\n      return content;\n    },\n\n    get serializable() {\n      return {\n        filename: this.filename,\n        content: this.content\n      };\n    }\n\n  };\n  return FileSpec;\n}();\n\nexports.FileSpec = FileSpec;\n\nvar ObjectLoader = function () {\n  function mayHaveChildren(value) {\n    return value instanceof _primitives.Ref || value instanceof _primitives.Dict || Array.isArray(value) || (0, _primitives.isStream)(value);\n  }\n\n  function addChildren(node, nodesToVisit) {\n    if (node instanceof _primitives.Dict || (0, _primitives.isStream)(node)) {\n      var dict = node instanceof _primitives.Dict ? node : node.dict;\n      var dictKeys = dict.getKeys();\n\n      for (var i = 0, ii = dictKeys.length; i < ii; i++) {\n        var rawValue = dict.getRaw(dictKeys[i]);\n\n        if (mayHaveChildren(rawValue)) {\n          nodesToVisit.push(rawValue);\n        }\n      }\n    } else if (Array.isArray(node)) {\n      for (var _i4 = 0, _ii2 = node.length; _i4 < _ii2; _i4++) {\n        var value = node[_i4];\n\n        if (mayHaveChildren(value)) {\n          nodesToVisit.push(value);\n        }\n      }\n    }\n  }\n\n  function ObjectLoader(dict, keys, xref) {\n    this.dict = dict;\n    this.keys = keys;\n    this.xref = xref;\n    this.refSet = null;\n  }\n\n  ObjectLoader.prototype = {\n    load: function load() {\n      var _this5 = this;\n\n      return _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee3() {\n        var keys, dict, nodesToVisit, i, ii, rawValue;\n        return _regenerator[\"default\"].wrap(function _callee3$(_context3) {\n          while (1) {\n            switch (_context3.prev = _context3.next) {\n              case 0:\n                if (!(!_this5.xref.stream.allChunksLoaded || _this5.xref.stream.allChunksLoaded())) {\n                  _context3.next = 2;\n                  break;\n                }\n\n                return _context3.abrupt(\"return\", undefined);\n\n              case 2:\n                keys = _this5.keys, dict = _this5.dict;\n                _this5.refSet = new _primitives.RefSet();\n                nodesToVisit = [];\n\n                for (i = 0, ii = keys.length; i < ii; i++) {\n                  rawValue = dict.getRaw(keys[i]);\n\n                  if (rawValue !== undefined) {\n                    nodesToVisit.push(rawValue);\n                  }\n                }\n\n                return _context3.abrupt(\"return\", _this5._walk(nodesToVisit));\n\n              case 7:\n              case \"end\":\n                return _context3.stop();\n            }\n          }\n        }, _callee3);\n      }))();\n    },\n    _walk: function _walk(nodesToVisit) {\n      var _this6 = this;\n\n      return _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee4() {\n        var nodesToRevisit, pendingRequests, currentNode, baseStreams, foundMissingData, i, ii, stream, _i5, _ii3, node;\n\n        return _regenerator[\"default\"].wrap(function _callee4$(_context4) {\n          while (1) {\n            switch (_context4.prev = _context4.next) {\n              case 0:\n                nodesToRevisit = [];\n                pendingRequests = [];\n\n              case 2:\n                if (!nodesToVisit.length) {\n                  _context4.next = 22;\n                  break;\n                }\n\n                currentNode = nodesToVisit.pop();\n\n                if (!(currentNode instanceof _primitives.Ref)) {\n                  _context4.next = 18;\n                  break;\n                }\n\n                if (!_this6.refSet.has(currentNode)) {\n                  _context4.next = 7;\n                  break;\n                }\n\n                return _context4.abrupt(\"continue\", 2);\n\n              case 7:\n                _context4.prev = 7;\n\n                _this6.refSet.put(currentNode);\n\n                currentNode = _this6.xref.fetch(currentNode);\n                _context4.next = 18;\n                break;\n\n              case 12:\n                _context4.prev = 12;\n                _context4.t0 = _context4[\"catch\"](7);\n\n                if (_context4.t0 instanceof _core_utils.MissingDataException) {\n                  _context4.next = 16;\n                  break;\n                }\n\n                throw _context4.t0;\n\n              case 16:\n                nodesToRevisit.push(currentNode);\n                pendingRequests.push({\n                  begin: _context4.t0.begin,\n                  end: _context4.t0.end\n                });\n\n              case 18:\n                if (currentNode && currentNode.getBaseStreams) {\n                  baseStreams = currentNode.getBaseStreams();\n                  foundMissingData = false;\n\n                  for (i = 0, ii = baseStreams.length; i < ii; i++) {\n                    stream = baseStreams[i];\n\n                    if (stream.allChunksLoaded && !stream.allChunksLoaded()) {\n                      foundMissingData = true;\n                      pendingRequests.push({\n                        begin: stream.start,\n                        end: stream.end\n                      });\n                    }\n                  }\n\n                  if (foundMissingData) {\n                    nodesToRevisit.push(currentNode);\n                  }\n                }\n\n                addChildren(currentNode, nodesToVisit);\n                _context4.next = 2;\n                break;\n\n              case 22:\n                if (!pendingRequests.length) {\n                  _context4.next = 27;\n                  break;\n                }\n\n                _context4.next = 25;\n                return _this6.xref.stream.manager.requestRanges(pendingRequests);\n\n              case 25:\n                for (_i5 = 0, _ii3 = nodesToRevisit.length; _i5 < _ii3; _i5++) {\n                  node = nodesToRevisit[_i5];\n\n                  if (node instanceof _primitives.Ref) {\n                    _this6.refSet.remove(node);\n                  }\n                }\n\n                return _context4.abrupt(\"return\", _this6._walk(nodesToRevisit));\n\n              case 27:\n                _this6.refSet = null;\n                return _context4.abrupt(\"return\", undefined);\n\n              case 29:\n              case \"end\":\n                return _context4.stop();\n            }\n          }\n        }, _callee4, null, [[7, 12]]);\n      }))();\n    }\n  };\n  return ObjectLoader;\n}();\n\nexports.ObjectLoader = ObjectLoader;\n\n/***/ }),\n/* 204 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.Parser = exports.Linearization = exports.Lexer = void 0;\n\nvar _stream = __w_pdfjs_require__(205);\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _primitives = __w_pdfjs_require__(198);\n\nvar _core_utils = __w_pdfjs_require__(201);\n\nvar _ccitt_stream = __w_pdfjs_require__(206);\n\nvar _jbig2_stream = __w_pdfjs_require__(208);\n\nvar _jpeg_stream = __w_pdfjs_require__(211);\n\nvar _jpx_stream = __w_pdfjs_require__(213);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar MAX_LENGTH_TO_CACHE = 1000;\nvar MAX_ADLER32_LENGTH = 5552;\n\nfunction computeAdler32(bytes) {\n  var bytesLength = bytes.length;\n  var a = 1,\n      b = 0;\n\n  for (var i = 0; i < bytesLength; ++i) {\n    a += bytes[i] & 0xff;\n    b += a;\n  }\n\n  return b % 65521 << 16 | a % 65521;\n}\n\nvar Parser = /*#__PURE__*/function () {\n  function Parser(_ref) {\n    var lexer = _ref.lexer,\n        xref = _ref.xref,\n        _ref$allowStreams = _ref.allowStreams,\n        allowStreams = _ref$allowStreams === void 0 ? false : _ref$allowStreams,\n        _ref$recoveryMode = _ref.recoveryMode,\n        recoveryMode = _ref$recoveryMode === void 0 ? false : _ref$recoveryMode;\n\n    _classCallCheck(this, Parser);\n\n    this.lexer = lexer;\n    this.xref = xref;\n    this.allowStreams = allowStreams;\n    this.recoveryMode = recoveryMode;\n    this.imageCache = Object.create(null);\n    this.refill();\n  }\n\n  _createClass(Parser, [{\n    key: \"refill\",\n    value: function refill() {\n      this.buf1 = this.lexer.getObj();\n      this.buf2 = this.lexer.getObj();\n    }\n  }, {\n    key: \"shift\",\n    value: function shift() {\n      if (this.buf2 instanceof _primitives.Cmd && this.buf2.cmd === \"ID\") {\n        this.buf1 = this.buf2;\n        this.buf2 = null;\n      } else {\n        this.buf1 = this.buf2;\n        this.buf2 = this.lexer.getObj();\n      }\n    }\n  }, {\n    key: \"tryShift\",\n    value: function tryShift() {\n      try {\n        this.shift();\n        return true;\n      } catch (e) {\n        if (e instanceof _core_utils.MissingDataException) {\n          throw e;\n        }\n\n        return false;\n      }\n    }\n  }, {\n    key: \"getObj\",\n    value: function getObj() {\n      var cipherTransform = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n      var buf1 = this.buf1;\n      this.shift();\n\n      if (buf1 instanceof _primitives.Cmd) {\n        switch (buf1.cmd) {\n          case \"BI\":\n            return this.makeInlineImage(cipherTransform);\n\n          case \"[\":\n            var array = [];\n\n            while (!(0, _primitives.isCmd)(this.buf1, \"]\") && !(0, _primitives.isEOF)(this.buf1)) {\n              array.push(this.getObj(cipherTransform));\n            }\n\n            if ((0, _primitives.isEOF)(this.buf1)) {\n              if (!this.recoveryMode) {\n                throw new _util.FormatError(\"End of file inside array\");\n              }\n\n              return array;\n            }\n\n            this.shift();\n            return array;\n\n          case \"<<\":\n            var dict = new _primitives.Dict(this.xref);\n\n            while (!(0, _primitives.isCmd)(this.buf1, \">>\") && !(0, _primitives.isEOF)(this.buf1)) {\n              if (!(0, _primitives.isName)(this.buf1)) {\n                (0, _util.info)(\"Malformed dictionary: key must be a name object\");\n                this.shift();\n                continue;\n              }\n\n              var key = this.buf1.name;\n              this.shift();\n\n              if ((0, _primitives.isEOF)(this.buf1)) {\n                break;\n              }\n\n              dict.set(key, this.getObj(cipherTransform));\n            }\n\n            if ((0, _primitives.isEOF)(this.buf1)) {\n              if (!this.recoveryMode) {\n                throw new _util.FormatError(\"End of file inside dictionary\");\n              }\n\n              return dict;\n            }\n\n            if ((0, _primitives.isCmd)(this.buf2, \"stream\")) {\n              return this.allowStreams ? this.makeStream(dict, cipherTransform) : dict;\n            }\n\n            this.shift();\n            return dict;\n\n          default:\n            return buf1;\n        }\n      }\n\n      if (Number.isInteger(buf1)) {\n        if (Number.isInteger(this.buf1) && (0, _primitives.isCmd)(this.buf2, \"R\")) {\n          var ref = _primitives.Ref.get(buf1, this.buf1);\n\n          this.shift();\n          this.shift();\n          return ref;\n        }\n\n        return buf1;\n      }\n\n      if (typeof buf1 === \"string\") {\n        if (cipherTransform) {\n          return cipherTransform.decryptString(buf1);\n        }\n\n        return buf1;\n      }\n\n      return buf1;\n    }\n  }, {\n    key: \"findDefaultInlineStreamEnd\",\n    value: function findDefaultInlineStreamEnd(stream) {\n      var E = 0x45,\n          I = 0x49,\n          SPACE = 0x20,\n          LF = 0xa,\n          CR = 0xd;\n      var n = 10,\n          NUL = 0x0;\n      var startPos = stream.pos;\n      var state = 0,\n          ch,\n          maybeEIPos;\n\n      while ((ch = stream.getByte()) !== -1) {\n        if (state === 0) {\n          state = ch === E ? 1 : 0;\n        } else if (state === 1) {\n          state = ch === I ? 2 : 0;\n        } else {\n          (0, _util.assert)(state === 2, \"findDefaultInlineStreamEnd - invalid state.\");\n\n          if (ch === SPACE || ch === LF || ch === CR) {\n            maybeEIPos = stream.pos;\n            var followingBytes = stream.peekBytes(n);\n\n            for (var i = 0, ii = followingBytes.length; i < ii; i++) {\n              ch = followingBytes[i];\n\n              if (ch === NUL && followingBytes[i + 1] !== NUL) {\n                continue;\n              }\n\n              if (ch !== LF && ch !== CR && (ch < SPACE || ch > 0x7f)) {\n                state = 0;\n                break;\n              }\n            }\n\n            if (state === 2) {\n              break;\n            }\n          } else {\n            state = 0;\n          }\n        }\n      }\n\n      if (ch === -1) {\n        (0, _util.warn)(\"findDefaultInlineStreamEnd: \" + \"Reached the end of the stream without finding a valid EI marker\");\n\n        if (maybeEIPos) {\n          (0, _util.warn)('... trying to recover by using the last \"EI\" occurrence.');\n          stream.skip(-(stream.pos - maybeEIPos));\n        }\n      }\n\n      var endOffset = 4;\n      stream.skip(-endOffset);\n      ch = stream.peekByte();\n      stream.skip(endOffset);\n\n      if (!(0, _core_utils.isWhiteSpace)(ch)) {\n        endOffset--;\n      }\n\n      return stream.pos - endOffset - startPos;\n    }\n  }, {\n    key: \"findDCTDecodeInlineStreamEnd\",\n    value: function findDCTDecodeInlineStreamEnd(stream) {\n      var startPos = stream.pos;\n      var foundEOI = false,\n          b,\n          markerLength;\n\n      while ((b = stream.getByte()) !== -1) {\n        if (b !== 0xff) {\n          continue;\n        }\n\n        switch (stream.getByte()) {\n          case 0x00:\n            break;\n\n          case 0xff:\n            stream.skip(-1);\n            break;\n\n          case 0xd9:\n            foundEOI = true;\n            break;\n\n          case 0xc0:\n          case 0xc1:\n          case 0xc2:\n          case 0xc3:\n          case 0xc5:\n          case 0xc6:\n          case 0xc7:\n          case 0xc9:\n          case 0xca:\n          case 0xcb:\n          case 0xcd:\n          case 0xce:\n          case 0xcf:\n          case 0xc4:\n          case 0xcc:\n          case 0xda:\n          case 0xdb:\n          case 0xdc:\n          case 0xdd:\n          case 0xde:\n          case 0xdf:\n          case 0xe0:\n          case 0xe1:\n          case 0xe2:\n          case 0xe3:\n          case 0xe4:\n          case 0xe5:\n          case 0xe6:\n          case 0xe7:\n          case 0xe8:\n          case 0xe9:\n          case 0xea:\n          case 0xeb:\n          case 0xec:\n          case 0xed:\n          case 0xee:\n          case 0xef:\n          case 0xfe:\n            markerLength = stream.getUint16();\n\n            if (markerLength > 2) {\n              stream.skip(markerLength - 2);\n            } else {\n              stream.skip(-2);\n            }\n\n            break;\n        }\n\n        if (foundEOI) {\n          break;\n        }\n      }\n\n      var length = stream.pos - startPos;\n\n      if (b === -1) {\n        (0, _util.warn)(\"Inline DCTDecode image stream: \" + \"EOI marker not found, searching for /EI/ instead.\");\n        stream.skip(-length);\n        return this.findDefaultInlineStreamEnd(stream);\n      }\n\n      this.inlineStreamSkipEI(stream);\n      return length;\n    }\n  }, {\n    key: \"findASCII85DecodeInlineStreamEnd\",\n    value: function findASCII85DecodeInlineStreamEnd(stream) {\n      var TILDE = 0x7e,\n          GT = 0x3e;\n      var startPos = stream.pos;\n      var ch;\n\n      while ((ch = stream.getByte()) !== -1) {\n        if (ch === TILDE) {\n          var tildePos = stream.pos;\n          ch = stream.peekByte();\n\n          while ((0, _core_utils.isWhiteSpace)(ch)) {\n            stream.skip();\n            ch = stream.peekByte();\n          }\n\n          if (ch === GT) {\n            stream.skip();\n            break;\n          }\n\n          if (stream.pos > tildePos) {\n            var maybeEI = stream.peekBytes(2);\n\n            if (maybeEI[0] === 0x45 && maybeEI[1] === 0x49) {\n              break;\n            }\n          }\n        }\n      }\n\n      var length = stream.pos - startPos;\n\n      if (ch === -1) {\n        (0, _util.warn)(\"Inline ASCII85Decode image stream: \" + \"EOD marker not found, searching for /EI/ instead.\");\n        stream.skip(-length);\n        return this.findDefaultInlineStreamEnd(stream);\n      }\n\n      this.inlineStreamSkipEI(stream);\n      return length;\n    }\n  }, {\n    key: \"findASCIIHexDecodeInlineStreamEnd\",\n    value: function findASCIIHexDecodeInlineStreamEnd(stream) {\n      var GT = 0x3e;\n      var startPos = stream.pos;\n      var ch;\n\n      while ((ch = stream.getByte()) !== -1) {\n        if (ch === GT) {\n          break;\n        }\n      }\n\n      var length = stream.pos - startPos;\n\n      if (ch === -1) {\n        (0, _util.warn)(\"Inline ASCIIHexDecode image stream: \" + \"EOD marker not found, searching for /EI/ instead.\");\n        stream.skip(-length);\n        return this.findDefaultInlineStreamEnd(stream);\n      }\n\n      this.inlineStreamSkipEI(stream);\n      return length;\n    }\n  }, {\n    key: \"inlineStreamSkipEI\",\n    value: function inlineStreamSkipEI(stream) {\n      var E = 0x45,\n          I = 0x49;\n      var state = 0,\n          ch;\n\n      while ((ch = stream.getByte()) !== -1) {\n        if (state === 0) {\n          state = ch === E ? 1 : 0;\n        } else if (state === 1) {\n          state = ch === I ? 2 : 0;\n        } else if (state === 2) {\n          break;\n        }\n      }\n    }\n  }, {\n    key: \"makeInlineImage\",\n    value: function makeInlineImage(cipherTransform) {\n      var lexer = this.lexer;\n      var stream = lexer.stream;\n      var dict = new _primitives.Dict(this.xref);\n      var dictLength;\n\n      while (!(0, _primitives.isCmd)(this.buf1, \"ID\") && !(0, _primitives.isEOF)(this.buf1)) {\n        if (!(0, _primitives.isName)(this.buf1)) {\n          throw new _util.FormatError(\"Dictionary key must be a name object\");\n        }\n\n        var key = this.buf1.name;\n        this.shift();\n\n        if ((0, _primitives.isEOF)(this.buf1)) {\n          break;\n        }\n\n        dict.set(key, this.getObj(cipherTransform));\n      }\n\n      if (lexer.beginInlineImagePos !== -1) {\n        dictLength = stream.pos - lexer.beginInlineImagePos;\n      }\n\n      var filter = dict.get(\"Filter\", \"F\");\n      var filterName;\n\n      if ((0, _primitives.isName)(filter)) {\n        filterName = filter.name;\n      } else if (Array.isArray(filter)) {\n        var filterZero = this.xref.fetchIfRef(filter[0]);\n\n        if ((0, _primitives.isName)(filterZero)) {\n          filterName = filterZero.name;\n        }\n      }\n\n      var startPos = stream.pos;\n      var length;\n\n      if (filterName === \"DCTDecode\" || filterName === \"DCT\") {\n        length = this.findDCTDecodeInlineStreamEnd(stream);\n      } else if (filterName === \"ASCII85Decode\" || filterName === \"A85\") {\n        length = this.findASCII85DecodeInlineStreamEnd(stream);\n      } else if (filterName === \"ASCIIHexDecode\" || filterName === \"AHx\") {\n        length = this.findASCIIHexDecodeInlineStreamEnd(stream);\n      } else {\n        length = this.findDefaultInlineStreamEnd(stream);\n      }\n\n      var imageStream = stream.makeSubStream(startPos, length, dict);\n      var cacheKey;\n\n      if (length < MAX_LENGTH_TO_CACHE && dictLength < MAX_ADLER32_LENGTH) {\n        var imageBytes = imageStream.getBytes();\n        imageStream.reset();\n        var initialStreamPos = stream.pos;\n        stream.pos = lexer.beginInlineImagePos;\n        var dictBytes = stream.getBytes(dictLength);\n        stream.pos = initialStreamPos;\n        cacheKey = computeAdler32(imageBytes) + \"_\" + computeAdler32(dictBytes);\n        var cacheEntry = this.imageCache[cacheKey];\n\n        if (cacheEntry !== undefined) {\n          this.buf2 = _primitives.Cmd.get(\"EI\");\n          this.shift();\n          cacheEntry.reset();\n          return cacheEntry;\n        }\n      }\n\n      if (cipherTransform) {\n        imageStream = cipherTransform.createStream(imageStream, length);\n      }\n\n      imageStream = this.filter(imageStream, dict, length);\n      imageStream.dict = dict;\n\n      if (cacheKey !== undefined) {\n        imageStream.cacheKey = \"inline_\".concat(length, \"_\").concat(cacheKey);\n        this.imageCache[cacheKey] = imageStream;\n      }\n\n      this.buf2 = _primitives.Cmd.get(\"EI\");\n      this.shift();\n      return imageStream;\n    }\n  }, {\n    key: \"_findStreamLength\",\n    value: function _findStreamLength(startPos, signature) {\n      var stream = this.lexer.stream;\n      stream.pos = startPos;\n      var SCAN_BLOCK_LENGTH = 2048;\n      var signatureLength = signature.length;\n\n      while (stream.pos < stream.end) {\n        var scanBytes = stream.peekBytes(SCAN_BLOCK_LENGTH);\n        var scanLength = scanBytes.length - signatureLength;\n\n        if (scanLength <= 0) {\n          break;\n        }\n\n        var pos = 0;\n\n        while (pos < scanLength) {\n          var j = 0;\n\n          while (j < signatureLength && scanBytes[pos + j] === signature[j]) {\n            j++;\n          }\n\n          if (j >= signatureLength) {\n            stream.pos += pos;\n            return stream.pos - startPos;\n          }\n\n          pos++;\n        }\n\n        stream.pos += scanLength;\n      }\n\n      return -1;\n    }\n  }, {\n    key: \"makeStream\",\n    value: function makeStream(dict, cipherTransform) {\n      var lexer = this.lexer;\n      var stream = lexer.stream;\n      lexer.skipToNextLine();\n      var startPos = stream.pos - 1;\n      var length = dict.get(\"Length\");\n\n      if (!Number.isInteger(length)) {\n        (0, _util.info)(\"Bad length \\\"\".concat(length, \"\\\" in stream\"));\n        length = 0;\n      }\n\n      stream.pos = startPos + length;\n      lexer.nextChar();\n\n      if (this.tryShift() && (0, _primitives.isCmd)(this.buf2, \"endstream\")) {\n        this.shift();\n      } else {\n        var ENDSTREAM_SIGNATURE = new Uint8Array([0x65, 0x6E, 0x64, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6D]);\n\n        var actualLength = this._findStreamLength(startPos, ENDSTREAM_SIGNATURE);\n\n        if (actualLength < 0) {\n          var MAX_TRUNCATION = 1;\n\n          for (var i = 1; i <= MAX_TRUNCATION; i++) {\n            var end = ENDSTREAM_SIGNATURE.length - i;\n            var TRUNCATED_SIGNATURE = ENDSTREAM_SIGNATURE.slice(0, end);\n\n            var maybeLength = this._findStreamLength(startPos, TRUNCATED_SIGNATURE);\n\n            if (maybeLength >= 0) {\n              var lastByte = stream.peekBytes(end + 1)[end];\n\n              if (!(0, _core_utils.isWhiteSpace)(lastByte)) {\n                break;\n              }\n\n              (0, _util.info)(\"Found \\\"\".concat((0, _util.bytesToString)(TRUNCATED_SIGNATURE), \"\\\" when \") + \"searching for endstream command.\");\n              actualLength = maybeLength;\n              break;\n            }\n          }\n\n          if (actualLength < 0) {\n            throw new _util.FormatError(\"Missing endstream command.\");\n          }\n        }\n\n        length = actualLength;\n        lexer.nextChar();\n        this.shift();\n        this.shift();\n      }\n\n      this.shift();\n      stream = stream.makeSubStream(startPos, length, dict);\n\n      if (cipherTransform) {\n        stream = cipherTransform.createStream(stream, length);\n      }\n\n      stream = this.filter(stream, dict, length);\n      stream.dict = dict;\n      return stream;\n    }\n  }, {\n    key: \"filter\",\n    value: function filter(stream, dict, length) {\n      var filter = dict.get(\"Filter\", \"F\");\n      var params = dict.get(\"DecodeParms\", \"DP\");\n\n      if ((0, _primitives.isName)(filter)) {\n        if (Array.isArray(params)) {\n          (0, _util.warn)(\"/DecodeParms should not contain an Array, \" + \"when /Filter contains a Name.\");\n        }\n\n        return this.makeFilter(stream, filter.name, length, params);\n      }\n\n      var maybeLength = length;\n\n      if (Array.isArray(filter)) {\n        var filterArray = filter;\n        var paramsArray = params;\n\n        for (var i = 0, ii = filterArray.length; i < ii; ++i) {\n          filter = this.xref.fetchIfRef(filterArray[i]);\n\n          if (!(0, _primitives.isName)(filter)) {\n            throw new _util.FormatError(\"Bad filter name \\\"\".concat(filter, \"\\\"\"));\n          }\n\n          params = null;\n\n          if (Array.isArray(paramsArray) && i in paramsArray) {\n            params = this.xref.fetchIfRef(paramsArray[i]);\n          }\n\n          stream = this.makeFilter(stream, filter.name, maybeLength, params);\n          maybeLength = null;\n        }\n      }\n\n      return stream;\n    }\n  }, {\n    key: \"makeFilter\",\n    value: function makeFilter(stream, name, maybeLength, params) {\n      if (maybeLength === 0) {\n        (0, _util.warn)(\"Empty \\\"\".concat(name, \"\\\" stream.\"));\n        return new _stream.NullStream();\n      }\n\n      try {\n        var xrefStreamStats = this.xref.stats.streamTypes;\n\n        if (name === \"FlateDecode\" || name === \"Fl\") {\n          xrefStreamStats[_util.StreamType.FLATE] = true;\n\n          if (params) {\n            return new _stream.PredictorStream(new _stream.FlateStream(stream, maybeLength), maybeLength, params);\n          }\n\n          return new _stream.FlateStream(stream, maybeLength);\n        }\n\n        if (name === \"LZWDecode\" || name === \"LZW\") {\n          xrefStreamStats[_util.StreamType.LZW] = true;\n          var earlyChange = 1;\n\n          if (params) {\n            if (params.has(\"EarlyChange\")) {\n              earlyChange = params.get(\"EarlyChange\");\n            }\n\n            return new _stream.PredictorStream(new _stream.LZWStream(stream, maybeLength, earlyChange), maybeLength, params);\n          }\n\n          return new _stream.LZWStream(stream, maybeLength, earlyChange);\n        }\n\n        if (name === \"DCTDecode\" || name === \"DCT\") {\n          xrefStreamStats[_util.StreamType.DCT] = true;\n          return new _jpeg_stream.JpegStream(stream, maybeLength, stream.dict, params);\n        }\n\n        if (name === \"JPXDecode\" || name === \"JPX\") {\n          xrefStreamStats[_util.StreamType.JPX] = true;\n          return new _jpx_stream.JpxStream(stream, maybeLength, stream.dict, params);\n        }\n\n        if (name === \"ASCII85Decode\" || name === \"A85\") {\n          xrefStreamStats[_util.StreamType.A85] = true;\n          return new _stream.Ascii85Stream(stream, maybeLength);\n        }\n\n        if (name === \"ASCIIHexDecode\" || name === \"AHx\") {\n          xrefStreamStats[_util.StreamType.AHX] = true;\n          return new _stream.AsciiHexStream(stream, maybeLength);\n        }\n\n        if (name === \"CCITTFaxDecode\" || name === \"CCF\") {\n          xrefStreamStats[_util.StreamType.CCF] = true;\n          return new _ccitt_stream.CCITTFaxStream(stream, maybeLength, params);\n        }\n\n        if (name === \"RunLengthDecode\" || name === \"RL\") {\n          xrefStreamStats[_util.StreamType.RLX] = true;\n          return new _stream.RunLengthStream(stream, maybeLength);\n        }\n\n        if (name === \"JBIG2Decode\") {\n          xrefStreamStats[_util.StreamType.JBIG] = true;\n          return new _jbig2_stream.Jbig2Stream(stream, maybeLength, stream.dict, params);\n        }\n\n        (0, _util.warn)(\"Filter \\\"\".concat(name, \"\\\" is not supported.\"));\n        return stream;\n      } catch (ex) {\n        if (ex instanceof _core_utils.MissingDataException) {\n          throw ex;\n        }\n\n        (0, _util.warn)(\"Invalid stream: \\\"\".concat(ex, \"\\\"\"));\n        return new _stream.NullStream();\n      }\n    }\n  }]);\n\n  return Parser;\n}();\n\nexports.Parser = Parser;\nvar specialChars = [1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 2, 0, 0, 2, 2, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n\nfunction toHexDigit(ch) {\n  if (ch >= 0x30 && ch <= 0x39) {\n    return ch & 0x0f;\n  }\n\n  if (ch >= 0x41 && ch <= 0x46 || ch >= 0x61 && ch <= 0x66) {\n    return (ch & 0x0f) + 9;\n  }\n\n  return -1;\n}\n\nvar Lexer = /*#__PURE__*/function () {\n  function Lexer(stream) {\n    var knownCommands = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n    _classCallCheck(this, Lexer);\n\n    this.stream = stream;\n    this.nextChar();\n    this.strBuf = [];\n    this.knownCommands = knownCommands;\n    this._hexStringNumWarn = 0;\n    this.beginInlineImagePos = -1;\n  }\n\n  _createClass(Lexer, [{\n    key: \"nextChar\",\n    value: function nextChar() {\n      return this.currentChar = this.stream.getByte();\n    }\n  }, {\n    key: \"peekChar\",\n    value: function peekChar() {\n      return this.stream.peekByte();\n    }\n  }, {\n    key: \"getNumber\",\n    value: function getNumber() {\n      var ch = this.currentChar;\n      var eNotation = false;\n      var divideBy = 0;\n      var sign = 0;\n\n      if (ch === 0x2d) {\n        sign = -1;\n        ch = this.nextChar();\n\n        if (ch === 0x2d) {\n          ch = this.nextChar();\n        }\n      } else if (ch === 0x2b) {\n        sign = 1;\n        ch = this.nextChar();\n      }\n\n      if (ch === 0x0a || ch === 0x0d) {\n        do {\n          ch = this.nextChar();\n        } while (ch === 0x0a || ch === 0x0d);\n      }\n\n      if (ch === 0x2e) {\n        divideBy = 10;\n        ch = this.nextChar();\n      }\n\n      if (ch < 0x30 || ch > 0x39) {\n        if (divideBy === 10 && sign === 0 && ((0, _core_utils.isWhiteSpace)(ch) || ch === -1)) {\n          (0, _util.warn)(\"Lexer.getNumber - treating a single decimal point as zero.\");\n          return 0;\n        }\n\n        throw new _util.FormatError(\"Invalid number: \".concat(String.fromCharCode(ch), \" (charCode \").concat(ch, \")\"));\n      }\n\n      sign = sign || 1;\n      var baseValue = ch - 0x30;\n      var powerValue = 0;\n      var powerValueSign = 1;\n\n      while ((ch = this.nextChar()) >= 0) {\n        if (ch >= 0x30 && ch <= 0x39) {\n          var currentDigit = ch - 0x30;\n\n          if (eNotation) {\n            powerValue = powerValue * 10 + currentDigit;\n          } else {\n            if (divideBy !== 0) {\n              divideBy *= 10;\n            }\n\n            baseValue = baseValue * 10 + currentDigit;\n          }\n        } else if (ch === 0x2e) {\n          if (divideBy === 0) {\n            divideBy = 1;\n          } else {\n            break;\n          }\n        } else if (ch === 0x2d) {\n          (0, _util.warn)(\"Badly formatted number: minus sign in the middle\");\n        } else if (ch === 0x45 || ch === 0x65) {\n          ch = this.peekChar();\n\n          if (ch === 0x2b || ch === 0x2d) {\n            powerValueSign = ch === 0x2d ? -1 : 1;\n            this.nextChar();\n          } else if (ch < 0x30 || ch > 0x39) {\n            break;\n          }\n\n          eNotation = true;\n        } else {\n          break;\n        }\n      }\n\n      if (divideBy !== 0) {\n        baseValue /= divideBy;\n      }\n\n      if (eNotation) {\n        baseValue *= Math.pow(10, powerValueSign * powerValue);\n      }\n\n      return sign * baseValue;\n    }\n  }, {\n    key: \"getString\",\n    value: function getString() {\n      var numParen = 1;\n      var done = false;\n      var strBuf = this.strBuf;\n      strBuf.length = 0;\n      var ch = this.nextChar();\n\n      while (true) {\n        var charBuffered = false;\n\n        switch (ch | 0) {\n          case -1:\n            (0, _util.warn)(\"Unterminated string\");\n            done = true;\n            break;\n\n          case 0x28:\n            ++numParen;\n            strBuf.push(\"(\");\n            break;\n\n          case 0x29:\n            if (--numParen === 0) {\n              this.nextChar();\n              done = true;\n            } else {\n              strBuf.push(\")\");\n            }\n\n            break;\n\n          case 0x5c:\n            ch = this.nextChar();\n\n            switch (ch) {\n              case -1:\n                (0, _util.warn)(\"Unterminated string\");\n                done = true;\n                break;\n\n              case 0x6e:\n                strBuf.push(\"\\n\");\n                break;\n\n              case 0x72:\n                strBuf.push(\"\\r\");\n                break;\n\n              case 0x74:\n                strBuf.push(\"\\t\");\n                break;\n\n              case 0x62:\n                strBuf.push(\"\\b\");\n                break;\n\n              case 0x66:\n                strBuf.push(\"\\f\");\n                break;\n\n              case 0x5c:\n              case 0x28:\n              case 0x29:\n                strBuf.push(String.fromCharCode(ch));\n                break;\n\n              case 0x30:\n              case 0x31:\n              case 0x32:\n              case 0x33:\n              case 0x34:\n              case 0x35:\n              case 0x36:\n              case 0x37:\n                var x = ch & 0x0f;\n                ch = this.nextChar();\n                charBuffered = true;\n\n                if (ch >= 0x30 && ch <= 0x37) {\n                  x = (x << 3) + (ch & 0x0f);\n                  ch = this.nextChar();\n\n                  if (ch >= 0x30 && ch <= 0x37) {\n                    charBuffered = false;\n                    x = (x << 3) + (ch & 0x0f);\n                  }\n                }\n\n                strBuf.push(String.fromCharCode(x));\n                break;\n\n              case 0x0d:\n                if (this.peekChar() === 0x0a) {\n                  this.nextChar();\n                }\n\n                break;\n\n              case 0x0a:\n                break;\n\n              default:\n                strBuf.push(String.fromCharCode(ch));\n                break;\n            }\n\n            break;\n\n          default:\n            strBuf.push(String.fromCharCode(ch));\n            break;\n        }\n\n        if (done) {\n          break;\n        }\n\n        if (!charBuffered) {\n          ch = this.nextChar();\n        }\n      }\n\n      return strBuf.join(\"\");\n    }\n  }, {\n    key: \"getName\",\n    value: function getName() {\n      var ch, previousCh;\n      var strBuf = this.strBuf;\n      strBuf.length = 0;\n\n      while ((ch = this.nextChar()) >= 0 && !specialChars[ch]) {\n        if (ch === 0x23) {\n          ch = this.nextChar();\n\n          if (specialChars[ch]) {\n            (0, _util.warn)(\"Lexer_getName: \" + \"NUMBER SIGN (#) should be followed by a hexadecimal number.\");\n            strBuf.push(\"#\");\n            break;\n          }\n\n          var x = toHexDigit(ch);\n\n          if (x !== -1) {\n            previousCh = ch;\n            ch = this.nextChar();\n            var x2 = toHexDigit(ch);\n\n            if (x2 === -1) {\n              (0, _util.warn)(\"Lexer_getName: Illegal digit (\".concat(String.fromCharCode(ch), \") \") + \"in hexadecimal number.\");\n              strBuf.push(\"#\", String.fromCharCode(previousCh));\n\n              if (specialChars[ch]) {\n                break;\n              }\n\n              strBuf.push(String.fromCharCode(ch));\n              continue;\n            }\n\n            strBuf.push(String.fromCharCode(x << 4 | x2));\n          } else {\n            strBuf.push(\"#\", String.fromCharCode(ch));\n          }\n        } else {\n          strBuf.push(String.fromCharCode(ch));\n        }\n      }\n\n      if (strBuf.length > 127) {\n        (0, _util.warn)(\"Name token is longer than allowed by the spec: \".concat(strBuf.length));\n      }\n\n      return _primitives.Name.get(strBuf.join(\"\"));\n    }\n  }, {\n    key: \"_hexStringWarn\",\n    value: function _hexStringWarn(ch) {\n      var MAX_HEX_STRING_NUM_WARN = 5;\n\n      if (this._hexStringNumWarn++ === MAX_HEX_STRING_NUM_WARN) {\n        (0, _util.warn)(\"getHexString - ignoring additional invalid characters.\");\n        return;\n      }\n\n      if (this._hexStringNumWarn > MAX_HEX_STRING_NUM_WARN) {\n        return;\n      }\n\n      (0, _util.warn)(\"getHexString - ignoring invalid character: \".concat(ch));\n    }\n  }, {\n    key: \"getHexString\",\n    value: function getHexString() {\n      var strBuf = this.strBuf;\n      strBuf.length = 0;\n      var ch = this.currentChar;\n      var isFirstHex = true;\n      var firstDigit, secondDigit;\n      this._hexStringNumWarn = 0;\n\n      while (true) {\n        if (ch < 0) {\n          (0, _util.warn)(\"Unterminated hex string\");\n          break;\n        } else if (ch === 0x3e) {\n          this.nextChar();\n          break;\n        } else if (specialChars[ch] === 1) {\n          ch = this.nextChar();\n          continue;\n        } else {\n          if (isFirstHex) {\n            firstDigit = toHexDigit(ch);\n\n            if (firstDigit === -1) {\n              this._hexStringWarn(ch);\n\n              ch = this.nextChar();\n              continue;\n            }\n          } else {\n            secondDigit = toHexDigit(ch);\n\n            if (secondDigit === -1) {\n              this._hexStringWarn(ch);\n\n              ch = this.nextChar();\n              continue;\n            }\n\n            strBuf.push(String.fromCharCode(firstDigit << 4 | secondDigit));\n          }\n\n          isFirstHex = !isFirstHex;\n          ch = this.nextChar();\n        }\n      }\n\n      return strBuf.join(\"\");\n    }\n  }, {\n    key: \"getObj\",\n    value: function getObj() {\n      var comment = false;\n      var ch = this.currentChar;\n\n      while (true) {\n        if (ch < 0) {\n          return _primitives.EOF;\n        }\n\n        if (comment) {\n          if (ch === 0x0a || ch === 0x0d) {\n            comment = false;\n          }\n        } else if (ch === 0x25) {\n          comment = true;\n        } else if (specialChars[ch] !== 1) {\n          break;\n        }\n\n        ch = this.nextChar();\n      }\n\n      switch (ch | 0) {\n        case 0x30:\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n        case 0x2b:\n        case 0x2d:\n        case 0x2e:\n          return this.getNumber();\n\n        case 0x28:\n          return this.getString();\n\n        case 0x2f:\n          return this.getName();\n\n        case 0x5b:\n          this.nextChar();\n          return _primitives.Cmd.get(\"[\");\n\n        case 0x5d:\n          this.nextChar();\n          return _primitives.Cmd.get(\"]\");\n\n        case 0x3c:\n          ch = this.nextChar();\n\n          if (ch === 0x3c) {\n            this.nextChar();\n            return _primitives.Cmd.get(\"<<\");\n          }\n\n          return this.getHexString();\n\n        case 0x3e:\n          ch = this.nextChar();\n\n          if (ch === 0x3e) {\n            this.nextChar();\n            return _primitives.Cmd.get(\">>\");\n          }\n\n          return _primitives.Cmd.get(\">\");\n\n        case 0x7b:\n          this.nextChar();\n          return _primitives.Cmd.get(\"{\");\n\n        case 0x7d:\n          this.nextChar();\n          return _primitives.Cmd.get(\"}\");\n\n        case 0x29:\n          this.nextChar();\n          throw new _util.FormatError(\"Illegal character: \".concat(ch));\n      }\n\n      var str = String.fromCharCode(ch);\n      var knownCommands = this.knownCommands;\n      var knownCommandFound = knownCommands && knownCommands[str] !== undefined;\n\n      while ((ch = this.nextChar()) >= 0 && !specialChars[ch]) {\n        var possibleCommand = str + String.fromCharCode(ch);\n\n        if (knownCommandFound && knownCommands[possibleCommand] === undefined) {\n          break;\n        }\n\n        if (str.length === 128) {\n          throw new _util.FormatError(\"Command token too long: \".concat(str.length));\n        }\n\n        str = possibleCommand;\n        knownCommandFound = knownCommands && knownCommands[str] !== undefined;\n      }\n\n      if (str === \"true\") {\n        return true;\n      }\n\n      if (str === \"false\") {\n        return false;\n      }\n\n      if (str === \"null\") {\n        return null;\n      }\n\n      if (str === \"BI\") {\n        this.beginInlineImagePos = this.stream.pos;\n      }\n\n      return _primitives.Cmd.get(str);\n    }\n  }, {\n    key: \"skipToNextLine\",\n    value: function skipToNextLine() {\n      var ch = this.currentChar;\n\n      while (ch >= 0) {\n        if (ch === 0x0d) {\n          ch = this.nextChar();\n\n          if (ch === 0x0a) {\n            this.nextChar();\n          }\n\n          break;\n        } else if (ch === 0x0a) {\n          this.nextChar();\n          break;\n        }\n\n        ch = this.nextChar();\n      }\n    }\n  }]);\n\n  return Lexer;\n}();\n\nexports.Lexer = Lexer;\n\nvar Linearization = /*#__PURE__*/function () {\n  function Linearization() {\n    _classCallCheck(this, Linearization);\n  }\n\n  _createClass(Linearization, null, [{\n    key: \"create\",\n    value: function create(stream) {\n      function getInt(linDict, name) {\n        var allowZeroValue = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n        var obj = linDict.get(name);\n\n        if (Number.isInteger(obj) && (allowZeroValue ? obj >= 0 : obj > 0)) {\n          return obj;\n        }\n\n        throw new Error(\"The \\\"\".concat(name, \"\\\" parameter in the linearization \") + \"dictionary is invalid.\");\n      }\n\n      function getHints(linDict) {\n        var hints = linDict.get(\"H\");\n        var hintsLength;\n\n        if (Array.isArray(hints) && ((hintsLength = hints.length) === 2 || hintsLength === 4)) {\n          for (var index = 0; index < hintsLength; index++) {\n            var hint = hints[index];\n\n            if (!(Number.isInteger(hint) && hint > 0)) {\n              throw new Error(\"Hint (\".concat(index, \") in the linearization dictionary is invalid.\"));\n            }\n          }\n\n          return hints;\n        }\n\n        throw new Error(\"Hint array in the linearization dictionary is invalid.\");\n      }\n\n      var parser = new Parser({\n        lexer: new Lexer(stream),\n        xref: null\n      });\n      var obj1 = parser.getObj();\n      var obj2 = parser.getObj();\n      var obj3 = parser.getObj();\n      var linDict = parser.getObj();\n      var obj, length;\n\n      if (!(Number.isInteger(obj1) && Number.isInteger(obj2) && (0, _primitives.isCmd)(obj3, \"obj\") && (0, _primitives.isDict)(linDict) && (0, _util.isNum)(obj = linDict.get(\"Linearized\")) && obj > 0)) {\n        return null;\n      } else if ((length = getInt(linDict, \"L\")) !== stream.length) {\n        throw new Error('The \"L\" parameter in the linearization dictionary ' + \"does not equal the stream length.\");\n      }\n\n      return {\n        length: length,\n        hints: getHints(linDict),\n        objectNumberFirst: getInt(linDict, \"O\"),\n        endFirst: getInt(linDict, \"E\"),\n        numPages: getInt(linDict, \"N\"),\n        mainXRefEntriesOffset: getInt(linDict, \"T\"),\n        pageFirst: linDict.has(\"P\") ? getInt(linDict, \"P\", true) : 0\n      };\n    }\n  }]);\n\n  return Linearization;\n}();\n\nexports.Linearization = Linearization;\n\n/***/ }),\n/* 205 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.LZWStream = exports.StringStream = exports.StreamsSequenceStream = exports.Stream = exports.RunLengthStream = exports.PredictorStream = exports.NullStream = exports.FlateStream = exports.DecodeStream = exports.DecryptStream = exports.AsciiHexStream = exports.Ascii85Stream = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _primitives = __w_pdfjs_require__(198);\n\nvar _core_utils = __w_pdfjs_require__(201);\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nvar Stream = function StreamClosure() {\n  function Stream(arrayBuffer, start, length, dict) {\n    this.bytes = arrayBuffer instanceof Uint8Array ? arrayBuffer : new Uint8Array(arrayBuffer);\n    this.start = start || 0;\n    this.pos = this.start;\n    this.end = start + length || this.bytes.length;\n    this.dict = dict;\n  }\n\n  Stream.prototype = {\n    get length() {\n      return this.end - this.start;\n    },\n\n    get isEmpty() {\n      return this.length === 0;\n    },\n\n    getByte: function Stream_getByte() {\n      if (this.pos >= this.end) {\n        return -1;\n      }\n\n      return this.bytes[this.pos++];\n    },\n    getUint16: function Stream_getUint16() {\n      var b0 = this.getByte();\n      var b1 = this.getByte();\n\n      if (b0 === -1 || b1 === -1) {\n        return -1;\n      }\n\n      return (b0 << 8) + b1;\n    },\n    getInt32: function Stream_getInt32() {\n      var b0 = this.getByte();\n      var b1 = this.getByte();\n      var b2 = this.getByte();\n      var b3 = this.getByte();\n      return (b0 << 24) + (b1 << 16) + (b2 << 8) + b3;\n    },\n    getBytes: function getBytes(length) {\n      var forceClamped = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n      var bytes = this.bytes;\n      var pos = this.pos;\n      var strEnd = this.end;\n\n      if (!length) {\n        var _subarray = bytes.subarray(pos, strEnd);\n\n        return forceClamped ? new Uint8ClampedArray(_subarray) : _subarray;\n      }\n\n      var end = pos + length;\n\n      if (end > strEnd) {\n        end = strEnd;\n      }\n\n      this.pos = end;\n      var subarray = bytes.subarray(pos, end);\n      return forceClamped ? new Uint8ClampedArray(subarray) : subarray;\n    },\n    peekByte: function Stream_peekByte() {\n      var peekedByte = this.getByte();\n\n      if (peekedByte !== -1) {\n        this.pos--;\n      }\n\n      return peekedByte;\n    },\n    peekBytes: function peekBytes(length) {\n      var forceClamped = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n      var bytes = this.getBytes(length, forceClamped);\n      this.pos -= bytes.length;\n      return bytes;\n    },\n    getByteRange: function getByteRange(begin, end) {\n      if (begin < 0) {\n        begin = 0;\n      }\n\n      if (end > this.end) {\n        end = this.end;\n      }\n\n      return this.bytes.subarray(begin, end);\n    },\n    skip: function Stream_skip(n) {\n      if (!n) {\n        n = 1;\n      }\n\n      this.pos += n;\n    },\n    reset: function Stream_reset() {\n      this.pos = this.start;\n    },\n    moveStart: function Stream_moveStart() {\n      this.start = this.pos;\n    },\n    makeSubStream: function Stream_makeSubStream(start, length, dict) {\n      return new Stream(this.bytes.buffer, start, length, dict);\n    }\n  };\n  return Stream;\n}();\n\nexports.Stream = Stream;\n\nvar StringStream = function StringStreamClosure() {\n  function StringStream(str) {\n    var bytes = (0, _util.stringToBytes)(str);\n    Stream.call(this, bytes);\n  }\n\n  StringStream.prototype = Stream.prototype;\n  return StringStream;\n}();\n\nexports.StringStream = StringStream;\n\nvar DecodeStream = function DecodeStreamClosure() {\n  var emptyBuffer = new Uint8Array(0);\n\n  function DecodeStream(maybeMinBufferLength) {\n    this._rawMinBufferLength = maybeMinBufferLength || 0;\n    this.pos = 0;\n    this.bufferLength = 0;\n    this.eof = false;\n    this.buffer = emptyBuffer;\n    this.minBufferLength = 512;\n\n    if (maybeMinBufferLength) {\n      while (this.minBufferLength < maybeMinBufferLength) {\n        this.minBufferLength *= 2;\n      }\n    }\n  }\n\n  DecodeStream.prototype = {\n    get isEmpty() {\n      while (!this.eof && this.bufferLength === 0) {\n        this.readBlock();\n      }\n\n      return this.bufferLength === 0;\n    },\n\n    ensureBuffer: function DecodeStream_ensureBuffer(requested) {\n      var buffer = this.buffer;\n\n      if (requested <= buffer.byteLength) {\n        return buffer;\n      }\n\n      var size = this.minBufferLength;\n\n      while (size < requested) {\n        size *= 2;\n      }\n\n      var buffer2 = new Uint8Array(size);\n      buffer2.set(buffer);\n      return this.buffer = buffer2;\n    },\n    getByte: function DecodeStream_getByte() {\n      var pos = this.pos;\n\n      while (this.bufferLength <= pos) {\n        if (this.eof) {\n          return -1;\n        }\n\n        this.readBlock();\n      }\n\n      return this.buffer[this.pos++];\n    },\n    getUint16: function DecodeStream_getUint16() {\n      var b0 = this.getByte();\n      var b1 = this.getByte();\n\n      if (b0 === -1 || b1 === -1) {\n        return -1;\n      }\n\n      return (b0 << 8) + b1;\n    },\n    getInt32: function DecodeStream_getInt32() {\n      var b0 = this.getByte();\n      var b1 = this.getByte();\n      var b2 = this.getByte();\n      var b3 = this.getByte();\n      return (b0 << 24) + (b1 << 16) + (b2 << 8) + b3;\n    },\n    getBytes: function getBytes(length) {\n      var forceClamped = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n      var end,\n          pos = this.pos;\n\n      if (length) {\n        this.ensureBuffer(pos + length);\n        end = pos + length;\n\n        while (!this.eof && this.bufferLength < end) {\n          this.readBlock();\n        }\n\n        var bufEnd = this.bufferLength;\n\n        if (end > bufEnd) {\n          end = bufEnd;\n        }\n      } else {\n        while (!this.eof) {\n          this.readBlock();\n        }\n\n        end = this.bufferLength;\n      }\n\n      this.pos = end;\n      var subarray = this.buffer.subarray(pos, end);\n      return forceClamped && !(subarray instanceof Uint8ClampedArray) ? new Uint8ClampedArray(subarray) : subarray;\n    },\n    peekByte: function DecodeStream_peekByte() {\n      var peekedByte = this.getByte();\n\n      if (peekedByte !== -1) {\n        this.pos--;\n      }\n\n      return peekedByte;\n    },\n    peekBytes: function peekBytes(length) {\n      var forceClamped = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n      var bytes = this.getBytes(length, forceClamped);\n      this.pos -= bytes.length;\n      return bytes;\n    },\n    makeSubStream: function DecodeStream_makeSubStream(start, length, dict) {\n      var end = start + length;\n\n      while (this.bufferLength <= end && !this.eof) {\n        this.readBlock();\n      }\n\n      return new Stream(this.buffer, start, length, dict);\n    },\n    getByteRange: function getByteRange(begin, end) {\n      (0, _util.unreachable)(\"Should not call DecodeStream.getByteRange\");\n    },\n    skip: function DecodeStream_skip(n) {\n      if (!n) {\n        n = 1;\n      }\n\n      this.pos += n;\n    },\n    reset: function DecodeStream_reset() {\n      this.pos = 0;\n    },\n    getBaseStreams: function DecodeStream_getBaseStreams() {\n      if (this.str && this.str.getBaseStreams) {\n        return this.str.getBaseStreams();\n      }\n\n      return [];\n    }\n  };\n  return DecodeStream;\n}();\n\nexports.DecodeStream = DecodeStream;\n\nvar StreamsSequenceStream = function StreamsSequenceStreamClosure() {\n  function StreamsSequenceStream(streams) {\n    this.streams = streams;\n    var maybeLength = 0;\n\n    for (var i = 0, ii = streams.length; i < ii; i++) {\n      var stream = streams[i];\n\n      if (stream instanceof DecodeStream) {\n        maybeLength += stream._rawMinBufferLength;\n      } else {\n        maybeLength += stream.length;\n      }\n    }\n\n    DecodeStream.call(this, maybeLength);\n  }\n\n  StreamsSequenceStream.prototype = Object.create(DecodeStream.prototype);\n\n  StreamsSequenceStream.prototype.readBlock = function streamSequenceStreamReadBlock() {\n    var streams = this.streams;\n\n    if (streams.length === 0) {\n      this.eof = true;\n      return;\n    }\n\n    var stream = streams.shift();\n    var chunk = stream.getBytes();\n    var bufferLength = this.bufferLength;\n    var newLength = bufferLength + chunk.length;\n    var buffer = this.ensureBuffer(newLength);\n    buffer.set(chunk, bufferLength);\n    this.bufferLength = newLength;\n  };\n\n  StreamsSequenceStream.prototype.getBaseStreams = function StreamsSequenceStream_getBaseStreams() {\n    var baseStreams = [];\n\n    for (var i = 0, ii = this.streams.length; i < ii; i++) {\n      var stream = this.streams[i];\n\n      if (stream.getBaseStreams) {\n        baseStreams.push.apply(baseStreams, _toConsumableArray(stream.getBaseStreams()));\n      }\n    }\n\n    return baseStreams;\n  };\n\n  return StreamsSequenceStream;\n}();\n\nexports.StreamsSequenceStream = StreamsSequenceStream;\n\nvar FlateStream = function FlateStreamClosure() {\n  var codeLenCodeMap = new Int32Array([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]);\n  var lengthDecode = new Int32Array([0x00003, 0x00004, 0x00005, 0x00006, 0x00007, 0x00008, 0x00009, 0x0000a, 0x1000b, 0x1000d, 0x1000f, 0x10011, 0x20013, 0x20017, 0x2001b, 0x2001f, 0x30023, 0x3002b, 0x30033, 0x3003b, 0x40043, 0x40053, 0x40063, 0x40073, 0x50083, 0x500a3, 0x500c3, 0x500e3, 0x00102, 0x00102, 0x00102]);\n  var distDecode = new Int32Array([0x00001, 0x00002, 0x00003, 0x00004, 0x10005, 0x10007, 0x20009, 0x2000d, 0x30011, 0x30019, 0x40021, 0x40031, 0x50041, 0x50061, 0x60081, 0x600c1, 0x70101, 0x70181, 0x80201, 0x80301, 0x90401, 0x90601, 0xa0801, 0xa0c01, 0xb1001, 0xb1801, 0xc2001, 0xc3001, 0xd4001, 0xd6001]);\n  var fixedLitCodeTab = [new Int32Array([0x70100, 0x80050, 0x80010, 0x80118, 0x70110, 0x80070, 0x80030, 0x900c0, 0x70108, 0x80060, 0x80020, 0x900a0, 0x80000, 0x80080, 0x80040, 0x900e0, 0x70104, 0x80058, 0x80018, 0x90090, 0x70114, 0x80078, 0x80038, 0x900d0, 0x7010c, 0x80068, 0x80028, 0x900b0, 0x80008, 0x80088, 0x80048, 0x900f0, 0x70102, 0x80054, 0x80014, 0x8011c, 0x70112, 0x80074, 0x80034, 0x900c8, 0x7010a, 0x80064, 0x80024, 0x900a8, 0x80004, 0x80084, 0x80044, 0x900e8, 0x70106, 0x8005c, 0x8001c, 0x90098, 0x70116, 0x8007c, 0x8003c, 0x900d8, 0x7010e, 0x8006c, 0x8002c, 0x900b8, 0x8000c, 0x8008c, 0x8004c, 0x900f8, 0x70101, 0x80052, 0x80012, 0x8011a, 0x70111, 0x80072, 0x80032, 0x900c4, 0x70109, 0x80062, 0x80022, 0x900a4, 0x80002, 0x80082, 0x80042, 0x900e4, 0x70105, 0x8005a, 0x8001a, 0x90094, 0x70115, 0x8007a, 0x8003a, 0x900d4, 0x7010d, 0x8006a, 0x8002a, 0x900b4, 0x8000a, 0x8008a, 0x8004a, 0x900f4, 0x70103, 0x80056, 0x80016, 0x8011e, 0x70113, 0x80076, 0x80036, 0x900cc, 0x7010b, 0x80066, 0x80026, 0x900ac, 0x80006, 0x80086, 0x80046, 0x900ec, 0x70107, 0x8005e, 0x8001e, 0x9009c, 0x70117, 0x8007e, 0x8003e, 0x900dc, 0x7010f, 0x8006e, 0x8002e, 0x900bc, 0x8000e, 0x8008e, 0x8004e, 0x900fc, 0x70100, 0x80051, 0x80011, 0x80119, 0x70110, 0x80071, 0x80031, 0x900c2, 0x70108, 0x80061, 0x80021, 0x900a2, 0x80001, 0x80081, 0x80041, 0x900e2, 0x70104, 0x80059, 0x80019, 0x90092, 0x70114, 0x80079, 0x80039, 0x900d2, 0x7010c, 0x80069, 0x80029, 0x900b2, 0x80009, 0x80089, 0x80049, 0x900f2, 0x70102, 0x80055, 0x80015, 0x8011d, 0x70112, 0x80075, 0x80035, 0x900ca, 0x7010a, 0x80065, 0x80025, 0x900aa, 0x80005, 0x80085, 0x80045, 0x900ea, 0x70106, 0x8005d, 0x8001d, 0x9009a, 0x70116, 0x8007d, 0x8003d, 0x900da, 0x7010e, 0x8006d, 0x8002d, 0x900ba, 0x8000d, 0x8008d, 0x8004d, 0x900fa, 0x70101, 0x80053, 0x80013, 0x8011b, 0x70111, 0x80073, 0x80033, 0x900c6, 0x70109, 0x80063, 0x80023, 0x900a6, 0x80003, 0x80083, 0x80043, 0x900e6, 0x70105, 0x8005b, 0x8001b, 0x90096, 0x70115, 0x8007b, 0x8003b, 0x900d6, 0x7010d, 0x8006b, 0x8002b, 0x900b6, 0x8000b, 0x8008b, 0x8004b, 0x900f6, 0x70103, 0x80057, 0x80017, 0x8011f, 0x70113, 0x80077, 0x80037, 0x900ce, 0x7010b, 0x80067, 0x80027, 0x900ae, 0x80007, 0x80087, 0x80047, 0x900ee, 0x70107, 0x8005f, 0x8001f, 0x9009e, 0x70117, 0x8007f, 0x8003f, 0x900de, 0x7010f, 0x8006f, 0x8002f, 0x900be, 0x8000f, 0x8008f, 0x8004f, 0x900fe, 0x70100, 0x80050, 0x80010, 0x80118, 0x70110, 0x80070, 0x80030, 0x900c1, 0x70108, 0x80060, 0x80020, 0x900a1, 0x80000, 0x80080, 0x80040, 0x900e1, 0x70104, 0x80058, 0x80018, 0x90091, 0x70114, 0x80078, 0x80038, 0x900d1, 0x7010c, 0x80068, 0x80028, 0x900b1, 0x80008, 0x80088, 0x80048, 0x900f1, 0x70102, 0x80054, 0x80014, 0x8011c, 0x70112, 0x80074, 0x80034, 0x900c9, 0x7010a, 0x80064, 0x80024, 0x900a9, 0x80004, 0x80084, 0x80044, 0x900e9, 0x70106, 0x8005c, 0x8001c, 0x90099, 0x70116, 0x8007c, 0x8003c, 0x900d9, 0x7010e, 0x8006c, 0x8002c, 0x900b9, 0x8000c, 0x8008c, 0x8004c, 0x900f9, 0x70101, 0x80052, 0x80012, 0x8011a, 0x70111, 0x80072, 0x80032, 0x900c5, 0x70109, 0x80062, 0x80022, 0x900a5, 0x80002, 0x80082, 0x80042, 0x900e5, 0x70105, 0x8005a, 0x8001a, 0x90095, 0x70115, 0x8007a, 0x8003a, 0x900d5, 0x7010d, 0x8006a, 0x8002a, 0x900b5, 0x8000a, 0x8008a, 0x8004a, 0x900f5, 0x70103, 0x80056, 0x80016, 0x8011e, 0x70113, 0x80076, 0x80036, 0x900cd, 0x7010b, 0x80066, 0x80026, 0x900ad, 0x80006, 0x80086, 0x80046, 0x900ed, 0x70107, 0x8005e, 0x8001e, 0x9009d, 0x70117, 0x8007e, 0x8003e, 0x900dd, 0x7010f, 0x8006e, 0x8002e, 0x900bd, 0x8000e, 0x8008e, 0x8004e, 0x900fd, 0x70100, 0x80051, 0x80011, 0x80119, 0x70110, 0x80071, 0x80031, 0x900c3, 0x70108, 0x80061, 0x80021, 0x900a3, 0x80001, 0x80081, 0x80041, 0x900e3, 0x70104, 0x80059, 0x80019, 0x90093, 0x70114, 0x80079, 0x80039, 0x900d3, 0x7010c, 0x80069, 0x80029, 0x900b3, 0x80009, 0x80089, 0x80049, 0x900f3, 0x70102, 0x80055, 0x80015, 0x8011d, 0x70112, 0x80075, 0x80035, 0x900cb, 0x7010a, 0x80065, 0x80025, 0x900ab, 0x80005, 0x80085, 0x80045, 0x900eb, 0x70106, 0x8005d, 0x8001d, 0x9009b, 0x70116, 0x8007d, 0x8003d, 0x900db, 0x7010e, 0x8006d, 0x8002d, 0x900bb, 0x8000d, 0x8008d, 0x8004d, 0x900fb, 0x70101, 0x80053, 0x80013, 0x8011b, 0x70111, 0x80073, 0x80033, 0x900c7, 0x70109, 0x80063, 0x80023, 0x900a7, 0x80003, 0x80083, 0x80043, 0x900e7, 0x70105, 0x8005b, 0x8001b, 0x90097, 0x70115, 0x8007b, 0x8003b, 0x900d7, 0x7010d, 0x8006b, 0x8002b, 0x900b7, 0x8000b, 0x8008b, 0x8004b, 0x900f7, 0x70103, 0x80057, 0x80017, 0x8011f, 0x70113, 0x80077, 0x80037, 0x900cf, 0x7010b, 0x80067, 0x80027, 0x900af, 0x80007, 0x80087, 0x80047, 0x900ef, 0x70107, 0x8005f, 0x8001f, 0x9009f, 0x70117, 0x8007f, 0x8003f, 0x900df, 0x7010f, 0x8006f, 0x8002f, 0x900bf, 0x8000f, 0x8008f, 0x8004f, 0x900ff]), 9];\n  var fixedDistCodeTab = [new Int32Array([0x50000, 0x50010, 0x50008, 0x50018, 0x50004, 0x50014, 0x5000c, 0x5001c, 0x50002, 0x50012, 0x5000a, 0x5001a, 0x50006, 0x50016, 0x5000e, 0x00000, 0x50001, 0x50011, 0x50009, 0x50019, 0x50005, 0x50015, 0x5000d, 0x5001d, 0x50003, 0x50013, 0x5000b, 0x5001b, 0x50007, 0x50017, 0x5000f, 0x00000]), 5];\n\n  function FlateStream(str, maybeLength) {\n    this.str = str;\n    this.dict = str.dict;\n    var cmf = str.getByte();\n    var flg = str.getByte();\n\n    if (cmf === -1 || flg === -1) {\n      throw new _util.FormatError(\"Invalid header in flate stream: \".concat(cmf, \", \").concat(flg));\n    }\n\n    if ((cmf & 0x0f) !== 0x08) {\n      throw new _util.FormatError(\"Unknown compression method in flate stream: \".concat(cmf, \", \").concat(flg));\n    }\n\n    if (((cmf << 8) + flg) % 31 !== 0) {\n      throw new _util.FormatError(\"Bad FCHECK in flate stream: \".concat(cmf, \", \").concat(flg));\n    }\n\n    if (flg & 0x20) {\n      throw new _util.FormatError(\"FDICT bit set in flate stream: \".concat(cmf, \", \").concat(flg));\n    }\n\n    this.codeSize = 0;\n    this.codeBuf = 0;\n    DecodeStream.call(this, maybeLength);\n  }\n\n  FlateStream.prototype = Object.create(DecodeStream.prototype);\n\n  FlateStream.prototype.getBits = function FlateStream_getBits(bits) {\n    var str = this.str;\n    var codeSize = this.codeSize;\n    var codeBuf = this.codeBuf;\n    var b;\n\n    while (codeSize < bits) {\n      if ((b = str.getByte()) === -1) {\n        throw new _util.FormatError(\"Bad encoding in flate stream\");\n      }\n\n      codeBuf |= b << codeSize;\n      codeSize += 8;\n    }\n\n    b = codeBuf & (1 << bits) - 1;\n    this.codeBuf = codeBuf >> bits;\n    this.codeSize = codeSize -= bits;\n    return b;\n  };\n\n  FlateStream.prototype.getCode = function FlateStream_getCode(table) {\n    var str = this.str;\n    var codes = table[0];\n    var maxLen = table[1];\n    var codeSize = this.codeSize;\n    var codeBuf = this.codeBuf;\n    var b;\n\n    while (codeSize < maxLen) {\n      if ((b = str.getByte()) === -1) {\n        break;\n      }\n\n      codeBuf |= b << codeSize;\n      codeSize += 8;\n    }\n\n    var code = codes[codeBuf & (1 << maxLen) - 1];\n    var codeLen = code >> 16;\n    var codeVal = code & 0xffff;\n\n    if (codeLen < 1 || codeSize < codeLen) {\n      throw new _util.FormatError(\"Bad encoding in flate stream\");\n    }\n\n    this.codeBuf = codeBuf >> codeLen;\n    this.codeSize = codeSize - codeLen;\n    return codeVal;\n  };\n\n  FlateStream.prototype.generateHuffmanTable = function flateStreamGenerateHuffmanTable(lengths) {\n    var n = lengths.length;\n    var maxLen = 0;\n    var i;\n\n    for (i = 0; i < n; ++i) {\n      if (lengths[i] > maxLen) {\n        maxLen = lengths[i];\n      }\n    }\n\n    var size = 1 << maxLen;\n    var codes = new Int32Array(size);\n\n    for (var len = 1, code = 0, skip = 2; len <= maxLen; ++len, code <<= 1, skip <<= 1) {\n      for (var val = 0; val < n; ++val) {\n        if (lengths[val] === len) {\n          var code2 = 0;\n          var t = code;\n\n          for (i = 0; i < len; ++i) {\n            code2 = code2 << 1 | t & 1;\n            t >>= 1;\n          }\n\n          for (i = code2; i < size; i += skip) {\n            codes[i] = len << 16 | val;\n          }\n\n          ++code;\n        }\n      }\n    }\n\n    return [codes, maxLen];\n  };\n\n  FlateStream.prototype.readBlock = function FlateStream_readBlock() {\n    var buffer, len;\n    var str = this.str;\n    var hdr = this.getBits(3);\n\n    if (hdr & 1) {\n      this.eof = true;\n    }\n\n    hdr >>= 1;\n\n    if (hdr === 0) {\n      var b;\n\n      if ((b = str.getByte()) === -1) {\n        throw new _util.FormatError(\"Bad block header in flate stream\");\n      }\n\n      var blockLen = b;\n\n      if ((b = str.getByte()) === -1) {\n        throw new _util.FormatError(\"Bad block header in flate stream\");\n      }\n\n      blockLen |= b << 8;\n\n      if ((b = str.getByte()) === -1) {\n        throw new _util.FormatError(\"Bad block header in flate stream\");\n      }\n\n      var check = b;\n\n      if ((b = str.getByte()) === -1) {\n        throw new _util.FormatError(\"Bad block header in flate stream\");\n      }\n\n      check |= b << 8;\n\n      if (check !== (~blockLen & 0xffff) && (blockLen !== 0 || check !== 0)) {\n        throw new _util.FormatError(\"Bad uncompressed block length in flate stream\");\n      }\n\n      this.codeBuf = 0;\n      this.codeSize = 0;\n      var bufferLength = this.bufferLength,\n          end = bufferLength + blockLen;\n      buffer = this.ensureBuffer(end);\n      this.bufferLength = end;\n\n      if (blockLen === 0) {\n        if (str.peekByte() === -1) {\n          this.eof = true;\n        }\n      } else {\n        var block = str.getBytes(blockLen);\n        buffer.set(block, bufferLength);\n\n        if (block.length < blockLen) {\n          this.eof = true;\n        }\n      }\n\n      return;\n    }\n\n    var litCodeTable;\n    var distCodeTable;\n\n    if (hdr === 1) {\n      litCodeTable = fixedLitCodeTab;\n      distCodeTable = fixedDistCodeTab;\n    } else if (hdr === 2) {\n      var numLitCodes = this.getBits(5) + 257;\n      var numDistCodes = this.getBits(5) + 1;\n      var numCodeLenCodes = this.getBits(4) + 4;\n      var codeLenCodeLengths = new Uint8Array(codeLenCodeMap.length);\n      var i;\n\n      for (i = 0; i < numCodeLenCodes; ++i) {\n        codeLenCodeLengths[codeLenCodeMap[i]] = this.getBits(3);\n      }\n\n      var codeLenCodeTab = this.generateHuffmanTable(codeLenCodeLengths);\n      len = 0;\n      i = 0;\n      var codes = numLitCodes + numDistCodes;\n      var codeLengths = new Uint8Array(codes);\n      var bitsLength, bitsOffset, what;\n\n      while (i < codes) {\n        var code = this.getCode(codeLenCodeTab);\n\n        if (code === 16) {\n          bitsLength = 2;\n          bitsOffset = 3;\n          what = len;\n        } else if (code === 17) {\n          bitsLength = 3;\n          bitsOffset = 3;\n          what = len = 0;\n        } else if (code === 18) {\n          bitsLength = 7;\n          bitsOffset = 11;\n          what = len = 0;\n        } else {\n          codeLengths[i++] = len = code;\n          continue;\n        }\n\n        var repeatLength = this.getBits(bitsLength) + bitsOffset;\n\n        while (repeatLength-- > 0) {\n          codeLengths[i++] = what;\n        }\n      }\n\n      litCodeTable = this.generateHuffmanTable(codeLengths.subarray(0, numLitCodes));\n      distCodeTable = this.generateHuffmanTable(codeLengths.subarray(numLitCodes, codes));\n    } else {\n      throw new _util.FormatError(\"Unknown block type in flate stream\");\n    }\n\n    buffer = this.buffer;\n    var limit = buffer ? buffer.length : 0;\n    var pos = this.bufferLength;\n\n    while (true) {\n      var code1 = this.getCode(litCodeTable);\n\n      if (code1 < 256) {\n        if (pos + 1 >= limit) {\n          buffer = this.ensureBuffer(pos + 1);\n          limit = buffer.length;\n        }\n\n        buffer[pos++] = code1;\n        continue;\n      }\n\n      if (code1 === 256) {\n        this.bufferLength = pos;\n        return;\n      }\n\n      code1 -= 257;\n      code1 = lengthDecode[code1];\n      var code2 = code1 >> 16;\n\n      if (code2 > 0) {\n        code2 = this.getBits(code2);\n      }\n\n      len = (code1 & 0xffff) + code2;\n      code1 = this.getCode(distCodeTable);\n      code1 = distDecode[code1];\n      code2 = code1 >> 16;\n\n      if (code2 > 0) {\n        code2 = this.getBits(code2);\n      }\n\n      var dist = (code1 & 0xffff) + code2;\n\n      if (pos + len >= limit) {\n        buffer = this.ensureBuffer(pos + len);\n        limit = buffer.length;\n      }\n\n      for (var k = 0; k < len; ++k, ++pos) {\n        buffer[pos] = buffer[pos - dist];\n      }\n    }\n  };\n\n  return FlateStream;\n}();\n\nexports.FlateStream = FlateStream;\n\nvar PredictorStream = function PredictorStreamClosure() {\n  function PredictorStream(str, maybeLength, params) {\n    if (!(0, _primitives.isDict)(params)) {\n      return str;\n    }\n\n    var predictor = this.predictor = params.get(\"Predictor\") || 1;\n\n    if (predictor <= 1) {\n      return str;\n    }\n\n    if (predictor !== 2 && (predictor < 10 || predictor > 15)) {\n      throw new _util.FormatError(\"Unsupported predictor: \".concat(predictor));\n    }\n\n    if (predictor === 2) {\n      this.readBlock = this.readBlockTiff;\n    } else {\n      this.readBlock = this.readBlockPng;\n    }\n\n    this.str = str;\n    this.dict = str.dict;\n    var colors = this.colors = params.get(\"Colors\") || 1;\n    var bits = this.bits = params.get(\"BitsPerComponent\") || 8;\n    var columns = this.columns = params.get(\"Columns\") || 1;\n    this.pixBytes = colors * bits + 7 >> 3;\n    this.rowBytes = columns * colors * bits + 7 >> 3;\n    DecodeStream.call(this, maybeLength);\n    return this;\n  }\n\n  PredictorStream.prototype = Object.create(DecodeStream.prototype);\n\n  PredictorStream.prototype.readBlockTiff = function predictorStreamReadBlockTiff() {\n    var rowBytes = this.rowBytes;\n    var bufferLength = this.bufferLength;\n    var buffer = this.ensureBuffer(bufferLength + rowBytes);\n    var bits = this.bits;\n    var colors = this.colors;\n    var rawBytes = this.str.getBytes(rowBytes);\n    this.eof = !rawBytes.length;\n\n    if (this.eof) {\n      return;\n    }\n\n    var inbuf = 0,\n        outbuf = 0;\n    var inbits = 0,\n        outbits = 0;\n    var pos = bufferLength;\n    var i;\n\n    if (bits === 1 && colors === 1) {\n      for (i = 0; i < rowBytes; ++i) {\n        var c = rawBytes[i] ^ inbuf;\n        c ^= c >> 1;\n        c ^= c >> 2;\n        c ^= c >> 4;\n        inbuf = (c & 1) << 7;\n        buffer[pos++] = c;\n      }\n    } else if (bits === 8) {\n      for (i = 0; i < colors; ++i) {\n        buffer[pos++] = rawBytes[i];\n      }\n\n      for (; i < rowBytes; ++i) {\n        buffer[pos] = buffer[pos - colors] + rawBytes[i];\n        pos++;\n      }\n    } else if (bits === 16) {\n      var bytesPerPixel = colors * 2;\n\n      for (i = 0; i < bytesPerPixel; ++i) {\n        buffer[pos++] = rawBytes[i];\n      }\n\n      for (; i < rowBytes; i += 2) {\n        var sum = ((rawBytes[i] & 0xff) << 8) + (rawBytes[i + 1] & 0xff) + ((buffer[pos - bytesPerPixel] & 0xff) << 8) + (buffer[pos - bytesPerPixel + 1] & 0xff);\n        buffer[pos++] = sum >> 8 & 0xff;\n        buffer[pos++] = sum & 0xff;\n      }\n    } else {\n      var compArray = new Uint8Array(colors + 1);\n      var bitMask = (1 << bits) - 1;\n      var j = 0,\n          k = bufferLength;\n      var columns = this.columns;\n\n      for (i = 0; i < columns; ++i) {\n        for (var kk = 0; kk < colors; ++kk) {\n          if (inbits < bits) {\n            inbuf = inbuf << 8 | rawBytes[j++] & 0xff;\n            inbits += 8;\n          }\n\n          compArray[kk] = compArray[kk] + (inbuf >> inbits - bits) & bitMask;\n          inbits -= bits;\n          outbuf = outbuf << bits | compArray[kk];\n          outbits += bits;\n\n          if (outbits >= 8) {\n            buffer[k++] = outbuf >> outbits - 8 & 0xff;\n            outbits -= 8;\n          }\n        }\n      }\n\n      if (outbits > 0) {\n        buffer[k++] = (outbuf << 8 - outbits) + (inbuf & (1 << 8 - outbits) - 1);\n      }\n    }\n\n    this.bufferLength += rowBytes;\n  };\n\n  PredictorStream.prototype.readBlockPng = function predictorStreamReadBlockPng() {\n    var rowBytes = this.rowBytes;\n    var pixBytes = this.pixBytes;\n    var predictor = this.str.getByte();\n    var rawBytes = this.str.getBytes(rowBytes);\n    this.eof = !rawBytes.length;\n\n    if (this.eof) {\n      return;\n    }\n\n    var bufferLength = this.bufferLength;\n    var buffer = this.ensureBuffer(bufferLength + rowBytes);\n    var prevRow = buffer.subarray(bufferLength - rowBytes, bufferLength);\n\n    if (prevRow.length === 0) {\n      prevRow = new Uint8Array(rowBytes);\n    }\n\n    var i,\n        j = bufferLength,\n        up,\n        c;\n\n    switch (predictor) {\n      case 0:\n        for (i = 0; i < rowBytes; ++i) {\n          buffer[j++] = rawBytes[i];\n        }\n\n        break;\n\n      case 1:\n        for (i = 0; i < pixBytes; ++i) {\n          buffer[j++] = rawBytes[i];\n        }\n\n        for (; i < rowBytes; ++i) {\n          buffer[j] = buffer[j - pixBytes] + rawBytes[i] & 0xff;\n          j++;\n        }\n\n        break;\n\n      case 2:\n        for (i = 0; i < rowBytes; ++i) {\n          buffer[j++] = prevRow[i] + rawBytes[i] & 0xff;\n        }\n\n        break;\n\n      case 3:\n        for (i = 0; i < pixBytes; ++i) {\n          buffer[j++] = (prevRow[i] >> 1) + rawBytes[i];\n        }\n\n        for (; i < rowBytes; ++i) {\n          buffer[j] = (prevRow[i] + buffer[j - pixBytes] >> 1) + rawBytes[i] & 0xff;\n          j++;\n        }\n\n        break;\n\n      case 4:\n        for (i = 0; i < pixBytes; ++i) {\n          up = prevRow[i];\n          c = rawBytes[i];\n          buffer[j++] = up + c;\n        }\n\n        for (; i < rowBytes; ++i) {\n          up = prevRow[i];\n          var upLeft = prevRow[i - pixBytes];\n          var left = buffer[j - pixBytes];\n          var p = left + up - upLeft;\n          var pa = p - left;\n\n          if (pa < 0) {\n            pa = -pa;\n          }\n\n          var pb = p - up;\n\n          if (pb < 0) {\n            pb = -pb;\n          }\n\n          var pc = p - upLeft;\n\n          if (pc < 0) {\n            pc = -pc;\n          }\n\n          c = rawBytes[i];\n\n          if (pa <= pb && pa <= pc) {\n            buffer[j++] = left + c;\n          } else if (pb <= pc) {\n            buffer[j++] = up + c;\n          } else {\n            buffer[j++] = upLeft + c;\n          }\n        }\n\n        break;\n\n      default:\n        throw new _util.FormatError(\"Unsupported predictor: \".concat(predictor));\n    }\n\n    this.bufferLength += rowBytes;\n  };\n\n  return PredictorStream;\n}();\n\nexports.PredictorStream = PredictorStream;\n\nvar DecryptStream = function DecryptStreamClosure() {\n  function DecryptStream(str, maybeLength, decrypt) {\n    this.str = str;\n    this.dict = str.dict;\n    this.decrypt = decrypt;\n    this.nextChunk = null;\n    this.initialized = false;\n    DecodeStream.call(this, maybeLength);\n  }\n\n  var chunkSize = 512;\n  DecryptStream.prototype = Object.create(DecodeStream.prototype);\n\n  DecryptStream.prototype.readBlock = function DecryptStream_readBlock() {\n    var chunk;\n\n    if (this.initialized) {\n      chunk = this.nextChunk;\n    } else {\n      chunk = this.str.getBytes(chunkSize);\n      this.initialized = true;\n    }\n\n    if (!chunk || chunk.length === 0) {\n      this.eof = true;\n      return;\n    }\n\n    this.nextChunk = this.str.getBytes(chunkSize);\n    var hasMoreData = this.nextChunk && this.nextChunk.length > 0;\n    var decrypt = this.decrypt;\n    chunk = decrypt(chunk, !hasMoreData);\n    var bufferLength = this.bufferLength;\n    var i,\n        n = chunk.length;\n    var buffer = this.ensureBuffer(bufferLength + n);\n\n    for (i = 0; i < n; i++) {\n      buffer[bufferLength++] = chunk[i];\n    }\n\n    this.bufferLength = bufferLength;\n  };\n\n  return DecryptStream;\n}();\n\nexports.DecryptStream = DecryptStream;\n\nvar Ascii85Stream = function Ascii85StreamClosure() {\n  function Ascii85Stream(str, maybeLength) {\n    this.str = str;\n    this.dict = str.dict;\n    this.input = new Uint8Array(5);\n\n    if (maybeLength) {\n      maybeLength = 0.8 * maybeLength;\n    }\n\n    DecodeStream.call(this, maybeLength);\n  }\n\n  Ascii85Stream.prototype = Object.create(DecodeStream.prototype);\n\n  Ascii85Stream.prototype.readBlock = function Ascii85Stream_readBlock() {\n    var TILDA_CHAR = 0x7e;\n    var Z_LOWER_CHAR = 0x7a;\n    var EOF = -1;\n    var str = this.str;\n    var c = str.getByte();\n\n    while ((0, _core_utils.isWhiteSpace)(c)) {\n      c = str.getByte();\n    }\n\n    if (c === EOF || c === TILDA_CHAR) {\n      this.eof = true;\n      return;\n    }\n\n    var bufferLength = this.bufferLength,\n        buffer;\n    var i;\n\n    if (c === Z_LOWER_CHAR) {\n      buffer = this.ensureBuffer(bufferLength + 4);\n\n      for (i = 0; i < 4; ++i) {\n        buffer[bufferLength + i] = 0;\n      }\n\n      this.bufferLength += 4;\n    } else {\n      var input = this.input;\n      input[0] = c;\n\n      for (i = 1; i < 5; ++i) {\n        c = str.getByte();\n\n        while ((0, _core_utils.isWhiteSpace)(c)) {\n          c = str.getByte();\n        }\n\n        input[i] = c;\n\n        if (c === EOF || c === TILDA_CHAR) {\n          break;\n        }\n      }\n\n      buffer = this.ensureBuffer(bufferLength + i - 1);\n      this.bufferLength += i - 1;\n\n      if (i < 5) {\n        for (; i < 5; ++i) {\n          input[i] = 0x21 + 84;\n        }\n\n        this.eof = true;\n      }\n\n      var t = 0;\n\n      for (i = 0; i < 5; ++i) {\n        t = t * 85 + (input[i] - 0x21);\n      }\n\n      for (i = 3; i >= 0; --i) {\n        buffer[bufferLength + i] = t & 0xff;\n        t >>= 8;\n      }\n    }\n  };\n\n  return Ascii85Stream;\n}();\n\nexports.Ascii85Stream = Ascii85Stream;\n\nvar AsciiHexStream = function AsciiHexStreamClosure() {\n  function AsciiHexStream(str, maybeLength) {\n    this.str = str;\n    this.dict = str.dict;\n    this.firstDigit = -1;\n\n    if (maybeLength) {\n      maybeLength = 0.5 * maybeLength;\n    }\n\n    DecodeStream.call(this, maybeLength);\n  }\n\n  AsciiHexStream.prototype = Object.create(DecodeStream.prototype);\n\n  AsciiHexStream.prototype.readBlock = function AsciiHexStream_readBlock() {\n    var UPSTREAM_BLOCK_SIZE = 8000;\n    var bytes = this.str.getBytes(UPSTREAM_BLOCK_SIZE);\n\n    if (!bytes.length) {\n      this.eof = true;\n      return;\n    }\n\n    var maxDecodeLength = bytes.length + 1 >> 1;\n    var buffer = this.ensureBuffer(this.bufferLength + maxDecodeLength);\n    var bufferLength = this.bufferLength;\n    var firstDigit = this.firstDigit;\n\n    for (var i = 0, ii = bytes.length; i < ii; i++) {\n      var ch = bytes[i],\n          digit;\n\n      if (ch >= 0x30 && ch <= 0x39) {\n        digit = ch & 0x0f;\n      } else if (ch >= 0x41 && ch <= 0x46 || ch >= 0x61 && ch <= 0x66) {\n        digit = (ch & 0x0f) + 9;\n      } else if (ch === 0x3e) {\n        this.eof = true;\n        break;\n      } else {\n        continue;\n      }\n\n      if (firstDigit < 0) {\n        firstDigit = digit;\n      } else {\n        buffer[bufferLength++] = firstDigit << 4 | digit;\n        firstDigit = -1;\n      }\n    }\n\n    if (firstDigit >= 0 && this.eof) {\n      buffer[bufferLength++] = firstDigit << 4;\n      firstDigit = -1;\n    }\n\n    this.firstDigit = firstDigit;\n    this.bufferLength = bufferLength;\n  };\n\n  return AsciiHexStream;\n}();\n\nexports.AsciiHexStream = AsciiHexStream;\n\nvar RunLengthStream = function RunLengthStreamClosure() {\n  function RunLengthStream(str, maybeLength) {\n    this.str = str;\n    this.dict = str.dict;\n    DecodeStream.call(this, maybeLength);\n  }\n\n  RunLengthStream.prototype = Object.create(DecodeStream.prototype);\n\n  RunLengthStream.prototype.readBlock = function RunLengthStream_readBlock() {\n    var repeatHeader = this.str.getBytes(2);\n\n    if (!repeatHeader || repeatHeader.length < 2 || repeatHeader[0] === 128) {\n      this.eof = true;\n      return;\n    }\n\n    var buffer;\n    var bufferLength = this.bufferLength;\n    var n = repeatHeader[0];\n\n    if (n < 128) {\n      buffer = this.ensureBuffer(bufferLength + n + 1);\n      buffer[bufferLength++] = repeatHeader[1];\n\n      if (n > 0) {\n        var source = this.str.getBytes(n);\n        buffer.set(source, bufferLength);\n        bufferLength += n;\n      }\n    } else {\n      n = 257 - n;\n      var b = repeatHeader[1];\n      buffer = this.ensureBuffer(bufferLength + n + 1);\n\n      for (var i = 0; i < n; i++) {\n        buffer[bufferLength++] = b;\n      }\n    }\n\n    this.bufferLength = bufferLength;\n  };\n\n  return RunLengthStream;\n}();\n\nexports.RunLengthStream = RunLengthStream;\n\nvar LZWStream = function LZWStreamClosure() {\n  function LZWStream(str, maybeLength, earlyChange) {\n    this.str = str;\n    this.dict = str.dict;\n    this.cachedData = 0;\n    this.bitsCached = 0;\n    var maxLzwDictionarySize = 4096;\n    var lzwState = {\n      earlyChange: earlyChange,\n      codeLength: 9,\n      nextCode: 258,\n      dictionaryValues: new Uint8Array(maxLzwDictionarySize),\n      dictionaryLengths: new Uint16Array(maxLzwDictionarySize),\n      dictionaryPrevCodes: new Uint16Array(maxLzwDictionarySize),\n      currentSequence: new Uint8Array(maxLzwDictionarySize),\n      currentSequenceLength: 0\n    };\n\n    for (var i = 0; i < 256; ++i) {\n      lzwState.dictionaryValues[i] = i;\n      lzwState.dictionaryLengths[i] = 1;\n    }\n\n    this.lzwState = lzwState;\n    DecodeStream.call(this, maybeLength);\n  }\n\n  LZWStream.prototype = Object.create(DecodeStream.prototype);\n\n  LZWStream.prototype.readBits = function LZWStream_readBits(n) {\n    var bitsCached = this.bitsCached;\n    var cachedData = this.cachedData;\n\n    while (bitsCached < n) {\n      var c = this.str.getByte();\n\n      if (c === -1) {\n        this.eof = true;\n        return null;\n      }\n\n      cachedData = cachedData << 8 | c;\n      bitsCached += 8;\n    }\n\n    this.bitsCached = bitsCached -= n;\n    this.cachedData = cachedData;\n    this.lastCode = null;\n    return cachedData >>> bitsCached & (1 << n) - 1;\n  };\n\n  LZWStream.prototype.readBlock = function LZWStream_readBlock() {\n    var blockSize = 512;\n    var estimatedDecodedSize = blockSize * 2,\n        decodedSizeDelta = blockSize;\n    var i, j, q;\n    var lzwState = this.lzwState;\n\n    if (!lzwState) {\n      return;\n    }\n\n    var earlyChange = lzwState.earlyChange;\n    var nextCode = lzwState.nextCode;\n    var dictionaryValues = lzwState.dictionaryValues;\n    var dictionaryLengths = lzwState.dictionaryLengths;\n    var dictionaryPrevCodes = lzwState.dictionaryPrevCodes;\n    var codeLength = lzwState.codeLength;\n    var prevCode = lzwState.prevCode;\n    var currentSequence = lzwState.currentSequence;\n    var currentSequenceLength = lzwState.currentSequenceLength;\n    var decodedLength = 0;\n    var currentBufferLength = this.bufferLength;\n    var buffer = this.ensureBuffer(this.bufferLength + estimatedDecodedSize);\n\n    for (i = 0; i < blockSize; i++) {\n      var code = this.readBits(codeLength);\n      var hasPrev = currentSequenceLength > 0;\n\n      if (code < 256) {\n        currentSequence[0] = code;\n        currentSequenceLength = 1;\n      } else if (code >= 258) {\n        if (code < nextCode) {\n          currentSequenceLength = dictionaryLengths[code];\n\n          for (j = currentSequenceLength - 1, q = code; j >= 0; j--) {\n            currentSequence[j] = dictionaryValues[q];\n            q = dictionaryPrevCodes[q];\n          }\n        } else {\n          currentSequence[currentSequenceLength++] = currentSequence[0];\n        }\n      } else if (code === 256) {\n        codeLength = 9;\n        nextCode = 258;\n        currentSequenceLength = 0;\n        continue;\n      } else {\n        this.eof = true;\n        delete this.lzwState;\n        break;\n      }\n\n      if (hasPrev) {\n        dictionaryPrevCodes[nextCode] = prevCode;\n        dictionaryLengths[nextCode] = dictionaryLengths[prevCode] + 1;\n        dictionaryValues[nextCode] = currentSequence[0];\n        nextCode++;\n        codeLength = nextCode + earlyChange & nextCode + earlyChange - 1 ? codeLength : Math.min(Math.log(nextCode + earlyChange) / 0.6931471805599453 + 1, 12) | 0;\n      }\n\n      prevCode = code;\n      decodedLength += currentSequenceLength;\n\n      if (estimatedDecodedSize < decodedLength) {\n        do {\n          estimatedDecodedSize += decodedSizeDelta;\n        } while (estimatedDecodedSize < decodedLength);\n\n        buffer = this.ensureBuffer(this.bufferLength + estimatedDecodedSize);\n      }\n\n      for (j = 0; j < currentSequenceLength; j++) {\n        buffer[currentBufferLength++] = currentSequence[j];\n      }\n    }\n\n    lzwState.nextCode = nextCode;\n    lzwState.codeLength = codeLength;\n    lzwState.prevCode = prevCode;\n    lzwState.currentSequenceLength = currentSequenceLength;\n    this.bufferLength = currentBufferLength;\n  };\n\n  return LZWStream;\n}();\n\nexports.LZWStream = LZWStream;\n\nvar NullStream = function NullStreamClosure() {\n  function NullStream() {\n    Stream.call(this, new Uint8Array(0));\n  }\n\n  NullStream.prototype = Stream.prototype;\n  return NullStream;\n}();\n\nexports.NullStream = NullStream;\n\n/***/ }),\n/* 206 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.CCITTFaxStream = void 0;\n\nvar _primitives = __w_pdfjs_require__(198);\n\nvar _ccitt = __w_pdfjs_require__(207);\n\nvar _stream = __w_pdfjs_require__(205);\n\nvar CCITTFaxStream = function CCITTFaxStreamClosure() {\n  function CCITTFaxStream(str, maybeLength, params) {\n    this.str = str;\n    this.dict = str.dict;\n\n    if (!(0, _primitives.isDict)(params)) {\n      params = _primitives.Dict.empty;\n    }\n\n    var source = {\n      next: function next() {\n        return str.getByte();\n      }\n    };\n    this.ccittFaxDecoder = new _ccitt.CCITTFaxDecoder(source, {\n      K: params.get(\"K\"),\n      EndOfLine: params.get(\"EndOfLine\"),\n      EncodedByteAlign: params.get(\"EncodedByteAlign\"),\n      Columns: params.get(\"Columns\"),\n      Rows: params.get(\"Rows\"),\n      EndOfBlock: params.get(\"EndOfBlock\"),\n      BlackIs1: params.get(\"BlackIs1\")\n    });\n\n    _stream.DecodeStream.call(this, maybeLength);\n  }\n\n  CCITTFaxStream.prototype = Object.create(_stream.DecodeStream.prototype);\n\n  CCITTFaxStream.prototype.readBlock = function () {\n    while (!this.eof) {\n      var c = this.ccittFaxDecoder.readNextChar();\n\n      if (c === -1) {\n        this.eof = true;\n        return;\n      }\n\n      this.ensureBuffer(this.bufferLength + 1);\n      this.buffer[this.bufferLength++] = c;\n    }\n  };\n\n  return CCITTFaxStream;\n}();\n\nexports.CCITTFaxStream = CCITTFaxStream;\n\n/***/ }),\n/* 207 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.CCITTFaxDecoder = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar CCITTFaxDecoder = function CCITTFaxDecoder() {\n  var ccittEOL = -2;\n  var ccittEOF = -1;\n  var twoDimPass = 0;\n  var twoDimHoriz = 1;\n  var twoDimVert0 = 2;\n  var twoDimVertR1 = 3;\n  var twoDimVertL1 = 4;\n  var twoDimVertR2 = 5;\n  var twoDimVertL2 = 6;\n  var twoDimVertR3 = 7;\n  var twoDimVertL3 = 8;\n  var twoDimTable = [[-1, -1], [-1, -1], [7, twoDimVertL3], [7, twoDimVertR3], [6, twoDimVertL2], [6, twoDimVertL2], [6, twoDimVertR2], [6, twoDimVertR2], [4, twoDimPass], [4, twoDimPass], [4, twoDimPass], [4, twoDimPass], [4, twoDimPass], [4, twoDimPass], [4, twoDimPass], [4, twoDimPass], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0]];\n  var whiteTable1 = [[-1, -1], [12, ccittEOL], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [11, 1792], [11, 1792], [12, 1984], [12, 2048], [12, 2112], [12, 2176], [12, 2240], [12, 2304], [11, 1856], [11, 1856], [11, 1920], [11, 1920], [12, 2368], [12, 2432], [12, 2496], [12, 2560]];\n  var whiteTable2 = [[-1, -1], [-1, -1], [-1, -1], [-1, -1], [8, 29], [8, 29], [8, 30], [8, 30], [8, 45], [8, 45], [8, 46], [8, 46], [7, 22], [7, 22], [7, 22], [7, 22], [7, 23], [7, 23], [7, 23], [7, 23], [8, 47], [8, 47], [8, 48], [8, 48], [6, 13], [6, 13], [6, 13], [6, 13], [6, 13], [6, 13], [6, 13], [6, 13], [7, 20], [7, 20], [7, 20], [7, 20], [8, 33], [8, 33], [8, 34], [8, 34], [8, 35], [8, 35], [8, 36], [8, 36], [8, 37], [8, 37], [8, 38], [8, 38], [7, 19], [7, 19], [7, 19], [7, 19], [8, 31], [8, 31], [8, 32], [8, 32], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 12], [6, 12], [6, 12], [6, 12], [6, 12], [6, 12], [6, 12], [6, 12], [8, 53], [8, 53], [8, 54], [8, 54], [7, 26], [7, 26], [7, 26], [7, 26], [8, 39], [8, 39], [8, 40], [8, 40], [8, 41], [8, 41], [8, 42], [8, 42], [8, 43], [8, 43], [8, 44], [8, 44], [7, 21], [7, 21], [7, 21], [7, 21], [7, 28], [7, 28], [7, 28], [7, 28], [8, 61], [8, 61], [8, 62], [8, 62], [8, 63], [8, 63], [8, 0], [8, 0], [8, 320], [8, 320], [8, 384], [8, 384], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [7, 27], [7, 27], [7, 27], [7, 27], [8, 59], [8, 59], [8, 60], [8, 60], [9, 1472], [9, 1536], [9, 1600], [9, 1728], [7, 18], [7, 18], [7, 18], [7, 18], [7, 24], [7, 24], [7, 24], [7, 24], [8, 49], [8, 49], [8, 50], [8, 50], [8, 51], [8, 51], [8, 52], [8, 52], [7, 25], [7, 25], [7, 25], [7, 25], [8, 55], [8, 55], [8, 56], [8, 56], [8, 57], [8, 57], [8, 58], [8, 58], [6, 192], [6, 192], [6, 192], [6, 192], [6, 192], [6, 192], [6, 192], [6, 192], [6, 1664], [6, 1664], [6, 1664], [6, 1664], [6, 1664], [6, 1664], [6, 1664], [6, 1664], [8, 448], [8, 448], [8, 512], [8, 512], [9, 704], [9, 768], [8, 640], [8, 640], [8, 576], [8, 576], [9, 832], [9, 896], [9, 960], [9, 1024], [9, 1088], [9, 1152], [9, 1216], [9, 1280], [9, 1344], [9, 1408], [7, 256], [7, 256], [7, 256], [7, 256], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [6, 16], [6, 16], [6, 16], [6, 16], [6, 16], [6, 16], [6, 16], [6, 16], [6, 17], [6, 17], [6, 17], [6, 17], [6, 17], [6, 17], [6, 17], [6, 17], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [6, 14], [6, 14], [6, 14], [6, 14], [6, 14], [6, 14], [6, 14], [6, 14], [6, 15], [6, 15], [6, 15], [6, 15], [6, 15], [6, 15], [6, 15], [6, 15], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7]];\n  var blackTable1 = [[-1, -1], [-1, -1], [12, ccittEOL], [12, ccittEOL], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [11, 1792], [11, 1792], [11, 1792], [11, 1792], [12, 1984], [12, 1984], [12, 2048], [12, 2048], [12, 2112], [12, 2112], [12, 2176], [12, 2176], [12, 2240], [12, 2240], [12, 2304], [12, 2304], [11, 1856], [11, 1856], [11, 1856], [11, 1856], [11, 1920], [11, 1920], [11, 1920], [11, 1920], [12, 2368], [12, 2368], [12, 2432], [12, 2432], [12, 2496], [12, 2496], [12, 2560], [12, 2560], [10, 18], [10, 18], [10, 18], [10, 18], [10, 18], [10, 18], [10, 18], [10, 18], [12, 52], [12, 52], [13, 640], [13, 704], [13, 768], [13, 832], [12, 55], [12, 55], [12, 56], [12, 56], [13, 1280], [13, 1344], [13, 1408], [13, 1472], [12, 59], [12, 59], [12, 60], [12, 60], [13, 1536], [13, 1600], [11, 24], [11, 24], [11, 24], [11, 24], [11, 25], [11, 25], [11, 25], [11, 25], [13, 1664], [13, 1728], [12, 320], [12, 320], [12, 384], [12, 384], [12, 448], [12, 448], [13, 512], [13, 576], [12, 53], [12, 53], [12, 54], [12, 54], [13, 896], [13, 960], [13, 1024], [13, 1088], [13, 1152], [13, 1216], [10, 64], [10, 64], [10, 64], [10, 64], [10, 64], [10, 64], [10, 64], [10, 64]];\n  var blackTable2 = [[8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [11, 23], [11, 23], [12, 50], [12, 51], [12, 44], [12, 45], [12, 46], [12, 47], [12, 57], [12, 58], [12, 61], [12, 256], [10, 16], [10, 16], [10, 16], [10, 16], [10, 17], [10, 17], [10, 17], [10, 17], [12, 48], [12, 49], [12, 62], [12, 63], [12, 30], [12, 31], [12, 32], [12, 33], [12, 40], [12, 41], [11, 22], [11, 22], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [9, 15], [9, 15], [9, 15], [9, 15], [9, 15], [9, 15], [9, 15], [9, 15], [12, 128], [12, 192], [12, 26], [12, 27], [12, 28], [12, 29], [11, 19], [11, 19], [11, 20], [11, 20], [12, 34], [12, 35], [12, 36], [12, 37], [12, 38], [12, 39], [11, 21], [11, 21], [12, 42], [12, 43], [10, 0], [10, 0], [10, 0], [10, 0], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12]];\n  var blackTable3 = [[-1, -1], [-1, -1], [-1, -1], [-1, -1], [6, 9], [6, 8], [5, 7], [5, 7], [4, 6], [4, 6], [4, 6], [4, 6], [4, 5], [4, 5], [4, 5], [4, 5], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [3, 4], [3, 4], [3, 4], [3, 4], [3, 4], [3, 4], [3, 4], [3, 4], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2]];\n\n  function CCITTFaxDecoder(source) {\n    var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n    if (!source || typeof source.next !== \"function\") {\n      throw new Error('CCITTFaxDecoder - invalid \"source\" parameter.');\n    }\n\n    this.source = source;\n    this.eof = false;\n    this.encoding = options.K || 0;\n    this.eoline = options.EndOfLine || false;\n    this.byteAlign = options.EncodedByteAlign || false;\n    this.columns = options.Columns || 1728;\n    this.rows = options.Rows || 0;\n    var eoblock = options.EndOfBlock;\n\n    if (eoblock === null || eoblock === undefined) {\n      eoblock = true;\n    }\n\n    this.eoblock = eoblock;\n    this.black = options.BlackIs1 || false;\n    this.codingLine = new Uint32Array(this.columns + 1);\n    this.refLine = new Uint32Array(this.columns + 2);\n    this.codingLine[0] = this.columns;\n    this.codingPos = 0;\n    this.row = 0;\n    this.nextLine2D = this.encoding < 0;\n    this.inputBits = 0;\n    this.inputBuf = 0;\n    this.outputBits = 0;\n    this.rowsDone = false;\n    var code1;\n\n    while ((code1 = this._lookBits(12)) === 0) {\n      this._eatBits(1);\n    }\n\n    if (code1 === 1) {\n      this._eatBits(12);\n    }\n\n    if (this.encoding > 0) {\n      this.nextLine2D = !this._lookBits(1);\n\n      this._eatBits(1);\n    }\n  }\n\n  CCITTFaxDecoder.prototype = {\n    readNextChar: function readNextChar() {\n      if (this.eof) {\n        return -1;\n      }\n\n      var refLine = this.refLine;\n      var codingLine = this.codingLine;\n      var columns = this.columns;\n      var refPos, blackPixels, bits, i;\n\n      if (this.outputBits === 0) {\n        if (this.rowsDone) {\n          this.eof = true;\n        }\n\n        if (this.eof) {\n          return -1;\n        }\n\n        this.err = false;\n        var code1, code2, code3;\n\n        if (this.nextLine2D) {\n          for (i = 0; codingLine[i] < columns; ++i) {\n            refLine[i] = codingLine[i];\n          }\n\n          refLine[i++] = columns;\n          refLine[i] = columns;\n          codingLine[0] = 0;\n          this.codingPos = 0;\n          refPos = 0;\n          blackPixels = 0;\n\n          while (codingLine[this.codingPos] < columns) {\n            code1 = this._getTwoDimCode();\n\n            switch (code1) {\n              case twoDimPass:\n                this._addPixels(refLine[refPos + 1], blackPixels);\n\n                if (refLine[refPos + 1] < columns) {\n                  refPos += 2;\n                }\n\n                break;\n\n              case twoDimHoriz:\n                code1 = code2 = 0;\n\n                if (blackPixels) {\n                  do {\n                    code1 += code3 = this._getBlackCode();\n                  } while (code3 >= 64);\n\n                  do {\n                    code2 += code3 = this._getWhiteCode();\n                  } while (code3 >= 64);\n                } else {\n                  do {\n                    code1 += code3 = this._getWhiteCode();\n                  } while (code3 >= 64);\n\n                  do {\n                    code2 += code3 = this._getBlackCode();\n                  } while (code3 >= 64);\n                }\n\n                this._addPixels(codingLine[this.codingPos] + code1, blackPixels);\n\n                if (codingLine[this.codingPos] < columns) {\n                  this._addPixels(codingLine[this.codingPos] + code2, blackPixels ^ 1);\n                }\n\n                while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n                  refPos += 2;\n                }\n\n                break;\n\n              case twoDimVertR3:\n                this._addPixels(refLine[refPos] + 3, blackPixels);\n\n                blackPixels ^= 1;\n\n                if (codingLine[this.codingPos] < columns) {\n                  ++refPos;\n\n                  while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n                    refPos += 2;\n                  }\n                }\n\n                break;\n\n              case twoDimVertR2:\n                this._addPixels(refLine[refPos] + 2, blackPixels);\n\n                blackPixels ^= 1;\n\n                if (codingLine[this.codingPos] < columns) {\n                  ++refPos;\n\n                  while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n                    refPos += 2;\n                  }\n                }\n\n                break;\n\n              case twoDimVertR1:\n                this._addPixels(refLine[refPos] + 1, blackPixels);\n\n                blackPixels ^= 1;\n\n                if (codingLine[this.codingPos] < columns) {\n                  ++refPos;\n\n                  while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n                    refPos += 2;\n                  }\n                }\n\n                break;\n\n              case twoDimVert0:\n                this._addPixels(refLine[refPos], blackPixels);\n\n                blackPixels ^= 1;\n\n                if (codingLine[this.codingPos] < columns) {\n                  ++refPos;\n\n                  while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n                    refPos += 2;\n                  }\n                }\n\n                break;\n\n              case twoDimVertL3:\n                this._addPixelsNeg(refLine[refPos] - 3, blackPixels);\n\n                blackPixels ^= 1;\n\n                if (codingLine[this.codingPos] < columns) {\n                  if (refPos > 0) {\n                    --refPos;\n                  } else {\n                    ++refPos;\n                  }\n\n                  while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n                    refPos += 2;\n                  }\n                }\n\n                break;\n\n              case twoDimVertL2:\n                this._addPixelsNeg(refLine[refPos] - 2, blackPixels);\n\n                blackPixels ^= 1;\n\n                if (codingLine[this.codingPos] < columns) {\n                  if (refPos > 0) {\n                    --refPos;\n                  } else {\n                    ++refPos;\n                  }\n\n                  while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n                    refPos += 2;\n                  }\n                }\n\n                break;\n\n              case twoDimVertL1:\n                this._addPixelsNeg(refLine[refPos] - 1, blackPixels);\n\n                blackPixels ^= 1;\n\n                if (codingLine[this.codingPos] < columns) {\n                  if (refPos > 0) {\n                    --refPos;\n                  } else {\n                    ++refPos;\n                  }\n\n                  while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n                    refPos += 2;\n                  }\n                }\n\n                break;\n\n              case ccittEOF:\n                this._addPixels(columns, 0);\n\n                this.eof = true;\n                break;\n\n              default:\n                (0, _util.info)(\"bad 2d code\");\n\n                this._addPixels(columns, 0);\n\n                this.err = true;\n            }\n          }\n        } else {\n          codingLine[0] = 0;\n          this.codingPos = 0;\n          blackPixels = 0;\n\n          while (codingLine[this.codingPos] < columns) {\n            code1 = 0;\n\n            if (blackPixels) {\n              do {\n                code1 += code3 = this._getBlackCode();\n              } while (code3 >= 64);\n            } else {\n              do {\n                code1 += code3 = this._getWhiteCode();\n              } while (code3 >= 64);\n            }\n\n            this._addPixels(codingLine[this.codingPos] + code1, blackPixels);\n\n            blackPixels ^= 1;\n          }\n        }\n\n        var gotEOL = false;\n\n        if (this.byteAlign) {\n          this.inputBits &= ~7;\n        }\n\n        if (!this.eoblock && this.row === this.rows - 1) {\n          this.rowsDone = true;\n        } else {\n          code1 = this._lookBits(12);\n\n          if (this.eoline) {\n            while (code1 !== ccittEOF && code1 !== 1) {\n              this._eatBits(1);\n\n              code1 = this._lookBits(12);\n            }\n          } else {\n            while (code1 === 0) {\n              this._eatBits(1);\n\n              code1 = this._lookBits(12);\n            }\n          }\n\n          if (code1 === 1) {\n            this._eatBits(12);\n\n            gotEOL = true;\n          } else if (code1 === ccittEOF) {\n            this.eof = true;\n          }\n        }\n\n        if (!this.eof && this.encoding > 0 && !this.rowsDone) {\n          this.nextLine2D = !this._lookBits(1);\n\n          this._eatBits(1);\n        }\n\n        if (this.eoblock && gotEOL && this.byteAlign) {\n          code1 = this._lookBits(12);\n\n          if (code1 === 1) {\n            this._eatBits(12);\n\n            if (this.encoding > 0) {\n              this._lookBits(1);\n\n              this._eatBits(1);\n            }\n\n            if (this.encoding >= 0) {\n              for (i = 0; i < 4; ++i) {\n                code1 = this._lookBits(12);\n\n                if (code1 !== 1) {\n                  (0, _util.info)(\"bad rtc code: \" + code1);\n                }\n\n                this._eatBits(12);\n\n                if (this.encoding > 0) {\n                  this._lookBits(1);\n\n                  this._eatBits(1);\n                }\n              }\n            }\n\n            this.eof = true;\n          }\n        } else if (this.err && this.eoline) {\n          while (true) {\n            code1 = this._lookBits(13);\n\n            if (code1 === ccittEOF) {\n              this.eof = true;\n              return -1;\n            }\n\n            if (code1 >> 1 === 1) {\n              break;\n            }\n\n            this._eatBits(1);\n          }\n\n          this._eatBits(12);\n\n          if (this.encoding > 0) {\n            this._eatBits(1);\n\n            this.nextLine2D = !(code1 & 1);\n          }\n        }\n\n        if (codingLine[0] > 0) {\n          this.outputBits = codingLine[this.codingPos = 0];\n        } else {\n          this.outputBits = codingLine[this.codingPos = 1];\n        }\n\n        this.row++;\n      }\n\n      var c;\n\n      if (this.outputBits >= 8) {\n        c = this.codingPos & 1 ? 0 : 0xff;\n        this.outputBits -= 8;\n\n        if (this.outputBits === 0 && codingLine[this.codingPos] < columns) {\n          this.codingPos++;\n          this.outputBits = codingLine[this.codingPos] - codingLine[this.codingPos - 1];\n        }\n      } else {\n        bits = 8;\n        c = 0;\n\n        do {\n          if (this.outputBits > bits) {\n            c <<= bits;\n\n            if (!(this.codingPos & 1)) {\n              c |= 0xff >> 8 - bits;\n            }\n\n            this.outputBits -= bits;\n            bits = 0;\n          } else {\n            c <<= this.outputBits;\n\n            if (!(this.codingPos & 1)) {\n              c |= 0xff >> 8 - this.outputBits;\n            }\n\n            bits -= this.outputBits;\n            this.outputBits = 0;\n\n            if (codingLine[this.codingPos] < columns) {\n              this.codingPos++;\n              this.outputBits = codingLine[this.codingPos] - codingLine[this.codingPos - 1];\n            } else if (bits > 0) {\n              c <<= bits;\n              bits = 0;\n            }\n          }\n        } while (bits);\n      }\n\n      if (this.black) {\n        c ^= 0xff;\n      }\n\n      return c;\n    },\n    _addPixels: function _addPixels(a1, blackPixels) {\n      var codingLine = this.codingLine;\n      var codingPos = this.codingPos;\n\n      if (a1 > codingLine[codingPos]) {\n        if (a1 > this.columns) {\n          (0, _util.info)(\"row is wrong length\");\n          this.err = true;\n          a1 = this.columns;\n        }\n\n        if (codingPos & 1 ^ blackPixels) {\n          ++codingPos;\n        }\n\n        codingLine[codingPos] = a1;\n      }\n\n      this.codingPos = codingPos;\n    },\n    _addPixelsNeg: function _addPixelsNeg(a1, blackPixels) {\n      var codingLine = this.codingLine;\n      var codingPos = this.codingPos;\n\n      if (a1 > codingLine[codingPos]) {\n        if (a1 > this.columns) {\n          (0, _util.info)(\"row is wrong length\");\n          this.err = true;\n          a1 = this.columns;\n        }\n\n        if (codingPos & 1 ^ blackPixels) {\n          ++codingPos;\n        }\n\n        codingLine[codingPos] = a1;\n      } else if (a1 < codingLine[codingPos]) {\n        if (a1 < 0) {\n          (0, _util.info)(\"invalid code\");\n          this.err = true;\n          a1 = 0;\n        }\n\n        while (codingPos > 0 && a1 < codingLine[codingPos - 1]) {\n          --codingPos;\n        }\n\n        codingLine[codingPos] = a1;\n      }\n\n      this.codingPos = codingPos;\n    },\n    _findTableCode: function _findTableCode(start, end, table, limit) {\n      var limitValue = limit || 0;\n\n      for (var i = start; i <= end; ++i) {\n        var code = this._lookBits(i);\n\n        if (code === ccittEOF) {\n          return [true, 1, false];\n        }\n\n        if (i < end) {\n          code <<= end - i;\n        }\n\n        if (!limitValue || code >= limitValue) {\n          var p = table[code - limitValue];\n\n          if (p[0] === i) {\n            this._eatBits(i);\n\n            return [true, p[1], true];\n          }\n        }\n      }\n\n      return [false, 0, false];\n    },\n    _getTwoDimCode: function _getTwoDimCode() {\n      var code = 0;\n      var p;\n\n      if (this.eoblock) {\n        code = this._lookBits(7);\n        p = twoDimTable[code];\n\n        if (p && p[0] > 0) {\n          this._eatBits(p[0]);\n\n          return p[1];\n        }\n      } else {\n        var result = this._findTableCode(1, 7, twoDimTable);\n\n        if (result[0] && result[2]) {\n          return result[1];\n        }\n      }\n\n      (0, _util.info)(\"Bad two dim code\");\n      return ccittEOF;\n    },\n    _getWhiteCode: function _getWhiteCode() {\n      var code = 0;\n      var p;\n\n      if (this.eoblock) {\n        code = this._lookBits(12);\n\n        if (code === ccittEOF) {\n          return 1;\n        }\n\n        if (code >> 5 === 0) {\n          p = whiteTable1[code];\n        } else {\n          p = whiteTable2[code >> 3];\n        }\n\n        if (p[0] > 0) {\n          this._eatBits(p[0]);\n\n          return p[1];\n        }\n      } else {\n        var result = this._findTableCode(1, 9, whiteTable2);\n\n        if (result[0]) {\n          return result[1];\n        }\n\n        result = this._findTableCode(11, 12, whiteTable1);\n\n        if (result[0]) {\n          return result[1];\n        }\n      }\n\n      (0, _util.info)(\"bad white code\");\n\n      this._eatBits(1);\n\n      return 1;\n    },\n    _getBlackCode: function _getBlackCode() {\n      var code, p;\n\n      if (this.eoblock) {\n        code = this._lookBits(13);\n\n        if (code === ccittEOF) {\n          return 1;\n        }\n\n        if (code >> 7 === 0) {\n          p = blackTable1[code];\n        } else if (code >> 9 === 0 && code >> 7 !== 0) {\n          p = blackTable2[(code >> 1) - 64];\n        } else {\n          p = blackTable3[code >> 7];\n        }\n\n        if (p[0] > 0) {\n          this._eatBits(p[0]);\n\n          return p[1];\n        }\n      } else {\n        var result = this._findTableCode(2, 6, blackTable3);\n\n        if (result[0]) {\n          return result[1];\n        }\n\n        result = this._findTableCode(7, 12, blackTable2, 64);\n\n        if (result[0]) {\n          return result[1];\n        }\n\n        result = this._findTableCode(10, 13, blackTable1);\n\n        if (result[0]) {\n          return result[1];\n        }\n      }\n\n      (0, _util.info)(\"bad black code\");\n\n      this._eatBits(1);\n\n      return 1;\n    },\n    _lookBits: function _lookBits(n) {\n      var c;\n\n      while (this.inputBits < n) {\n        if ((c = this.source.next()) === -1) {\n          if (this.inputBits === 0) {\n            return ccittEOF;\n          }\n\n          return this.inputBuf << n - this.inputBits & 0xffff >> 16 - n;\n        }\n\n        this.inputBuf = this.inputBuf << 8 | c;\n        this.inputBits += 8;\n      }\n\n      return this.inputBuf >> this.inputBits - n & 0xffff >> 16 - n;\n    },\n    _eatBits: function _eatBits(n) {\n      if ((this.inputBits -= n) < 0) {\n        this.inputBits = 0;\n      }\n    }\n  };\n  return CCITTFaxDecoder;\n}();\n\nexports.CCITTFaxDecoder = CCITTFaxDecoder;\n\n/***/ }),\n/* 208 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.Jbig2Stream = void 0;\n\nvar _primitives = __w_pdfjs_require__(198);\n\nvar _stream = __w_pdfjs_require__(205);\n\nvar _jbig = __w_pdfjs_require__(209);\n\nvar _util = __w_pdfjs_require__(5);\n\nvar Jbig2Stream = function Jbig2StreamClosure() {\n  function Jbig2Stream(stream, maybeLength, dict, params) {\n    this.stream = stream;\n    this.maybeLength = maybeLength;\n    this.dict = dict;\n    this.params = params;\n\n    _stream.DecodeStream.call(this, maybeLength);\n  }\n\n  Jbig2Stream.prototype = Object.create(_stream.DecodeStream.prototype);\n  Object.defineProperty(Jbig2Stream.prototype, \"bytes\", {\n    get: function get() {\n      return (0, _util.shadow)(this, \"bytes\", this.stream.getBytes(this.maybeLength));\n    },\n    configurable: true\n  });\n\n  Jbig2Stream.prototype.ensureBuffer = function (requested) {};\n\n  Jbig2Stream.prototype.readBlock = function () {\n    if (this.eof) {\n      return;\n    }\n\n    var jbig2Image = new _jbig.Jbig2Image();\n    var chunks = [];\n\n    if ((0, _primitives.isDict)(this.params)) {\n      var globalsStream = this.params.get(\"JBIG2Globals\");\n\n      if ((0, _primitives.isStream)(globalsStream)) {\n        var globals = globalsStream.getBytes();\n        chunks.push({\n          data: globals,\n          start: 0,\n          end: globals.length\n        });\n      }\n    }\n\n    chunks.push({\n      data: this.bytes,\n      start: 0,\n      end: this.bytes.length\n    });\n    var data = jbig2Image.parseChunks(chunks);\n    var dataLength = data.length;\n\n    for (var i = 0; i < dataLength; i++) {\n      data[i] ^= 0xff;\n    }\n\n    this.buffer = data;\n    this.bufferLength = dataLength;\n    this.eof = true;\n  };\n\n  return Jbig2Stream;\n}();\n\nexports.Jbig2Stream = Jbig2Stream;\n\n/***/ }),\n/* 209 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.Jbig2Image = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _core_utils = __w_pdfjs_require__(201);\n\nvar _arithmetic_decoder = __w_pdfjs_require__(210);\n\nvar _ccitt = __w_pdfjs_require__(207);\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar Jbig2Error = /*#__PURE__*/function (_BaseException) {\n  _inherits(Jbig2Error, _BaseException);\n\n  var _super = _createSuper(Jbig2Error);\n\n  function Jbig2Error(msg) {\n    _classCallCheck(this, Jbig2Error);\n\n    return _super.call(this, \"JBIG2 error: \".concat(msg));\n  }\n\n  return Jbig2Error;\n}(_util.BaseException);\n\nvar Jbig2Image = function Jbig2ImageClosure() {\n  function ContextCache() {}\n\n  ContextCache.prototype = {\n    getContexts: function getContexts(id) {\n      if (id in this) {\n        return this[id];\n      }\n\n      return this[id] = new Int8Array(1 << 16);\n    }\n  };\n\n  function DecodingContext(data, start, end) {\n    this.data = data;\n    this.start = start;\n    this.end = end;\n  }\n\n  DecodingContext.prototype = {\n    get decoder() {\n      var decoder = new _arithmetic_decoder.ArithmeticDecoder(this.data, this.start, this.end);\n      return (0, _util.shadow)(this, \"decoder\", decoder);\n    },\n\n    get contextCache() {\n      var cache = new ContextCache();\n      return (0, _util.shadow)(this, \"contextCache\", cache);\n    }\n\n  };\n\n  function decodeInteger(contextCache, procedure, decoder) {\n    var contexts = contextCache.getContexts(procedure);\n    var prev = 1;\n\n    function readBits(length) {\n      var v = 0;\n\n      for (var i = 0; i < length; i++) {\n        var bit = decoder.readBit(contexts, prev);\n        prev = prev < 256 ? prev << 1 | bit : (prev << 1 | bit) & 511 | 256;\n        v = v << 1 | bit;\n      }\n\n      return v >>> 0;\n    }\n\n    var sign = readBits(1);\n    var value = readBits(1) ? readBits(1) ? readBits(1) ? readBits(1) ? readBits(1) ? readBits(32) + 4436 : readBits(12) + 340 : readBits(8) + 84 : readBits(6) + 20 : readBits(4) + 4 : readBits(2);\n\n    if (sign === 0) {\n      return value;\n    } else if (value > 0) {\n      return -value;\n    }\n\n    return null;\n  }\n\n  function decodeIAID(contextCache, decoder, codeLength) {\n    var contexts = contextCache.getContexts(\"IAID\");\n    var prev = 1;\n\n    for (var i = 0; i < codeLength; i++) {\n      var bit = decoder.readBit(contexts, prev);\n      prev = prev << 1 | bit;\n    }\n\n    if (codeLength < 31) {\n      return prev & (1 << codeLength) - 1;\n    }\n\n    return prev & 0x7fffffff;\n  }\n\n  var SegmentTypes = [\"SymbolDictionary\", null, null, null, \"IntermediateTextRegion\", null, \"ImmediateTextRegion\", \"ImmediateLosslessTextRegion\", null, null, null, null, null, null, null, null, \"PatternDictionary\", null, null, null, \"IntermediateHalftoneRegion\", null, \"ImmediateHalftoneRegion\", \"ImmediateLosslessHalftoneRegion\", null, null, null, null, null, null, null, null, null, null, null, null, \"IntermediateGenericRegion\", null, \"ImmediateGenericRegion\", \"ImmediateLosslessGenericRegion\", \"IntermediateGenericRefinementRegion\", null, \"ImmediateGenericRefinementRegion\", \"ImmediateLosslessGenericRefinementRegion\", null, null, null, null, \"PageInformation\", \"EndOfPage\", \"EndOfStripe\", \"EndOfFile\", \"Profiles\", \"Tables\", null, null, null, null, null, null, null, null, \"Extension\"];\n  var CodingTemplates = [[{\n    x: -1,\n    y: -2\n  }, {\n    x: 0,\n    y: -2\n  }, {\n    x: 1,\n    y: -2\n  }, {\n    x: -2,\n    y: -1\n  }, {\n    x: -1,\n    y: -1\n  }, {\n    x: 0,\n    y: -1\n  }, {\n    x: 1,\n    y: -1\n  }, {\n    x: 2,\n    y: -1\n  }, {\n    x: -4,\n    y: 0\n  }, {\n    x: -3,\n    y: 0\n  }, {\n    x: -2,\n    y: 0\n  }, {\n    x: -1,\n    y: 0\n  }], [{\n    x: -1,\n    y: -2\n  }, {\n    x: 0,\n    y: -2\n  }, {\n    x: 1,\n    y: -2\n  }, {\n    x: 2,\n    y: -2\n  }, {\n    x: -2,\n    y: -1\n  }, {\n    x: -1,\n    y: -1\n  }, {\n    x: 0,\n    y: -1\n  }, {\n    x: 1,\n    y: -1\n  }, {\n    x: 2,\n    y: -1\n  }, {\n    x: -3,\n    y: 0\n  }, {\n    x: -2,\n    y: 0\n  }, {\n    x: -1,\n    y: 0\n  }], [{\n    x: -1,\n    y: -2\n  }, {\n    x: 0,\n    y: -2\n  }, {\n    x: 1,\n    y: -2\n  }, {\n    x: -2,\n    y: -1\n  }, {\n    x: -1,\n    y: -1\n  }, {\n    x: 0,\n    y: -1\n  }, {\n    x: 1,\n    y: -1\n  }, {\n    x: -2,\n    y: 0\n  }, {\n    x: -1,\n    y: 0\n  }], [{\n    x: -3,\n    y: -1\n  }, {\n    x: -2,\n    y: -1\n  }, {\n    x: -1,\n    y: -1\n  }, {\n    x: 0,\n    y: -1\n  }, {\n    x: 1,\n    y: -1\n  }, {\n    x: -4,\n    y: 0\n  }, {\n    x: -3,\n    y: 0\n  }, {\n    x: -2,\n    y: 0\n  }, {\n    x: -1,\n    y: 0\n  }]];\n  var RefinementTemplates = [{\n    coding: [{\n      x: 0,\n      y: -1\n    }, {\n      x: 1,\n      y: -1\n    }, {\n      x: -1,\n      y: 0\n    }],\n    reference: [{\n      x: 0,\n      y: -1\n    }, {\n      x: 1,\n      y: -1\n    }, {\n      x: -1,\n      y: 0\n    }, {\n      x: 0,\n      y: 0\n    }, {\n      x: 1,\n      y: 0\n    }, {\n      x: -1,\n      y: 1\n    }, {\n      x: 0,\n      y: 1\n    }, {\n      x: 1,\n      y: 1\n    }]\n  }, {\n    coding: [{\n      x: -1,\n      y: -1\n    }, {\n      x: 0,\n      y: -1\n    }, {\n      x: 1,\n      y: -1\n    }, {\n      x: -1,\n      y: 0\n    }],\n    reference: [{\n      x: 0,\n      y: -1\n    }, {\n      x: -1,\n      y: 0\n    }, {\n      x: 0,\n      y: 0\n    }, {\n      x: 1,\n      y: 0\n    }, {\n      x: 0,\n      y: 1\n    }, {\n      x: 1,\n      y: 1\n    }]\n  }];\n  var ReusedContexts = [0x9b25, 0x0795, 0x00e5, 0x0195];\n  var RefinementReusedContexts = [0x0020, 0x0008];\n\n  function decodeBitmapTemplate0(width, height, decodingContext) {\n    var decoder = decodingContext.decoder;\n    var contexts = decodingContext.contextCache.getContexts(\"GB\");\n    var contextLabel,\n        i,\n        j,\n        pixel,\n        row,\n        row1,\n        row2,\n        bitmap = [];\n    var OLD_PIXEL_MASK = 0x7bf7;\n\n    for (i = 0; i < height; i++) {\n      row = bitmap[i] = new Uint8Array(width);\n      row1 = i < 1 ? row : bitmap[i - 1];\n      row2 = i < 2 ? row : bitmap[i - 2];\n      contextLabel = row2[0] << 13 | row2[1] << 12 | row2[2] << 11 | row1[0] << 7 | row1[1] << 6 | row1[2] << 5 | row1[3] << 4;\n\n      for (j = 0; j < width; j++) {\n        row[j] = pixel = decoder.readBit(contexts, contextLabel);\n        contextLabel = (contextLabel & OLD_PIXEL_MASK) << 1 | (j + 3 < width ? row2[j + 3] << 11 : 0) | (j + 4 < width ? row1[j + 4] << 4 : 0) | pixel;\n      }\n    }\n\n    return bitmap;\n  }\n\n  function decodeBitmap(mmr, width, height, templateIndex, prediction, skip, at, decodingContext) {\n    if (mmr) {\n      var input = new Reader(decodingContext.data, decodingContext.start, decodingContext.end);\n      return decodeMMRBitmap(input, width, height, false);\n    }\n\n    if (templateIndex === 0 && !skip && !prediction && at.length === 4 && at[0].x === 3 && at[0].y === -1 && at[1].x === -3 && at[1].y === -1 && at[2].x === 2 && at[2].y === -2 && at[3].x === -2 && at[3].y === -2) {\n      return decodeBitmapTemplate0(width, height, decodingContext);\n    }\n\n    var useskip = !!skip;\n    var template = CodingTemplates[templateIndex].concat(at);\n    template.sort(function (a, b) {\n      return a.y - b.y || a.x - b.x;\n    });\n    var templateLength = template.length;\n    var templateX = new Int8Array(templateLength);\n    var templateY = new Int8Array(templateLength);\n    var changingTemplateEntries = [];\n    var reuseMask = 0,\n        minX = 0,\n        maxX = 0,\n        minY = 0;\n    var c, k;\n\n    for (k = 0; k < templateLength; k++) {\n      templateX[k] = template[k].x;\n      templateY[k] = template[k].y;\n      minX = Math.min(minX, template[k].x);\n      maxX = Math.max(maxX, template[k].x);\n      minY = Math.min(minY, template[k].y);\n\n      if (k < templateLength - 1 && template[k].y === template[k + 1].y && template[k].x === template[k + 1].x - 1) {\n        reuseMask |= 1 << templateLength - 1 - k;\n      } else {\n        changingTemplateEntries.push(k);\n      }\n    }\n\n    var changingEntriesLength = changingTemplateEntries.length;\n    var changingTemplateX = new Int8Array(changingEntriesLength);\n    var changingTemplateY = new Int8Array(changingEntriesLength);\n    var changingTemplateBit = new Uint16Array(changingEntriesLength);\n\n    for (c = 0; c < changingEntriesLength; c++) {\n      k = changingTemplateEntries[c];\n      changingTemplateX[c] = template[k].x;\n      changingTemplateY[c] = template[k].y;\n      changingTemplateBit[c] = 1 << templateLength - 1 - k;\n    }\n\n    var sbb_left = -minX;\n    var sbb_top = -minY;\n    var sbb_right = width - maxX;\n    var pseudoPixelContext = ReusedContexts[templateIndex];\n    var row = new Uint8Array(width);\n    var bitmap = [];\n    var decoder = decodingContext.decoder;\n    var contexts = decodingContext.contextCache.getContexts(\"GB\");\n    var ltp = 0,\n        j,\n        i0,\n        j0,\n        contextLabel = 0,\n        bit,\n        shift;\n\n    for (var i = 0; i < height; i++) {\n      if (prediction) {\n        var sltp = decoder.readBit(contexts, pseudoPixelContext);\n        ltp ^= sltp;\n\n        if (ltp) {\n          bitmap.push(row);\n          continue;\n        }\n      }\n\n      row = new Uint8Array(row);\n      bitmap.push(row);\n\n      for (j = 0; j < width; j++) {\n        if (useskip && skip[i][j]) {\n          row[j] = 0;\n          continue;\n        }\n\n        if (j >= sbb_left && j < sbb_right && i >= sbb_top) {\n          contextLabel = contextLabel << 1 & reuseMask;\n\n          for (k = 0; k < changingEntriesLength; k++) {\n            i0 = i + changingTemplateY[k];\n            j0 = j + changingTemplateX[k];\n            bit = bitmap[i0][j0];\n\n            if (bit) {\n              bit = changingTemplateBit[k];\n              contextLabel |= bit;\n            }\n          }\n        } else {\n          contextLabel = 0;\n          shift = templateLength - 1;\n\n          for (k = 0; k < templateLength; k++, shift--) {\n            j0 = j + templateX[k];\n\n            if (j0 >= 0 && j0 < width) {\n              i0 = i + templateY[k];\n\n              if (i0 >= 0) {\n                bit = bitmap[i0][j0];\n\n                if (bit) {\n                  contextLabel |= bit << shift;\n                }\n              }\n            }\n          }\n        }\n\n        var pixel = decoder.readBit(contexts, contextLabel);\n        row[j] = pixel;\n      }\n    }\n\n    return bitmap;\n  }\n\n  function decodeRefinement(width, height, templateIndex, referenceBitmap, offsetX, offsetY, prediction, at, decodingContext) {\n    var codingTemplate = RefinementTemplates[templateIndex].coding;\n\n    if (templateIndex === 0) {\n      codingTemplate = codingTemplate.concat([at[0]]);\n    }\n\n    var codingTemplateLength = codingTemplate.length;\n    var codingTemplateX = new Int32Array(codingTemplateLength);\n    var codingTemplateY = new Int32Array(codingTemplateLength);\n    var k;\n\n    for (k = 0; k < codingTemplateLength; k++) {\n      codingTemplateX[k] = codingTemplate[k].x;\n      codingTemplateY[k] = codingTemplate[k].y;\n    }\n\n    var referenceTemplate = RefinementTemplates[templateIndex].reference;\n\n    if (templateIndex === 0) {\n      referenceTemplate = referenceTemplate.concat([at[1]]);\n    }\n\n    var referenceTemplateLength = referenceTemplate.length;\n    var referenceTemplateX = new Int32Array(referenceTemplateLength);\n    var referenceTemplateY = new Int32Array(referenceTemplateLength);\n\n    for (k = 0; k < referenceTemplateLength; k++) {\n      referenceTemplateX[k] = referenceTemplate[k].x;\n      referenceTemplateY[k] = referenceTemplate[k].y;\n    }\n\n    var referenceWidth = referenceBitmap[0].length;\n    var referenceHeight = referenceBitmap.length;\n    var pseudoPixelContext = RefinementReusedContexts[templateIndex];\n    var bitmap = [];\n    var decoder = decodingContext.decoder;\n    var contexts = decodingContext.contextCache.getContexts(\"GR\");\n    var ltp = 0;\n\n    for (var i = 0; i < height; i++) {\n      if (prediction) {\n        var sltp = decoder.readBit(contexts, pseudoPixelContext);\n        ltp ^= sltp;\n\n        if (ltp) {\n          throw new Jbig2Error(\"prediction is not supported\");\n        }\n      }\n\n      var row = new Uint8Array(width);\n      bitmap.push(row);\n\n      for (var j = 0; j < width; j++) {\n        var i0, j0;\n        var contextLabel = 0;\n\n        for (k = 0; k < codingTemplateLength; k++) {\n          i0 = i + codingTemplateY[k];\n          j0 = j + codingTemplateX[k];\n\n          if (i0 < 0 || j0 < 0 || j0 >= width) {\n            contextLabel <<= 1;\n          } else {\n            contextLabel = contextLabel << 1 | bitmap[i0][j0];\n          }\n        }\n\n        for (k = 0; k < referenceTemplateLength; k++) {\n          i0 = i + referenceTemplateY[k] - offsetY;\n          j0 = j + referenceTemplateX[k] - offsetX;\n\n          if (i0 < 0 || i0 >= referenceHeight || j0 < 0 || j0 >= referenceWidth) {\n            contextLabel <<= 1;\n          } else {\n            contextLabel = contextLabel << 1 | referenceBitmap[i0][j0];\n          }\n        }\n\n        var pixel = decoder.readBit(contexts, contextLabel);\n        row[j] = pixel;\n      }\n    }\n\n    return bitmap;\n  }\n\n  function decodeSymbolDictionary(huffman, refinement, symbols, numberOfNewSymbols, numberOfExportedSymbols, huffmanTables, templateIndex, at, refinementTemplateIndex, refinementAt, decodingContext, huffmanInput) {\n    if (huffman && refinement) {\n      throw new Jbig2Error(\"symbol refinement with Huffman is not supported\");\n    }\n\n    var newSymbols = [];\n    var currentHeight = 0;\n    var symbolCodeLength = (0, _core_utils.log2)(symbols.length + numberOfNewSymbols);\n    var decoder = decodingContext.decoder;\n    var contextCache = decodingContext.contextCache;\n    var tableB1, symbolWidths;\n\n    if (huffman) {\n      tableB1 = getStandardTable(1);\n      symbolWidths = [];\n      symbolCodeLength = Math.max(symbolCodeLength, 1);\n    }\n\n    while (newSymbols.length < numberOfNewSymbols) {\n      var deltaHeight = huffman ? huffmanTables.tableDeltaHeight.decode(huffmanInput) : decodeInteger(contextCache, \"IADH\", decoder);\n      currentHeight += deltaHeight;\n      var currentWidth = 0,\n          totalWidth = 0;\n      var firstSymbol = huffman ? symbolWidths.length : 0;\n\n      while (true) {\n        var deltaWidth = huffman ? huffmanTables.tableDeltaWidth.decode(huffmanInput) : decodeInteger(contextCache, \"IADW\", decoder);\n\n        if (deltaWidth === null) {\n          break;\n        }\n\n        currentWidth += deltaWidth;\n        totalWidth += currentWidth;\n        var bitmap;\n\n        if (refinement) {\n          var numberOfInstances = decodeInteger(contextCache, \"IAAI\", decoder);\n\n          if (numberOfInstances > 1) {\n            bitmap = decodeTextRegion(huffman, refinement, currentWidth, currentHeight, 0, numberOfInstances, 1, symbols.concat(newSymbols), symbolCodeLength, 0, 0, 1, 0, huffmanTables, refinementTemplateIndex, refinementAt, decodingContext, 0, huffmanInput);\n          } else {\n            var symbolId = decodeIAID(contextCache, decoder, symbolCodeLength);\n            var rdx = decodeInteger(contextCache, \"IARDX\", decoder);\n            var rdy = decodeInteger(contextCache, \"IARDY\", decoder);\n            var symbol = symbolId < symbols.length ? symbols[symbolId] : newSymbols[symbolId - symbols.length];\n            bitmap = decodeRefinement(currentWidth, currentHeight, refinementTemplateIndex, symbol, rdx, rdy, false, refinementAt, decodingContext);\n          }\n\n          newSymbols.push(bitmap);\n        } else if (huffman) {\n          symbolWidths.push(currentWidth);\n        } else {\n          bitmap = decodeBitmap(false, currentWidth, currentHeight, templateIndex, false, null, at, decodingContext);\n          newSymbols.push(bitmap);\n        }\n      }\n\n      if (huffman && !refinement) {\n        var bitmapSize = huffmanTables.tableBitmapSize.decode(huffmanInput);\n        huffmanInput.byteAlign();\n        var collectiveBitmap = void 0;\n\n        if (bitmapSize === 0) {\n          collectiveBitmap = readUncompressedBitmap(huffmanInput, totalWidth, currentHeight);\n        } else {\n          var originalEnd = huffmanInput.end;\n          var bitmapEnd = huffmanInput.position + bitmapSize;\n          huffmanInput.end = bitmapEnd;\n          collectiveBitmap = decodeMMRBitmap(huffmanInput, totalWidth, currentHeight, false);\n          huffmanInput.end = originalEnd;\n          huffmanInput.position = bitmapEnd;\n        }\n\n        var numberOfSymbolsDecoded = symbolWidths.length;\n\n        if (firstSymbol === numberOfSymbolsDecoded - 1) {\n          newSymbols.push(collectiveBitmap);\n        } else {\n          var _i = void 0,\n              y = void 0,\n              xMin = 0,\n              xMax = void 0,\n              bitmapWidth = void 0,\n              symbolBitmap = void 0;\n\n          for (_i = firstSymbol; _i < numberOfSymbolsDecoded; _i++) {\n            bitmapWidth = symbolWidths[_i];\n            xMax = xMin + bitmapWidth;\n            symbolBitmap = [];\n\n            for (y = 0; y < currentHeight; y++) {\n              symbolBitmap.push(collectiveBitmap[y].subarray(xMin, xMax));\n            }\n\n            newSymbols.push(symbolBitmap);\n            xMin = xMax;\n          }\n        }\n      }\n    }\n\n    var exportedSymbols = [];\n    var flags = [],\n        currentFlag = false;\n    var totalSymbolsLength = symbols.length + numberOfNewSymbols;\n\n    while (flags.length < totalSymbolsLength) {\n      var runLength = huffman ? tableB1.decode(huffmanInput) : decodeInteger(contextCache, \"IAEX\", decoder);\n\n      while (runLength--) {\n        flags.push(currentFlag);\n      }\n\n      currentFlag = !currentFlag;\n    }\n\n    for (var i = 0, ii = symbols.length; i < ii; i++) {\n      if (flags[i]) {\n        exportedSymbols.push(symbols[i]);\n      }\n    }\n\n    for (var j = 0; j < numberOfNewSymbols; i++, j++) {\n      if (flags[i]) {\n        exportedSymbols.push(newSymbols[j]);\n      }\n    }\n\n    return exportedSymbols;\n  }\n\n  function decodeTextRegion(huffman, refinement, width, height, defaultPixelValue, numberOfSymbolInstances, stripSize, inputSymbols, symbolCodeLength, transposed, dsOffset, referenceCorner, combinationOperator, huffmanTables, refinementTemplateIndex, refinementAt, decodingContext, logStripSize, huffmanInput) {\n    if (huffman && refinement) {\n      throw new Jbig2Error(\"refinement with Huffman is not supported\");\n    }\n\n    var bitmap = [];\n    var i, row;\n\n    for (i = 0; i < height; i++) {\n      row = new Uint8Array(width);\n\n      if (defaultPixelValue) {\n        for (var j = 0; j < width; j++) {\n          row[j] = defaultPixelValue;\n        }\n      }\n\n      bitmap.push(row);\n    }\n\n    var decoder = decodingContext.decoder;\n    var contextCache = decodingContext.contextCache;\n    var stripT = huffman ? -huffmanTables.tableDeltaT.decode(huffmanInput) : -decodeInteger(contextCache, \"IADT\", decoder);\n    var firstS = 0;\n    i = 0;\n\n    while (i < numberOfSymbolInstances) {\n      var deltaT = huffman ? huffmanTables.tableDeltaT.decode(huffmanInput) : decodeInteger(contextCache, \"IADT\", decoder);\n      stripT += deltaT;\n      var deltaFirstS = huffman ? huffmanTables.tableFirstS.decode(huffmanInput) : decodeInteger(contextCache, \"IAFS\", decoder);\n      firstS += deltaFirstS;\n      var currentS = firstS;\n\n      do {\n        var currentT = 0;\n\n        if (stripSize > 1) {\n          currentT = huffman ? huffmanInput.readBits(logStripSize) : decodeInteger(contextCache, \"IAIT\", decoder);\n        }\n\n        var t = stripSize * stripT + currentT;\n        var symbolId = huffman ? huffmanTables.symbolIDTable.decode(huffmanInput) : decodeIAID(contextCache, decoder, symbolCodeLength);\n        var applyRefinement = refinement && (huffman ? huffmanInput.readBit() : decodeInteger(contextCache, \"IARI\", decoder));\n        var symbolBitmap = inputSymbols[symbolId];\n        var symbolWidth = symbolBitmap[0].length;\n        var symbolHeight = symbolBitmap.length;\n\n        if (applyRefinement) {\n          var rdw = decodeInteger(contextCache, \"IARDW\", decoder);\n          var rdh = decodeInteger(contextCache, \"IARDH\", decoder);\n          var rdx = decodeInteger(contextCache, \"IARDX\", decoder);\n          var rdy = decodeInteger(contextCache, \"IARDY\", decoder);\n          symbolWidth += rdw;\n          symbolHeight += rdh;\n          symbolBitmap = decodeRefinement(symbolWidth, symbolHeight, refinementTemplateIndex, symbolBitmap, (rdw >> 1) + rdx, (rdh >> 1) + rdy, false, refinementAt, decodingContext);\n        }\n\n        var offsetT = t - (referenceCorner & 1 ? 0 : symbolHeight - 1);\n        var offsetS = currentS - (referenceCorner & 2 ? symbolWidth - 1 : 0);\n        var s2, t2, symbolRow;\n\n        if (transposed) {\n          for (s2 = 0; s2 < symbolHeight; s2++) {\n            row = bitmap[offsetS + s2];\n\n            if (!row) {\n              continue;\n            }\n\n            symbolRow = symbolBitmap[s2];\n            var maxWidth = Math.min(width - offsetT, symbolWidth);\n\n            switch (combinationOperator) {\n              case 0:\n                for (t2 = 0; t2 < maxWidth; t2++) {\n                  row[offsetT + t2] |= symbolRow[t2];\n                }\n\n                break;\n\n              case 2:\n                for (t2 = 0; t2 < maxWidth; t2++) {\n                  row[offsetT + t2] ^= symbolRow[t2];\n                }\n\n                break;\n\n              default:\n                throw new Jbig2Error(\"operator \".concat(combinationOperator, \" is not supported\"));\n            }\n          }\n\n          currentS += symbolHeight - 1;\n        } else {\n          for (t2 = 0; t2 < symbolHeight; t2++) {\n            row = bitmap[offsetT + t2];\n\n            if (!row) {\n              continue;\n            }\n\n            symbolRow = symbolBitmap[t2];\n\n            switch (combinationOperator) {\n              case 0:\n                for (s2 = 0; s2 < symbolWidth; s2++) {\n                  row[offsetS + s2] |= symbolRow[s2];\n                }\n\n                break;\n\n              case 2:\n                for (s2 = 0; s2 < symbolWidth; s2++) {\n                  row[offsetS + s2] ^= symbolRow[s2];\n                }\n\n                break;\n\n              default:\n                throw new Jbig2Error(\"operator \".concat(combinationOperator, \" is not supported\"));\n            }\n          }\n\n          currentS += symbolWidth - 1;\n        }\n\n        i++;\n        var deltaS = huffman ? huffmanTables.tableDeltaS.decode(huffmanInput) : decodeInteger(contextCache, \"IADS\", decoder);\n\n        if (deltaS === null) {\n          break;\n        }\n\n        currentS += deltaS + dsOffset;\n      } while (true);\n    }\n\n    return bitmap;\n  }\n\n  function decodePatternDictionary(mmr, patternWidth, patternHeight, maxPatternIndex, template, decodingContext) {\n    var at = [];\n\n    if (!mmr) {\n      at.push({\n        x: -patternWidth,\n        y: 0\n      });\n\n      if (template === 0) {\n        at.push({\n          x: -3,\n          y: -1\n        });\n        at.push({\n          x: 2,\n          y: -2\n        });\n        at.push({\n          x: -2,\n          y: -2\n        });\n      }\n    }\n\n    var collectiveWidth = (maxPatternIndex + 1) * patternWidth;\n    var collectiveBitmap = decodeBitmap(mmr, collectiveWidth, patternHeight, template, false, null, at, decodingContext);\n    var patterns = [];\n\n    for (var i = 0; i <= maxPatternIndex; i++) {\n      var patternBitmap = [];\n      var xMin = patternWidth * i;\n      var xMax = xMin + patternWidth;\n\n      for (var y = 0; y < patternHeight; y++) {\n        patternBitmap.push(collectiveBitmap[y].subarray(xMin, xMax));\n      }\n\n      patterns.push(patternBitmap);\n    }\n\n    return patterns;\n  }\n\n  function decodeHalftoneRegion(mmr, patterns, template, regionWidth, regionHeight, defaultPixelValue, enableSkip, combinationOperator, gridWidth, gridHeight, gridOffsetX, gridOffsetY, gridVectorX, gridVectorY, decodingContext) {\n    var skip = null;\n\n    if (enableSkip) {\n      throw new Jbig2Error(\"skip is not supported\");\n    }\n\n    if (combinationOperator !== 0) {\n      throw new Jbig2Error(\"operator \" + combinationOperator + \" is not supported in halftone region\");\n    }\n\n    var regionBitmap = [];\n    var i, j, row;\n\n    for (i = 0; i < regionHeight; i++) {\n      row = new Uint8Array(regionWidth);\n\n      if (defaultPixelValue) {\n        for (j = 0; j < regionWidth; j++) {\n          row[j] = defaultPixelValue;\n        }\n      }\n\n      regionBitmap.push(row);\n    }\n\n    var numberOfPatterns = patterns.length;\n    var pattern0 = patterns[0];\n    var patternWidth = pattern0[0].length,\n        patternHeight = pattern0.length;\n    var bitsPerValue = (0, _core_utils.log2)(numberOfPatterns);\n    var at = [];\n\n    if (!mmr) {\n      at.push({\n        x: template <= 1 ? 3 : 2,\n        y: -1\n      });\n\n      if (template === 0) {\n        at.push({\n          x: -3,\n          y: -1\n        });\n        at.push({\n          x: 2,\n          y: -2\n        });\n        at.push({\n          x: -2,\n          y: -2\n        });\n      }\n    }\n\n    var grayScaleBitPlanes = [];\n    var mmrInput, bitmap;\n\n    if (mmr) {\n      mmrInput = new Reader(decodingContext.data, decodingContext.start, decodingContext.end);\n    }\n\n    for (i = bitsPerValue - 1; i >= 0; i--) {\n      if (mmr) {\n        bitmap = decodeMMRBitmap(mmrInput, gridWidth, gridHeight, true);\n      } else {\n        bitmap = decodeBitmap(false, gridWidth, gridHeight, template, false, skip, at, decodingContext);\n      }\n\n      grayScaleBitPlanes[i] = bitmap;\n    }\n\n    var mg, ng, bit, patternIndex, patternBitmap, x, y, patternRow, regionRow;\n\n    for (mg = 0; mg < gridHeight; mg++) {\n      for (ng = 0; ng < gridWidth; ng++) {\n        bit = 0;\n        patternIndex = 0;\n\n        for (j = bitsPerValue - 1; j >= 0; j--) {\n          bit = grayScaleBitPlanes[j][mg][ng] ^ bit;\n          patternIndex |= bit << j;\n        }\n\n        patternBitmap = patterns[patternIndex];\n        x = gridOffsetX + mg * gridVectorY + ng * gridVectorX >> 8;\n        y = gridOffsetY + mg * gridVectorX - ng * gridVectorY >> 8;\n\n        if (x >= 0 && x + patternWidth <= regionWidth && y >= 0 && y + patternHeight <= regionHeight) {\n          for (i = 0; i < patternHeight; i++) {\n            regionRow = regionBitmap[y + i];\n            patternRow = patternBitmap[i];\n\n            for (j = 0; j < patternWidth; j++) {\n              regionRow[x + j] |= patternRow[j];\n            }\n          }\n        } else {\n          var regionX = void 0,\n              regionY = void 0;\n\n          for (i = 0; i < patternHeight; i++) {\n            regionY = y + i;\n\n            if (regionY < 0 || regionY >= regionHeight) {\n              continue;\n            }\n\n            regionRow = regionBitmap[regionY];\n            patternRow = patternBitmap[i];\n\n            for (j = 0; j < patternWidth; j++) {\n              regionX = x + j;\n\n              if (regionX >= 0 && regionX < regionWidth) {\n                regionRow[regionX] |= patternRow[j];\n              }\n            }\n          }\n        }\n      }\n    }\n\n    return regionBitmap;\n  }\n\n  function readSegmentHeader(data, start) {\n    var segmentHeader = {};\n    segmentHeader.number = (0, _core_utils.readUint32)(data, start);\n    var flags = data[start + 4];\n    var segmentType = flags & 0x3f;\n\n    if (!SegmentTypes[segmentType]) {\n      throw new Jbig2Error(\"invalid segment type: \" + segmentType);\n    }\n\n    segmentHeader.type = segmentType;\n    segmentHeader.typeName = SegmentTypes[segmentType];\n    segmentHeader.deferredNonRetain = !!(flags & 0x80);\n    var pageAssociationFieldSize = !!(flags & 0x40);\n    var referredFlags = data[start + 5];\n    var referredToCount = referredFlags >> 5 & 7;\n    var retainBits = [referredFlags & 31];\n    var position = start + 6;\n\n    if (referredFlags === 7) {\n      referredToCount = (0, _core_utils.readUint32)(data, position - 1) & 0x1fffffff;\n      position += 3;\n      var bytes = referredToCount + 7 >> 3;\n      retainBits[0] = data[position++];\n\n      while (--bytes > 0) {\n        retainBits.push(data[position++]);\n      }\n    } else if (referredFlags === 5 || referredFlags === 6) {\n      throw new Jbig2Error(\"invalid referred-to flags\");\n    }\n\n    segmentHeader.retainBits = retainBits;\n    var referredToSegmentNumberSize = 4;\n\n    if (segmentHeader.number <= 256) {\n      referredToSegmentNumberSize = 1;\n    } else if (segmentHeader.number <= 65536) {\n      referredToSegmentNumberSize = 2;\n    }\n\n    var referredTo = [];\n    var i, ii;\n\n    for (i = 0; i < referredToCount; i++) {\n      var number = void 0;\n\n      if (referredToSegmentNumberSize === 1) {\n        number = data[position];\n      } else if (referredToSegmentNumberSize === 2) {\n        number = (0, _core_utils.readUint16)(data, position);\n      } else {\n        number = (0, _core_utils.readUint32)(data, position);\n      }\n\n      referredTo.push(number);\n      position += referredToSegmentNumberSize;\n    }\n\n    segmentHeader.referredTo = referredTo;\n\n    if (!pageAssociationFieldSize) {\n      segmentHeader.pageAssociation = data[position++];\n    } else {\n      segmentHeader.pageAssociation = (0, _core_utils.readUint32)(data, position);\n      position += 4;\n    }\n\n    segmentHeader.length = (0, _core_utils.readUint32)(data, position);\n    position += 4;\n\n    if (segmentHeader.length === 0xffffffff) {\n      if (segmentType === 38) {\n        var genericRegionInfo = readRegionSegmentInformation(data, position);\n        var genericRegionSegmentFlags = data[position + RegionSegmentInformationFieldLength];\n        var genericRegionMmr = !!(genericRegionSegmentFlags & 1);\n        var searchPatternLength = 6;\n        var searchPattern = new Uint8Array(searchPatternLength);\n\n        if (!genericRegionMmr) {\n          searchPattern[0] = 0xff;\n          searchPattern[1] = 0xac;\n        }\n\n        searchPattern[2] = genericRegionInfo.height >>> 24 & 0xff;\n        searchPattern[3] = genericRegionInfo.height >> 16 & 0xff;\n        searchPattern[4] = genericRegionInfo.height >> 8 & 0xff;\n        searchPattern[5] = genericRegionInfo.height & 0xff;\n\n        for (i = position, ii = data.length; i < ii; i++) {\n          var j = 0;\n\n          while (j < searchPatternLength && searchPattern[j] === data[i + j]) {\n            j++;\n          }\n\n          if (j === searchPatternLength) {\n            segmentHeader.length = i + searchPatternLength;\n            break;\n          }\n        }\n\n        if (segmentHeader.length === 0xffffffff) {\n          throw new Jbig2Error(\"segment end was not found\");\n        }\n      } else {\n        throw new Jbig2Error(\"invalid unknown segment length\");\n      }\n    }\n\n    segmentHeader.headerEnd = position;\n    return segmentHeader;\n  }\n\n  function readSegments(header, data, start, end) {\n    var segments = [];\n    var position = start;\n\n    while (position < end) {\n      var segmentHeader = readSegmentHeader(data, position);\n      position = segmentHeader.headerEnd;\n      var segment = {\n        header: segmentHeader,\n        data: data\n      };\n\n      if (!header.randomAccess) {\n        segment.start = position;\n        position += segmentHeader.length;\n        segment.end = position;\n      }\n\n      segments.push(segment);\n\n      if (segmentHeader.type === 51) {\n        break;\n      }\n    }\n\n    if (header.randomAccess) {\n      for (var i = 0, ii = segments.length; i < ii; i++) {\n        segments[i].start = position;\n        position += segments[i].header.length;\n        segments[i].end = position;\n      }\n    }\n\n    return segments;\n  }\n\n  function readRegionSegmentInformation(data, start) {\n    return {\n      width: (0, _core_utils.readUint32)(data, start),\n      height: (0, _core_utils.readUint32)(data, start + 4),\n      x: (0, _core_utils.readUint32)(data, start + 8),\n      y: (0, _core_utils.readUint32)(data, start + 12),\n      combinationOperator: data[start + 16] & 7\n    };\n  }\n\n  var RegionSegmentInformationFieldLength = 17;\n\n  function processSegment(segment, visitor) {\n    var header = segment.header;\n    var data = segment.data,\n        position = segment.start,\n        end = segment.end;\n    var args, at, i, atLength;\n\n    switch (header.type) {\n      case 0:\n        var dictionary = {};\n        var dictionaryFlags = (0, _core_utils.readUint16)(data, position);\n        dictionary.huffman = !!(dictionaryFlags & 1);\n        dictionary.refinement = !!(dictionaryFlags & 2);\n        dictionary.huffmanDHSelector = dictionaryFlags >> 2 & 3;\n        dictionary.huffmanDWSelector = dictionaryFlags >> 4 & 3;\n        dictionary.bitmapSizeSelector = dictionaryFlags >> 6 & 1;\n        dictionary.aggregationInstancesSelector = dictionaryFlags >> 7 & 1;\n        dictionary.bitmapCodingContextUsed = !!(dictionaryFlags & 256);\n        dictionary.bitmapCodingContextRetained = !!(dictionaryFlags & 512);\n        dictionary.template = dictionaryFlags >> 10 & 3;\n        dictionary.refinementTemplate = dictionaryFlags >> 12 & 1;\n        position += 2;\n\n        if (!dictionary.huffman) {\n          atLength = dictionary.template === 0 ? 4 : 1;\n          at = [];\n\n          for (i = 0; i < atLength; i++) {\n            at.push({\n              x: (0, _core_utils.readInt8)(data, position),\n              y: (0, _core_utils.readInt8)(data, position + 1)\n            });\n            position += 2;\n          }\n\n          dictionary.at = at;\n        }\n\n        if (dictionary.refinement && !dictionary.refinementTemplate) {\n          at = [];\n\n          for (i = 0; i < 2; i++) {\n            at.push({\n              x: (0, _core_utils.readInt8)(data, position),\n              y: (0, _core_utils.readInt8)(data, position + 1)\n            });\n            position += 2;\n          }\n\n          dictionary.refinementAt = at;\n        }\n\n        dictionary.numberOfExportedSymbols = (0, _core_utils.readUint32)(data, position);\n        position += 4;\n        dictionary.numberOfNewSymbols = (0, _core_utils.readUint32)(data, position);\n        position += 4;\n        args = [dictionary, header.number, header.referredTo, data, position, end];\n        break;\n\n      case 6:\n      case 7:\n        var textRegion = {};\n        textRegion.info = readRegionSegmentInformation(data, position);\n        position += RegionSegmentInformationFieldLength;\n        var textRegionSegmentFlags = (0, _core_utils.readUint16)(data, position);\n        position += 2;\n        textRegion.huffman = !!(textRegionSegmentFlags & 1);\n        textRegion.refinement = !!(textRegionSegmentFlags & 2);\n        textRegion.logStripSize = textRegionSegmentFlags >> 2 & 3;\n        textRegion.stripSize = 1 << textRegion.logStripSize;\n        textRegion.referenceCorner = textRegionSegmentFlags >> 4 & 3;\n        textRegion.transposed = !!(textRegionSegmentFlags & 64);\n        textRegion.combinationOperator = textRegionSegmentFlags >> 7 & 3;\n        textRegion.defaultPixelValue = textRegionSegmentFlags >> 9 & 1;\n        textRegion.dsOffset = textRegionSegmentFlags << 17 >> 27;\n        textRegion.refinementTemplate = textRegionSegmentFlags >> 15 & 1;\n\n        if (textRegion.huffman) {\n          var textRegionHuffmanFlags = (0, _core_utils.readUint16)(data, position);\n          position += 2;\n          textRegion.huffmanFS = textRegionHuffmanFlags & 3;\n          textRegion.huffmanDS = textRegionHuffmanFlags >> 2 & 3;\n          textRegion.huffmanDT = textRegionHuffmanFlags >> 4 & 3;\n          textRegion.huffmanRefinementDW = textRegionHuffmanFlags >> 6 & 3;\n          textRegion.huffmanRefinementDH = textRegionHuffmanFlags >> 8 & 3;\n          textRegion.huffmanRefinementDX = textRegionHuffmanFlags >> 10 & 3;\n          textRegion.huffmanRefinementDY = textRegionHuffmanFlags >> 12 & 3;\n          textRegion.huffmanRefinementSizeSelector = !!(textRegionHuffmanFlags & 0x4000);\n        }\n\n        if (textRegion.refinement && !textRegion.refinementTemplate) {\n          at = [];\n\n          for (i = 0; i < 2; i++) {\n            at.push({\n              x: (0, _core_utils.readInt8)(data, position),\n              y: (0, _core_utils.readInt8)(data, position + 1)\n            });\n            position += 2;\n          }\n\n          textRegion.refinementAt = at;\n        }\n\n        textRegion.numberOfSymbolInstances = (0, _core_utils.readUint32)(data, position);\n        position += 4;\n        args = [textRegion, header.referredTo, data, position, end];\n        break;\n\n      case 16:\n        var patternDictionary = {};\n        var patternDictionaryFlags = data[position++];\n        patternDictionary.mmr = !!(patternDictionaryFlags & 1);\n        patternDictionary.template = patternDictionaryFlags >> 1 & 3;\n        patternDictionary.patternWidth = data[position++];\n        patternDictionary.patternHeight = data[position++];\n        patternDictionary.maxPatternIndex = (0, _core_utils.readUint32)(data, position);\n        position += 4;\n        args = [patternDictionary, header.number, data, position, end];\n        break;\n\n      case 22:\n      case 23:\n        var halftoneRegion = {};\n        halftoneRegion.info = readRegionSegmentInformation(data, position);\n        position += RegionSegmentInformationFieldLength;\n        var halftoneRegionFlags = data[position++];\n        halftoneRegion.mmr = !!(halftoneRegionFlags & 1);\n        halftoneRegion.template = halftoneRegionFlags >> 1 & 3;\n        halftoneRegion.enableSkip = !!(halftoneRegionFlags & 8);\n        halftoneRegion.combinationOperator = halftoneRegionFlags >> 4 & 7;\n        halftoneRegion.defaultPixelValue = halftoneRegionFlags >> 7 & 1;\n        halftoneRegion.gridWidth = (0, _core_utils.readUint32)(data, position);\n        position += 4;\n        halftoneRegion.gridHeight = (0, _core_utils.readUint32)(data, position);\n        position += 4;\n        halftoneRegion.gridOffsetX = (0, _core_utils.readUint32)(data, position) & 0xffffffff;\n        position += 4;\n        halftoneRegion.gridOffsetY = (0, _core_utils.readUint32)(data, position) & 0xffffffff;\n        position += 4;\n        halftoneRegion.gridVectorX = (0, _core_utils.readUint16)(data, position);\n        position += 2;\n        halftoneRegion.gridVectorY = (0, _core_utils.readUint16)(data, position);\n        position += 2;\n        args = [halftoneRegion, header.referredTo, data, position, end];\n        break;\n\n      case 38:\n      case 39:\n        var genericRegion = {};\n        genericRegion.info = readRegionSegmentInformation(data, position);\n        position += RegionSegmentInformationFieldLength;\n        var genericRegionSegmentFlags = data[position++];\n        genericRegion.mmr = !!(genericRegionSegmentFlags & 1);\n        genericRegion.template = genericRegionSegmentFlags >> 1 & 3;\n        genericRegion.prediction = !!(genericRegionSegmentFlags & 8);\n\n        if (!genericRegion.mmr) {\n          atLength = genericRegion.template === 0 ? 4 : 1;\n          at = [];\n\n          for (i = 0; i < atLength; i++) {\n            at.push({\n              x: (0, _core_utils.readInt8)(data, position),\n              y: (0, _core_utils.readInt8)(data, position + 1)\n            });\n            position += 2;\n          }\n\n          genericRegion.at = at;\n        }\n\n        args = [genericRegion, data, position, end];\n        break;\n\n      case 48:\n        var pageInfo = {\n          width: (0, _core_utils.readUint32)(data, position),\n          height: (0, _core_utils.readUint32)(data, position + 4),\n          resolutionX: (0, _core_utils.readUint32)(data, position + 8),\n          resolutionY: (0, _core_utils.readUint32)(data, position + 12)\n        };\n\n        if (pageInfo.height === 0xffffffff) {\n          delete pageInfo.height;\n        }\n\n        var pageSegmentFlags = data[position + 16];\n        (0, _core_utils.readUint16)(data, position + 17);\n        pageInfo.lossless = !!(pageSegmentFlags & 1);\n        pageInfo.refinement = !!(pageSegmentFlags & 2);\n        pageInfo.defaultPixelValue = pageSegmentFlags >> 2 & 1;\n        pageInfo.combinationOperator = pageSegmentFlags >> 3 & 3;\n        pageInfo.requiresBuffer = !!(pageSegmentFlags & 32);\n        pageInfo.combinationOperatorOverride = !!(pageSegmentFlags & 64);\n        args = [pageInfo];\n        break;\n\n      case 49:\n        break;\n\n      case 50:\n        break;\n\n      case 51:\n        break;\n\n      case 53:\n        args = [header.number, data, position, end];\n        break;\n\n      case 62:\n        break;\n\n      default:\n        throw new Jbig2Error(\"segment type \".concat(header.typeName, \"(\").concat(header.type, \")\") + \" is not implemented\");\n    }\n\n    var callbackName = \"on\" + header.typeName;\n\n    if (callbackName in visitor) {\n      visitor[callbackName].apply(visitor, args);\n    }\n  }\n\n  function processSegments(segments, visitor) {\n    for (var i = 0, ii = segments.length; i < ii; i++) {\n      processSegment(segments[i], visitor);\n    }\n  }\n\n  function parseJbig2Chunks(chunks) {\n    var visitor = new SimpleSegmentVisitor();\n\n    for (var i = 0, ii = chunks.length; i < ii; i++) {\n      var chunk = chunks[i];\n      var segments = readSegments({}, chunk.data, chunk.start, chunk.end);\n      processSegments(segments, visitor);\n    }\n\n    return visitor.buffer;\n  }\n\n  function parseJbig2(data) {\n    var end = data.length;\n    var position = 0;\n\n    if (data[position] !== 0x97 || data[position + 1] !== 0x4a || data[position + 2] !== 0x42 || data[position + 3] !== 0x32 || data[position + 4] !== 0x0d || data[position + 5] !== 0x0a || data[position + 6] !== 0x1a || data[position + 7] !== 0x0a) {\n      throw new Jbig2Error(\"parseJbig2 - invalid header.\");\n    }\n\n    var header = Object.create(null);\n    position += 8;\n    var flags = data[position++];\n    header.randomAccess = !(flags & 1);\n\n    if (!(flags & 2)) {\n      header.numberOfPages = (0, _core_utils.readUint32)(data, position);\n      position += 4;\n    }\n\n    var segments = readSegments(header, data, position, end);\n    var visitor = new SimpleSegmentVisitor();\n    processSegments(segments, visitor);\n    var _visitor$currentPageI = visitor.currentPageInfo,\n        width = _visitor$currentPageI.width,\n        height = _visitor$currentPageI.height;\n    var bitPacked = visitor.buffer;\n    var imgData = new Uint8ClampedArray(width * height);\n    var q = 0,\n        k = 0;\n\n    for (var i = 0; i < height; i++) {\n      var mask = 0,\n          buffer = void 0;\n\n      for (var j = 0; j < width; j++) {\n        if (!mask) {\n          mask = 128;\n          buffer = bitPacked[k++];\n        }\n\n        imgData[q++] = buffer & mask ? 0 : 255;\n        mask >>= 1;\n      }\n    }\n\n    return {\n      imgData: imgData,\n      width: width,\n      height: height\n    };\n  }\n\n  function SimpleSegmentVisitor() {}\n\n  SimpleSegmentVisitor.prototype = {\n    onPageInformation: function SimpleSegmentVisitor_onPageInformation(info) {\n      this.currentPageInfo = info;\n      var rowSize = info.width + 7 >> 3;\n      var buffer = new Uint8ClampedArray(rowSize * info.height);\n\n      if (info.defaultPixelValue) {\n        for (var i = 0, ii = buffer.length; i < ii; i++) {\n          buffer[i] = 0xff;\n        }\n      }\n\n      this.buffer = buffer;\n    },\n    drawBitmap: function SimpleSegmentVisitor_drawBitmap(regionInfo, bitmap) {\n      var pageInfo = this.currentPageInfo;\n      var width = regionInfo.width,\n          height = regionInfo.height;\n      var rowSize = pageInfo.width + 7 >> 3;\n      var combinationOperator = pageInfo.combinationOperatorOverride ? regionInfo.combinationOperator : pageInfo.combinationOperator;\n      var buffer = this.buffer;\n      var mask0 = 128 >> (regionInfo.x & 7);\n      var offset0 = regionInfo.y * rowSize + (regionInfo.x >> 3);\n      var i, j, mask, offset;\n\n      switch (combinationOperator) {\n        case 0:\n          for (i = 0; i < height; i++) {\n            mask = mask0;\n            offset = offset0;\n\n            for (j = 0; j < width; j++) {\n              if (bitmap[i][j]) {\n                buffer[offset] |= mask;\n              }\n\n              mask >>= 1;\n\n              if (!mask) {\n                mask = 128;\n                offset++;\n              }\n            }\n\n            offset0 += rowSize;\n          }\n\n          break;\n\n        case 2:\n          for (i = 0; i < height; i++) {\n            mask = mask0;\n            offset = offset0;\n\n            for (j = 0; j < width; j++) {\n              if (bitmap[i][j]) {\n                buffer[offset] ^= mask;\n              }\n\n              mask >>= 1;\n\n              if (!mask) {\n                mask = 128;\n                offset++;\n              }\n            }\n\n            offset0 += rowSize;\n          }\n\n          break;\n\n        default:\n          throw new Jbig2Error(\"operator \".concat(combinationOperator, \" is not supported\"));\n      }\n    },\n    onImmediateGenericRegion: function SimpleSegmentVisitor_onImmediateGenericRegion(region, data, start, end) {\n      var regionInfo = region.info;\n      var decodingContext = new DecodingContext(data, start, end);\n      var bitmap = decodeBitmap(region.mmr, regionInfo.width, regionInfo.height, region.template, region.prediction, null, region.at, decodingContext);\n      this.drawBitmap(regionInfo, bitmap);\n    },\n    onImmediateLosslessGenericRegion: function SimpleSegmentVisitor_onImmediateLosslessGenericRegion() {\n      this.onImmediateGenericRegion.apply(this, arguments);\n    },\n    onSymbolDictionary: function SimpleSegmentVisitor_onSymbolDictionary(dictionary, currentSegment, referredSegments, data, start, end) {\n      var huffmanTables, huffmanInput;\n\n      if (dictionary.huffman) {\n        huffmanTables = getSymbolDictionaryHuffmanTables(dictionary, referredSegments, this.customTables);\n        huffmanInput = new Reader(data, start, end);\n      }\n\n      var symbols = this.symbols;\n\n      if (!symbols) {\n        this.symbols = symbols = {};\n      }\n\n      var inputSymbols = [];\n\n      for (var i = 0, ii = referredSegments.length; i < ii; i++) {\n        var referredSymbols = symbols[referredSegments[i]];\n\n        if (referredSymbols) {\n          inputSymbols = inputSymbols.concat(referredSymbols);\n        }\n      }\n\n      var decodingContext = new DecodingContext(data, start, end);\n      symbols[currentSegment] = decodeSymbolDictionary(dictionary.huffman, dictionary.refinement, inputSymbols, dictionary.numberOfNewSymbols, dictionary.numberOfExportedSymbols, huffmanTables, dictionary.template, dictionary.at, dictionary.refinementTemplate, dictionary.refinementAt, decodingContext, huffmanInput);\n    },\n    onImmediateTextRegion: function SimpleSegmentVisitor_onImmediateTextRegion(region, referredSegments, data, start, end) {\n      var regionInfo = region.info;\n      var huffmanTables, huffmanInput;\n      var symbols = this.symbols;\n      var inputSymbols = [];\n\n      for (var i = 0, ii = referredSegments.length; i < ii; i++) {\n        var referredSymbols = symbols[referredSegments[i]];\n\n        if (referredSymbols) {\n          inputSymbols = inputSymbols.concat(referredSymbols);\n        }\n      }\n\n      var symbolCodeLength = (0, _core_utils.log2)(inputSymbols.length);\n\n      if (region.huffman) {\n        huffmanInput = new Reader(data, start, end);\n        huffmanTables = getTextRegionHuffmanTables(region, referredSegments, this.customTables, inputSymbols.length, huffmanInput);\n      }\n\n      var decodingContext = new DecodingContext(data, start, end);\n      var bitmap = decodeTextRegion(region.huffman, region.refinement, regionInfo.width, regionInfo.height, region.defaultPixelValue, region.numberOfSymbolInstances, region.stripSize, inputSymbols, symbolCodeLength, region.transposed, region.dsOffset, region.referenceCorner, region.combinationOperator, huffmanTables, region.refinementTemplate, region.refinementAt, decodingContext, region.logStripSize, huffmanInput);\n      this.drawBitmap(regionInfo, bitmap);\n    },\n    onImmediateLosslessTextRegion: function SimpleSegmentVisitor_onImmediateLosslessTextRegion() {\n      this.onImmediateTextRegion.apply(this, arguments);\n    },\n    onPatternDictionary: function onPatternDictionary(dictionary, currentSegment, data, start, end) {\n      var patterns = this.patterns;\n\n      if (!patterns) {\n        this.patterns = patterns = {};\n      }\n\n      var decodingContext = new DecodingContext(data, start, end);\n      patterns[currentSegment] = decodePatternDictionary(dictionary.mmr, dictionary.patternWidth, dictionary.patternHeight, dictionary.maxPatternIndex, dictionary.template, decodingContext);\n    },\n    onImmediateHalftoneRegion: function onImmediateHalftoneRegion(region, referredSegments, data, start, end) {\n      var patterns = this.patterns[referredSegments[0]];\n      var regionInfo = region.info;\n      var decodingContext = new DecodingContext(data, start, end);\n      var bitmap = decodeHalftoneRegion(region.mmr, patterns, region.template, regionInfo.width, regionInfo.height, region.defaultPixelValue, region.enableSkip, region.combinationOperator, region.gridWidth, region.gridHeight, region.gridOffsetX, region.gridOffsetY, region.gridVectorX, region.gridVectorY, decodingContext);\n      this.drawBitmap(regionInfo, bitmap);\n    },\n    onImmediateLosslessHalftoneRegion: function onImmediateLosslessHalftoneRegion() {\n      this.onImmediateHalftoneRegion.apply(this, arguments);\n    },\n    onTables: function onTables(currentSegment, data, start, end) {\n      var customTables = this.customTables;\n\n      if (!customTables) {\n        this.customTables = customTables = {};\n      }\n\n      customTables[currentSegment] = decodeTablesSegment(data, start, end);\n    }\n  };\n\n  function HuffmanLine(lineData) {\n    if (lineData.length === 2) {\n      this.isOOB = true;\n      this.rangeLow = 0;\n      this.prefixLength = lineData[0];\n      this.rangeLength = 0;\n      this.prefixCode = lineData[1];\n      this.isLowerRange = false;\n    } else {\n      this.isOOB = false;\n      this.rangeLow = lineData[0];\n      this.prefixLength = lineData[1];\n      this.rangeLength = lineData[2];\n      this.prefixCode = lineData[3];\n      this.isLowerRange = lineData[4] === \"lower\";\n    }\n  }\n\n  function HuffmanTreeNode(line) {\n    this.children = [];\n\n    if (line) {\n      this.isLeaf = true;\n      this.rangeLength = line.rangeLength;\n      this.rangeLow = line.rangeLow;\n      this.isLowerRange = line.isLowerRange;\n      this.isOOB = line.isOOB;\n    } else {\n      this.isLeaf = false;\n    }\n  }\n\n  HuffmanTreeNode.prototype = {\n    buildTree: function buildTree(line, shift) {\n      var bit = line.prefixCode >> shift & 1;\n\n      if (shift <= 0) {\n        this.children[bit] = new HuffmanTreeNode(line);\n      } else {\n        var node = this.children[bit];\n\n        if (!node) {\n          this.children[bit] = node = new HuffmanTreeNode(null);\n        }\n\n        node.buildTree(line, shift - 1);\n      }\n    },\n    decodeNode: function decodeNode(reader) {\n      if (this.isLeaf) {\n        if (this.isOOB) {\n          return null;\n        }\n\n        var htOffset = reader.readBits(this.rangeLength);\n        return this.rangeLow + (this.isLowerRange ? -htOffset : htOffset);\n      }\n\n      var node = this.children[reader.readBit()];\n\n      if (!node) {\n        throw new Jbig2Error(\"invalid Huffman data\");\n      }\n\n      return node.decodeNode(reader);\n    }\n  };\n\n  function HuffmanTable(lines, prefixCodesDone) {\n    if (!prefixCodesDone) {\n      this.assignPrefixCodes(lines);\n    }\n\n    this.rootNode = new HuffmanTreeNode(null);\n\n    for (var i = 0, ii = lines.length; i < ii; i++) {\n      var line = lines[i];\n\n      if (line.prefixLength > 0) {\n        this.rootNode.buildTree(line, line.prefixLength - 1);\n      }\n    }\n  }\n\n  HuffmanTable.prototype = {\n    decode: function decode(reader) {\n      return this.rootNode.decodeNode(reader);\n    },\n    assignPrefixCodes: function assignPrefixCodes(lines) {\n      var linesLength = lines.length;\n      var prefixLengthMax = 0;\n\n      for (var i = 0; i < linesLength; i++) {\n        prefixLengthMax = Math.max(prefixLengthMax, lines[i].prefixLength);\n      }\n\n      var histogram = new Uint32Array(prefixLengthMax + 1);\n\n      for (var _i2 = 0; _i2 < linesLength; _i2++) {\n        histogram[lines[_i2].prefixLength]++;\n      }\n\n      var currentLength = 1,\n          firstCode = 0,\n          currentCode,\n          currentTemp,\n          line;\n      histogram[0] = 0;\n\n      while (currentLength <= prefixLengthMax) {\n        firstCode = firstCode + histogram[currentLength - 1] << 1;\n        currentCode = firstCode;\n        currentTemp = 0;\n\n        while (currentTemp < linesLength) {\n          line = lines[currentTemp];\n\n          if (line.prefixLength === currentLength) {\n            line.prefixCode = currentCode;\n            currentCode++;\n          }\n\n          currentTemp++;\n        }\n\n        currentLength++;\n      }\n    }\n  };\n\n  function decodeTablesSegment(data, start, end) {\n    var flags = data[start];\n    var lowestValue = (0, _core_utils.readUint32)(data, start + 1) & 0xffffffff;\n    var highestValue = (0, _core_utils.readUint32)(data, start + 5) & 0xffffffff;\n    var reader = new Reader(data, start + 9, end);\n    var prefixSizeBits = (flags >> 1 & 7) + 1;\n    var rangeSizeBits = (flags >> 4 & 7) + 1;\n    var lines = [];\n    var prefixLength,\n        rangeLength,\n        currentRangeLow = lowestValue;\n\n    do {\n      prefixLength = reader.readBits(prefixSizeBits);\n      rangeLength = reader.readBits(rangeSizeBits);\n      lines.push(new HuffmanLine([currentRangeLow, prefixLength, rangeLength, 0]));\n      currentRangeLow += 1 << rangeLength;\n    } while (currentRangeLow < highestValue);\n\n    prefixLength = reader.readBits(prefixSizeBits);\n    lines.push(new HuffmanLine([lowestValue - 1, prefixLength, 32, 0, \"lower\"]));\n    prefixLength = reader.readBits(prefixSizeBits);\n    lines.push(new HuffmanLine([highestValue, prefixLength, 32, 0]));\n\n    if (flags & 1) {\n      prefixLength = reader.readBits(prefixSizeBits);\n      lines.push(new HuffmanLine([prefixLength, 0]));\n    }\n\n    return new HuffmanTable(lines, false);\n  }\n\n  var standardTablesCache = {};\n\n  function getStandardTable(number) {\n    var table = standardTablesCache[number];\n\n    if (table) {\n      return table;\n    }\n\n    var lines;\n\n    switch (number) {\n      case 1:\n        lines = [[0, 1, 4, 0x0], [16, 2, 8, 0x2], [272, 3, 16, 0x6], [65808, 3, 32, 0x7]];\n        break;\n\n      case 2:\n        lines = [[0, 1, 0, 0x0], [1, 2, 0, 0x2], [2, 3, 0, 0x6], [3, 4, 3, 0xe], [11, 5, 6, 0x1e], [75, 6, 32, 0x3e], [6, 0x3f]];\n        break;\n\n      case 3:\n        lines = [[-256, 8, 8, 0xfe], [0, 1, 0, 0x0], [1, 2, 0, 0x2], [2, 3, 0, 0x6], [3, 4, 3, 0xe], [11, 5, 6, 0x1e], [-257, 8, 32, 0xff, \"lower\"], [75, 7, 32, 0x7e], [6, 0x3e]];\n        break;\n\n      case 4:\n        lines = [[1, 1, 0, 0x0], [2, 2, 0, 0x2], [3, 3, 0, 0x6], [4, 4, 3, 0xe], [12, 5, 6, 0x1e], [76, 5, 32, 0x1f]];\n        break;\n\n      case 5:\n        lines = [[-255, 7, 8, 0x7e], [1, 1, 0, 0x0], [2, 2, 0, 0x2], [3, 3, 0, 0x6], [4, 4, 3, 0xe], [12, 5, 6, 0x1e], [-256, 7, 32, 0x7f, \"lower\"], [76, 6, 32, 0x3e]];\n        break;\n\n      case 6:\n        lines = [[-2048, 5, 10, 0x1c], [-1024, 4, 9, 0x8], [-512, 4, 8, 0x9], [-256, 4, 7, 0xa], [-128, 5, 6, 0x1d], [-64, 5, 5, 0x1e], [-32, 4, 5, 0xb], [0, 2, 7, 0x0], [128, 3, 7, 0x2], [256, 3, 8, 0x3], [512, 4, 9, 0xc], [1024, 4, 10, 0xd], [-2049, 6, 32, 0x3e, \"lower\"], [2048, 6, 32, 0x3f]];\n        break;\n\n      case 7:\n        lines = [[-1024, 4, 9, 0x8], [-512, 3, 8, 0x0], [-256, 4, 7, 0x9], [-128, 5, 6, 0x1a], [-64, 5, 5, 0x1b], [-32, 4, 5, 0xa], [0, 4, 5, 0xb], [32, 5, 5, 0x1c], [64, 5, 6, 0x1d], [128, 4, 7, 0xc], [256, 3, 8, 0x1], [512, 3, 9, 0x2], [1024, 3, 10, 0x3], [-1025, 5, 32, 0x1e, \"lower\"], [2048, 5, 32, 0x1f]];\n        break;\n\n      case 8:\n        lines = [[-15, 8, 3, 0xfc], [-7, 9, 1, 0x1fc], [-5, 8, 1, 0xfd], [-3, 9, 0, 0x1fd], [-2, 7, 0, 0x7c], [-1, 4, 0, 0xa], [0, 2, 1, 0x0], [2, 5, 0, 0x1a], [3, 6, 0, 0x3a], [4, 3, 4, 0x4], [20, 6, 1, 0x3b], [22, 4, 4, 0xb], [38, 4, 5, 0xc], [70, 5, 6, 0x1b], [134, 5, 7, 0x1c], [262, 6, 7, 0x3c], [390, 7, 8, 0x7d], [646, 6, 10, 0x3d], [-16, 9, 32, 0x1fe, \"lower\"], [1670, 9, 32, 0x1ff], [2, 0x1]];\n        break;\n\n      case 9:\n        lines = [[-31, 8, 4, 0xfc], [-15, 9, 2, 0x1fc], [-11, 8, 2, 0xfd], [-7, 9, 1, 0x1fd], [-5, 7, 1, 0x7c], [-3, 4, 1, 0xa], [-1, 3, 1, 0x2], [1, 3, 1, 0x3], [3, 5, 1, 0x1a], [5, 6, 1, 0x3a], [7, 3, 5, 0x4], [39, 6, 2, 0x3b], [43, 4, 5, 0xb], [75, 4, 6, 0xc], [139, 5, 7, 0x1b], [267, 5, 8, 0x1c], [523, 6, 8, 0x3c], [779, 7, 9, 0x7d], [1291, 6, 11, 0x3d], [-32, 9, 32, 0x1fe, \"lower\"], [3339, 9, 32, 0x1ff], [2, 0x0]];\n        break;\n\n      case 10:\n        lines = [[-21, 7, 4, 0x7a], [-5, 8, 0, 0xfc], [-4, 7, 0, 0x7b], [-3, 5, 0, 0x18], [-2, 2, 2, 0x0], [2, 5, 0, 0x19], [3, 6, 0, 0x36], [4, 7, 0, 0x7c], [5, 8, 0, 0xfd], [6, 2, 6, 0x1], [70, 5, 5, 0x1a], [102, 6, 5, 0x37], [134, 6, 6, 0x38], [198, 6, 7, 0x39], [326, 6, 8, 0x3a], [582, 6, 9, 0x3b], [1094, 6, 10, 0x3c], [2118, 7, 11, 0x7d], [-22, 8, 32, 0xfe, \"lower\"], [4166, 8, 32, 0xff], [2, 0x2]];\n        break;\n\n      case 11:\n        lines = [[1, 1, 0, 0x0], [2, 2, 1, 0x2], [4, 4, 0, 0xc], [5, 4, 1, 0xd], [7, 5, 1, 0x1c], [9, 5, 2, 0x1d], [13, 6, 2, 0x3c], [17, 7, 2, 0x7a], [21, 7, 3, 0x7b], [29, 7, 4, 0x7c], [45, 7, 5, 0x7d], [77, 7, 6, 0x7e], [141, 7, 32, 0x7f]];\n        break;\n\n      case 12:\n        lines = [[1, 1, 0, 0x0], [2, 2, 0, 0x2], [3, 3, 1, 0x6], [5, 5, 0, 0x1c], [6, 5, 1, 0x1d], [8, 6, 1, 0x3c], [10, 7, 0, 0x7a], [11, 7, 1, 0x7b], [13, 7, 2, 0x7c], [17, 7, 3, 0x7d], [25, 7, 4, 0x7e], [41, 8, 5, 0xfe], [73, 8, 32, 0xff]];\n        break;\n\n      case 13:\n        lines = [[1, 1, 0, 0x0], [2, 3, 0, 0x4], [3, 4, 0, 0xc], [4, 5, 0, 0x1c], [5, 4, 1, 0xd], [7, 3, 3, 0x5], [15, 6, 1, 0x3a], [17, 6, 2, 0x3b], [21, 6, 3, 0x3c], [29, 6, 4, 0x3d], [45, 6, 5, 0x3e], [77, 7, 6, 0x7e], [141, 7, 32, 0x7f]];\n        break;\n\n      case 14:\n        lines = [[-2, 3, 0, 0x4], [-1, 3, 0, 0x5], [0, 1, 0, 0x0], [1, 3, 0, 0x6], [2, 3, 0, 0x7]];\n        break;\n\n      case 15:\n        lines = [[-24, 7, 4, 0x7c], [-8, 6, 2, 0x3c], [-4, 5, 1, 0x1c], [-2, 4, 0, 0xc], [-1, 3, 0, 0x4], [0, 1, 0, 0x0], [1, 3, 0, 0x5], [2, 4, 0, 0xd], [3, 5, 1, 0x1d], [5, 6, 2, 0x3d], [9, 7, 4, 0x7d], [-25, 7, 32, 0x7e, \"lower\"], [25, 7, 32, 0x7f]];\n        break;\n\n      default:\n        throw new Jbig2Error(\"standard table B.\".concat(number, \" does not exist\"));\n    }\n\n    for (var i = 0, ii = lines.length; i < ii; i++) {\n      lines[i] = new HuffmanLine(lines[i]);\n    }\n\n    table = new HuffmanTable(lines, true);\n    standardTablesCache[number] = table;\n    return table;\n  }\n\n  function Reader(data, start, end) {\n    this.data = data;\n    this.start = start;\n    this.end = end;\n    this.position = start;\n    this.shift = -1;\n    this.currentByte = 0;\n  }\n\n  Reader.prototype = {\n    readBit: function readBit() {\n      if (this.shift < 0) {\n        if (this.position >= this.end) {\n          throw new Jbig2Error(\"end of data while reading bit\");\n        }\n\n        this.currentByte = this.data[this.position++];\n        this.shift = 7;\n      }\n\n      var bit = this.currentByte >> this.shift & 1;\n      this.shift--;\n      return bit;\n    },\n    readBits: function readBits(numBits) {\n      var result = 0,\n          i;\n\n      for (i = numBits - 1; i >= 0; i--) {\n        result |= this.readBit() << i;\n      }\n\n      return result;\n    },\n    byteAlign: function byteAlign() {\n      this.shift = -1;\n    },\n    next: function next() {\n      if (this.position >= this.end) {\n        return -1;\n      }\n\n      return this.data[this.position++];\n    }\n  };\n\n  function getCustomHuffmanTable(index, referredTo, customTables) {\n    var currentIndex = 0;\n\n    for (var i = 0, ii = referredTo.length; i < ii; i++) {\n      var table = customTables[referredTo[i]];\n\n      if (table) {\n        if (index === currentIndex) {\n          return table;\n        }\n\n        currentIndex++;\n      }\n    }\n\n    throw new Jbig2Error(\"can't find custom Huffman table\");\n  }\n\n  function getTextRegionHuffmanTables(textRegion, referredTo, customTables, numberOfSymbols, reader) {\n    var codes = [];\n\n    for (var i = 0; i <= 34; i++) {\n      var codeLength = reader.readBits(4);\n      codes.push(new HuffmanLine([i, codeLength, 0, 0]));\n    }\n\n    var runCodesTable = new HuffmanTable(codes, false);\n    codes.length = 0;\n\n    for (var _i3 = 0; _i3 < numberOfSymbols;) {\n      var _codeLength = runCodesTable.decode(reader);\n\n      if (_codeLength >= 32) {\n        var repeatedLength = void 0,\n            numberOfRepeats = void 0,\n            j = void 0;\n\n        switch (_codeLength) {\n          case 32:\n            if (_i3 === 0) {\n              throw new Jbig2Error(\"no previous value in symbol ID table\");\n            }\n\n            numberOfRepeats = reader.readBits(2) + 3;\n            repeatedLength = codes[_i3 - 1].prefixLength;\n            break;\n\n          case 33:\n            numberOfRepeats = reader.readBits(3) + 3;\n            repeatedLength = 0;\n            break;\n\n          case 34:\n            numberOfRepeats = reader.readBits(7) + 11;\n            repeatedLength = 0;\n            break;\n\n          default:\n            throw new Jbig2Error(\"invalid code length in symbol ID table\");\n        }\n\n        for (j = 0; j < numberOfRepeats; j++) {\n          codes.push(new HuffmanLine([_i3, repeatedLength, 0, 0]));\n          _i3++;\n        }\n      } else {\n        codes.push(new HuffmanLine([_i3, _codeLength, 0, 0]));\n        _i3++;\n      }\n    }\n\n    reader.byteAlign();\n    var symbolIDTable = new HuffmanTable(codes, false);\n    var customIndex = 0,\n        tableFirstS,\n        tableDeltaS,\n        tableDeltaT;\n\n    switch (textRegion.huffmanFS) {\n      case 0:\n      case 1:\n        tableFirstS = getStandardTable(textRegion.huffmanFS + 6);\n        break;\n\n      case 3:\n        tableFirstS = getCustomHuffmanTable(customIndex, referredTo, customTables);\n        customIndex++;\n        break;\n\n      default:\n        throw new Jbig2Error(\"invalid Huffman FS selector\");\n    }\n\n    switch (textRegion.huffmanDS) {\n      case 0:\n      case 1:\n      case 2:\n        tableDeltaS = getStandardTable(textRegion.huffmanDS + 8);\n        break;\n\n      case 3:\n        tableDeltaS = getCustomHuffmanTable(customIndex, referredTo, customTables);\n        customIndex++;\n        break;\n\n      default:\n        throw new Jbig2Error(\"invalid Huffman DS selector\");\n    }\n\n    switch (textRegion.huffmanDT) {\n      case 0:\n      case 1:\n      case 2:\n        tableDeltaT = getStandardTable(textRegion.huffmanDT + 11);\n        break;\n\n      case 3:\n        tableDeltaT = getCustomHuffmanTable(customIndex, referredTo, customTables);\n        customIndex++;\n        break;\n\n      default:\n        throw new Jbig2Error(\"invalid Huffman DT selector\");\n    }\n\n    if (textRegion.refinement) {\n      throw new Jbig2Error(\"refinement with Huffman is not supported\");\n    }\n\n    return {\n      symbolIDTable: symbolIDTable,\n      tableFirstS: tableFirstS,\n      tableDeltaS: tableDeltaS,\n      tableDeltaT: tableDeltaT\n    };\n  }\n\n  function getSymbolDictionaryHuffmanTables(dictionary, referredTo, customTables) {\n    var customIndex = 0,\n        tableDeltaHeight,\n        tableDeltaWidth;\n\n    switch (dictionary.huffmanDHSelector) {\n      case 0:\n      case 1:\n        tableDeltaHeight = getStandardTable(dictionary.huffmanDHSelector + 4);\n        break;\n\n      case 3:\n        tableDeltaHeight = getCustomHuffmanTable(customIndex, referredTo, customTables);\n        customIndex++;\n        break;\n\n      default:\n        throw new Jbig2Error(\"invalid Huffman DH selector\");\n    }\n\n    switch (dictionary.huffmanDWSelector) {\n      case 0:\n      case 1:\n        tableDeltaWidth = getStandardTable(dictionary.huffmanDWSelector + 2);\n        break;\n\n      case 3:\n        tableDeltaWidth = getCustomHuffmanTable(customIndex, referredTo, customTables);\n        customIndex++;\n        break;\n\n      default:\n        throw new Jbig2Error(\"invalid Huffman DW selector\");\n    }\n\n    var tableBitmapSize, tableAggregateInstances;\n\n    if (dictionary.bitmapSizeSelector) {\n      tableBitmapSize = getCustomHuffmanTable(customIndex, referredTo, customTables);\n      customIndex++;\n    } else {\n      tableBitmapSize = getStandardTable(1);\n    }\n\n    if (dictionary.aggregationInstancesSelector) {\n      tableAggregateInstances = getCustomHuffmanTable(customIndex, referredTo, customTables);\n    } else {\n      tableAggregateInstances = getStandardTable(1);\n    }\n\n    return {\n      tableDeltaHeight: tableDeltaHeight,\n      tableDeltaWidth: tableDeltaWidth,\n      tableBitmapSize: tableBitmapSize,\n      tableAggregateInstances: tableAggregateInstances\n    };\n  }\n\n  function readUncompressedBitmap(reader, width, height) {\n    var bitmap = [];\n\n    for (var y = 0; y < height; y++) {\n      var row = new Uint8Array(width);\n      bitmap.push(row);\n\n      for (var x = 0; x < width; x++) {\n        row[x] = reader.readBit();\n      }\n\n      reader.byteAlign();\n    }\n\n    return bitmap;\n  }\n\n  function decodeMMRBitmap(input, width, height, endOfBlock) {\n    var params = {\n      K: -1,\n      Columns: width,\n      Rows: height,\n      BlackIs1: true,\n      EndOfBlock: endOfBlock\n    };\n    var decoder = new _ccitt.CCITTFaxDecoder(input, params);\n    var bitmap = [];\n    var currentByte,\n        eof = false;\n\n    for (var y = 0; y < height; y++) {\n      var row = new Uint8Array(width);\n      bitmap.push(row);\n      var shift = -1;\n\n      for (var x = 0; x < width; x++) {\n        if (shift < 0) {\n          currentByte = decoder.readNextChar();\n\n          if (currentByte === -1) {\n            currentByte = 0;\n            eof = true;\n          }\n\n          shift = 7;\n        }\n\n        row[x] = currentByte >> shift & 1;\n        shift--;\n      }\n    }\n\n    if (endOfBlock && !eof) {\n      var lookForEOFLimit = 5;\n\n      for (var i = 0; i < lookForEOFLimit; i++) {\n        if (decoder.readNextChar() === -1) {\n          break;\n        }\n      }\n    }\n\n    return bitmap;\n  }\n\n  function Jbig2Image() {}\n\n  Jbig2Image.prototype = {\n    parseChunks: function parseChunks(chunks) {\n      return parseJbig2Chunks(chunks);\n    },\n    parse: function parse(data) {\n      var _parseJbig = parseJbig2(data),\n          imgData = _parseJbig.imgData,\n          width = _parseJbig.width,\n          height = _parseJbig.height;\n\n      this.width = width;\n      this.height = height;\n      return imgData;\n    }\n  };\n  return Jbig2Image;\n}();\n\nexports.Jbig2Image = Jbig2Image;\n\n/***/ }),\n/* 210 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.ArithmeticDecoder = void 0;\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar QeTable = [{\n  qe: 0x5601,\n  nmps: 1,\n  nlps: 1,\n  switchFlag: 1\n}, {\n  qe: 0x3401,\n  nmps: 2,\n  nlps: 6,\n  switchFlag: 0\n}, {\n  qe: 0x1801,\n  nmps: 3,\n  nlps: 9,\n  switchFlag: 0\n}, {\n  qe: 0x0ac1,\n  nmps: 4,\n  nlps: 12,\n  switchFlag: 0\n}, {\n  qe: 0x0521,\n  nmps: 5,\n  nlps: 29,\n  switchFlag: 0\n}, {\n  qe: 0x0221,\n  nmps: 38,\n  nlps: 33,\n  switchFlag: 0\n}, {\n  qe: 0x5601,\n  nmps: 7,\n  nlps: 6,\n  switchFlag: 1\n}, {\n  qe: 0x5401,\n  nmps: 8,\n  nlps: 14,\n  switchFlag: 0\n}, {\n  qe: 0x4801,\n  nmps: 9,\n  nlps: 14,\n  switchFlag: 0\n}, {\n  qe: 0x3801,\n  nmps: 10,\n  nlps: 14,\n  switchFlag: 0\n}, {\n  qe: 0x3001,\n  nmps: 11,\n  nlps: 17,\n  switchFlag: 0\n}, {\n  qe: 0x2401,\n  nmps: 12,\n  nlps: 18,\n  switchFlag: 0\n}, {\n  qe: 0x1c01,\n  nmps: 13,\n  nlps: 20,\n  switchFlag: 0\n}, {\n  qe: 0x1601,\n  nmps: 29,\n  nlps: 21,\n  switchFlag: 0\n}, {\n  qe: 0x5601,\n  nmps: 15,\n  nlps: 14,\n  switchFlag: 1\n}, {\n  qe: 0x5401,\n  nmps: 16,\n  nlps: 14,\n  switchFlag: 0\n}, {\n  qe: 0x5101,\n  nmps: 17,\n  nlps: 15,\n  switchFlag: 0\n}, {\n  qe: 0x4801,\n  nmps: 18,\n  nlps: 16,\n  switchFlag: 0\n}, {\n  qe: 0x3801,\n  nmps: 19,\n  nlps: 17,\n  switchFlag: 0\n}, {\n  qe: 0x3401,\n  nmps: 20,\n  nlps: 18,\n  switchFlag: 0\n}, {\n  qe: 0x3001,\n  nmps: 21,\n  nlps: 19,\n  switchFlag: 0\n}, {\n  qe: 0x2801,\n  nmps: 22,\n  nlps: 19,\n  switchFlag: 0\n}, {\n  qe: 0x2401,\n  nmps: 23,\n  nlps: 20,\n  switchFlag: 0\n}, {\n  qe: 0x2201,\n  nmps: 24,\n  nlps: 21,\n  switchFlag: 0\n}, {\n  qe: 0x1c01,\n  nmps: 25,\n  nlps: 22,\n  switchFlag: 0\n}, {\n  qe: 0x1801,\n  nmps: 26,\n  nlps: 23,\n  switchFlag: 0\n}, {\n  qe: 0x1601,\n  nmps: 27,\n  nlps: 24,\n  switchFlag: 0\n}, {\n  qe: 0x1401,\n  nmps: 28,\n  nlps: 25,\n  switchFlag: 0\n}, {\n  qe: 0x1201,\n  nmps: 29,\n  nlps: 26,\n  switchFlag: 0\n}, {\n  qe: 0x1101,\n  nmps: 30,\n  nlps: 27,\n  switchFlag: 0\n}, {\n  qe: 0x0ac1,\n  nmps: 31,\n  nlps: 28,\n  switchFlag: 0\n}, {\n  qe: 0x09c1,\n  nmps: 32,\n  nlps: 29,\n  switchFlag: 0\n}, {\n  qe: 0x08a1,\n  nmps: 33,\n  nlps: 30,\n  switchFlag: 0\n}, {\n  qe: 0x0521,\n  nmps: 34,\n  nlps: 31,\n  switchFlag: 0\n}, {\n  qe: 0x0441,\n  nmps: 35,\n  nlps: 32,\n  switchFlag: 0\n}, {\n  qe: 0x02a1,\n  nmps: 36,\n  nlps: 33,\n  switchFlag: 0\n}, {\n  qe: 0x0221,\n  nmps: 37,\n  nlps: 34,\n  switchFlag: 0\n}, {\n  qe: 0x0141,\n  nmps: 38,\n  nlps: 35,\n  switchFlag: 0\n}, {\n  qe: 0x0111,\n  nmps: 39,\n  nlps: 36,\n  switchFlag: 0\n}, {\n  qe: 0x0085,\n  nmps: 40,\n  nlps: 37,\n  switchFlag: 0\n}, {\n  qe: 0x0049,\n  nmps: 41,\n  nlps: 38,\n  switchFlag: 0\n}, {\n  qe: 0x0025,\n  nmps: 42,\n  nlps: 39,\n  switchFlag: 0\n}, {\n  qe: 0x0015,\n  nmps: 43,\n  nlps: 40,\n  switchFlag: 0\n}, {\n  qe: 0x0009,\n  nmps: 44,\n  nlps: 41,\n  switchFlag: 0\n}, {\n  qe: 0x0005,\n  nmps: 45,\n  nlps: 42,\n  switchFlag: 0\n}, {\n  qe: 0x0001,\n  nmps: 45,\n  nlps: 43,\n  switchFlag: 0\n}, {\n  qe: 0x5601,\n  nmps: 46,\n  nlps: 46,\n  switchFlag: 0\n}];\n\nvar ArithmeticDecoder = /*#__PURE__*/function () {\n  function ArithmeticDecoder(data, start, end) {\n    _classCallCheck(this, ArithmeticDecoder);\n\n    this.data = data;\n    this.bp = start;\n    this.dataEnd = end;\n    this.chigh = data[start];\n    this.clow = 0;\n    this.byteIn();\n    this.chigh = this.chigh << 7 & 0xffff | this.clow >> 9 & 0x7f;\n    this.clow = this.clow << 7 & 0xffff;\n    this.ct -= 7;\n    this.a = 0x8000;\n  }\n\n  _createClass(ArithmeticDecoder, [{\n    key: \"byteIn\",\n    value: function byteIn() {\n      var data = this.data;\n      var bp = this.bp;\n\n      if (data[bp] === 0xff) {\n        if (data[bp + 1] > 0x8f) {\n          this.clow += 0xff00;\n          this.ct = 8;\n        } else {\n          bp++;\n          this.clow += data[bp] << 9;\n          this.ct = 7;\n          this.bp = bp;\n        }\n      } else {\n        bp++;\n        this.clow += bp < this.dataEnd ? data[bp] << 8 : 0xff00;\n        this.ct = 8;\n        this.bp = bp;\n      }\n\n      if (this.clow > 0xffff) {\n        this.chigh += this.clow >> 16;\n        this.clow &= 0xffff;\n      }\n    }\n  }, {\n    key: \"readBit\",\n    value: function readBit(contexts, pos) {\n      var cx_index = contexts[pos] >> 1,\n          cx_mps = contexts[pos] & 1;\n      var qeTableIcx = QeTable[cx_index];\n      var qeIcx = qeTableIcx.qe;\n      var d;\n      var a = this.a - qeIcx;\n\n      if (this.chigh < qeIcx) {\n        if (a < qeIcx) {\n          a = qeIcx;\n          d = cx_mps;\n          cx_index = qeTableIcx.nmps;\n        } else {\n          a = qeIcx;\n          d = 1 ^ cx_mps;\n\n          if (qeTableIcx.switchFlag === 1) {\n            cx_mps = d;\n          }\n\n          cx_index = qeTableIcx.nlps;\n        }\n      } else {\n        this.chigh -= qeIcx;\n\n        if ((a & 0x8000) !== 0) {\n          this.a = a;\n          return cx_mps;\n        }\n\n        if (a < qeIcx) {\n          d = 1 ^ cx_mps;\n\n          if (qeTableIcx.switchFlag === 1) {\n            cx_mps = d;\n          }\n\n          cx_index = qeTableIcx.nlps;\n        } else {\n          d = cx_mps;\n          cx_index = qeTableIcx.nmps;\n        }\n      }\n\n      do {\n        if (this.ct === 0) {\n          this.byteIn();\n        }\n\n        a <<= 1;\n        this.chigh = this.chigh << 1 & 0xffff | this.clow >> 15 & 1;\n        this.clow = this.clow << 1 & 0xffff;\n        this.ct--;\n      } while ((a & 0x8000) === 0);\n\n      this.a = a;\n      contexts[pos] = cx_index << 1 | cx_mps;\n      return d;\n    }\n  }]);\n\n  return ArithmeticDecoder;\n}();\n\nexports.ArithmeticDecoder = ArithmeticDecoder;\n\n/***/ }),\n/* 211 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.JpegStream = void 0;\n\nvar _stream = __w_pdfjs_require__(205);\n\nvar _primitives = __w_pdfjs_require__(198);\n\nvar _jpg = __w_pdfjs_require__(212);\n\nvar _util = __w_pdfjs_require__(5);\n\nvar JpegStream = function JpegStreamClosure() {\n  function JpegStream(stream, maybeLength, dict, params) {\n    var ch;\n\n    while ((ch = stream.getByte()) !== -1) {\n      if (ch === 0xff) {\n        stream.skip(-1);\n        break;\n      }\n    }\n\n    this.stream = stream;\n    this.maybeLength = maybeLength;\n    this.dict = dict;\n    this.params = params;\n\n    _stream.DecodeStream.call(this, maybeLength);\n  }\n\n  JpegStream.prototype = Object.create(_stream.DecodeStream.prototype);\n  Object.defineProperty(JpegStream.prototype, \"bytes\", {\n    get: function JpegStream_bytes() {\n      return (0, _util.shadow)(this, \"bytes\", this.stream.getBytes(this.maybeLength));\n    },\n    configurable: true\n  });\n\n  JpegStream.prototype.ensureBuffer = function (requested) {};\n\n  JpegStream.prototype.readBlock = function () {\n    if (this.eof) {\n      return;\n    }\n\n    var jpegOptions = {\n      decodeTransform: undefined,\n      colorTransform: undefined\n    };\n    var decodeArr = this.dict.getArray(\"Decode\", \"D\");\n\n    if (this.forceRGB && Array.isArray(decodeArr)) {\n      var bitsPerComponent = this.dict.get(\"BitsPerComponent\") || 8;\n      var decodeArrLength = decodeArr.length;\n      var transform = new Int32Array(decodeArrLength);\n      var transformNeeded = false;\n      var maxValue = (1 << bitsPerComponent) - 1;\n\n      for (var i = 0; i < decodeArrLength; i += 2) {\n        transform[i] = (decodeArr[i + 1] - decodeArr[i]) * 256 | 0;\n        transform[i + 1] = decodeArr[i] * maxValue | 0;\n\n        if (transform[i] !== 256 || transform[i + 1] !== 0) {\n          transformNeeded = true;\n        }\n      }\n\n      if (transformNeeded) {\n        jpegOptions.decodeTransform = transform;\n      }\n    }\n\n    if ((0, _primitives.isDict)(this.params)) {\n      var colorTransform = this.params.get(\"ColorTransform\");\n\n      if (Number.isInteger(colorTransform)) {\n        jpegOptions.colorTransform = colorTransform;\n      }\n    }\n\n    var jpegImage = new _jpg.JpegImage(jpegOptions);\n    jpegImage.parse(this.bytes);\n    var data = jpegImage.getData({\n      width: this.drawWidth,\n      height: this.drawHeight,\n      forceRGB: this.forceRGB,\n      isSourcePDF: true\n    });\n    this.buffer = data;\n    this.bufferLength = data.length;\n    this.eof = true;\n  };\n\n  return JpegStream;\n}();\n\nexports.JpegStream = JpegStream;\n\n/***/ }),\n/* 212 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.JpegImage = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _core_utils = __w_pdfjs_require__(201);\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar JpegError = /*#__PURE__*/function (_BaseException) {\n  _inherits(JpegError, _BaseException);\n\n  var _super = _createSuper(JpegError);\n\n  function JpegError(msg) {\n    _classCallCheck(this, JpegError);\n\n    return _super.call(this, \"JPEG error: \".concat(msg));\n  }\n\n  return JpegError;\n}(_util.BaseException);\n\nvar DNLMarkerError = /*#__PURE__*/function (_BaseException2) {\n  _inherits(DNLMarkerError, _BaseException2);\n\n  var _super2 = _createSuper(DNLMarkerError);\n\n  function DNLMarkerError(message, scanLines) {\n    var _this;\n\n    _classCallCheck(this, DNLMarkerError);\n\n    _this = _super2.call(this, message);\n    _this.scanLines = scanLines;\n    return _this;\n  }\n\n  return DNLMarkerError;\n}(_util.BaseException);\n\nvar EOIMarkerError = /*#__PURE__*/function (_BaseException3) {\n  _inherits(EOIMarkerError, _BaseException3);\n\n  var _super3 = _createSuper(EOIMarkerError);\n\n  function EOIMarkerError() {\n    _classCallCheck(this, EOIMarkerError);\n\n    return _super3.apply(this, arguments);\n  }\n\n  return EOIMarkerError;\n}(_util.BaseException);\n\nvar JpegImage = function JpegImageClosure() {\n  var dctZigZag = new Uint8Array([0, 1, 8, 16, 9, 2, 3, 10, 17, 24, 32, 25, 18, 11, 4, 5, 12, 19, 26, 33, 40, 48, 41, 34, 27, 20, 13, 6, 7, 14, 21, 28, 35, 42, 49, 56, 57, 50, 43, 36, 29, 22, 15, 23, 30, 37, 44, 51, 58, 59, 52, 45, 38, 31, 39, 46, 53, 60, 61, 54, 47, 55, 62, 63]);\n  var dctCos1 = 4017;\n  var dctSin1 = 799;\n  var dctCos3 = 3406;\n  var dctSin3 = 2276;\n  var dctCos6 = 1567;\n  var dctSin6 = 3784;\n  var dctSqrt2 = 5793;\n  var dctSqrt1d2 = 2896;\n\n  function JpegImage() {\n    var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n        _ref$decodeTransform = _ref.decodeTransform,\n        decodeTransform = _ref$decodeTransform === void 0 ? null : _ref$decodeTransform,\n        _ref$colorTransform = _ref.colorTransform,\n        colorTransform = _ref$colorTransform === void 0 ? -1 : _ref$colorTransform;\n\n    this._decodeTransform = decodeTransform;\n    this._colorTransform = colorTransform;\n  }\n\n  function buildHuffmanTable(codeLengths, values) {\n    var k = 0,\n        code = [],\n        i,\n        j,\n        length = 16;\n\n    while (length > 0 && !codeLengths[length - 1]) {\n      length--;\n    }\n\n    code.push({\n      children: [],\n      index: 0\n    });\n    var p = code[0],\n        q;\n\n    for (i = 0; i < length; i++) {\n      for (j = 0; j < codeLengths[i]; j++) {\n        p = code.pop();\n        p.children[p.index] = values[k];\n\n        while (p.index > 0) {\n          p = code.pop();\n        }\n\n        p.index++;\n        code.push(p);\n\n        while (code.length <= i) {\n          code.push(q = {\n            children: [],\n            index: 0\n          });\n          p.children[p.index] = q.children;\n          p = q;\n        }\n\n        k++;\n      }\n\n      if (i + 1 < length) {\n        code.push(q = {\n          children: [],\n          index: 0\n        });\n        p.children[p.index] = q.children;\n        p = q;\n      }\n    }\n\n    return code[0].children;\n  }\n\n  function getBlockBufferOffset(component, row, col) {\n    return 64 * ((component.blocksPerLine + 1) * row + col);\n  }\n\n  function decodeScan(data, offset, frame, components, resetInterval, spectralStart, spectralEnd, successivePrev, successive) {\n    var parseDNLMarker = arguments.length > 9 && arguments[9] !== undefined ? arguments[9] : false;\n    var mcusPerLine = frame.mcusPerLine;\n    var progressive = frame.progressive;\n    var startOffset = offset;\n    var bitsData = 0,\n        bitsCount = 0;\n\n    function readBit() {\n      if (bitsCount > 0) {\n        bitsCount--;\n        return bitsData >> bitsCount & 1;\n      }\n\n      bitsData = data[offset++];\n\n      if (bitsData === 0xff) {\n        var nextByte = data[offset++];\n\n        if (nextByte) {\n          if (nextByte === 0xdc && parseDNLMarker) {\n            offset += 2;\n            var scanLines = (0, _core_utils.readUint16)(data, offset);\n            offset += 2;\n\n            if (scanLines > 0 && scanLines !== frame.scanLines) {\n              throw new DNLMarkerError(\"Found DNL marker (0xFFDC) while parsing scan data\", scanLines);\n            }\n          } else if (nextByte === 0xd9) {\n            if (parseDNLMarker) {\n              var maybeScanLines = blockRow * 8;\n\n              if (maybeScanLines > 0 && maybeScanLines < frame.scanLines / 10) {\n                throw new DNLMarkerError(\"Found EOI marker (0xFFD9) while parsing scan data, \" + \"possibly caused by incorrect `scanLines` parameter\", maybeScanLines);\n              }\n            }\n\n            throw new EOIMarkerError(\"Found EOI marker (0xFFD9) while parsing scan data\");\n          }\n\n          throw new JpegError(\"unexpected marker \".concat((bitsData << 8 | nextByte).toString(16)));\n        }\n      }\n\n      bitsCount = 7;\n      return bitsData >>> 7;\n    }\n\n    function decodeHuffman(tree) {\n      var node = tree;\n\n      while (true) {\n        node = node[readBit()];\n\n        switch (_typeof(node)) {\n          case \"number\":\n            return node;\n\n          case \"object\":\n            continue;\n        }\n\n        throw new JpegError(\"invalid huffman sequence\");\n      }\n    }\n\n    function receive(length) {\n      var n = 0;\n\n      while (length > 0) {\n        n = n << 1 | readBit();\n        length--;\n      }\n\n      return n;\n    }\n\n    function receiveAndExtend(length) {\n      if (length === 1) {\n        return readBit() === 1 ? 1 : -1;\n      }\n\n      var n = receive(length);\n\n      if (n >= 1 << length - 1) {\n        return n;\n      }\n\n      return n + (-1 << length) + 1;\n    }\n\n    function decodeBaseline(component, blockOffset) {\n      var t = decodeHuffman(component.huffmanTableDC);\n      var diff = t === 0 ? 0 : receiveAndExtend(t);\n      component.blockData[blockOffset] = component.pred += diff;\n      var k = 1;\n\n      while (k < 64) {\n        var rs = decodeHuffman(component.huffmanTableAC);\n        var s = rs & 15,\n            r = rs >> 4;\n\n        if (s === 0) {\n          if (r < 15) {\n            break;\n          }\n\n          k += 16;\n          continue;\n        }\n\n        k += r;\n        var z = dctZigZag[k];\n        component.blockData[blockOffset + z] = receiveAndExtend(s);\n        k++;\n      }\n    }\n\n    function decodeDCFirst(component, blockOffset) {\n      var t = decodeHuffman(component.huffmanTableDC);\n      var diff = t === 0 ? 0 : receiveAndExtend(t) << successive;\n      component.blockData[blockOffset] = component.pred += diff;\n    }\n\n    function decodeDCSuccessive(component, blockOffset) {\n      component.blockData[blockOffset] |= readBit() << successive;\n    }\n\n    var eobrun = 0;\n\n    function decodeACFirst(component, blockOffset) {\n      if (eobrun > 0) {\n        eobrun--;\n        return;\n      }\n\n      var k = spectralStart,\n          e = spectralEnd;\n\n      while (k <= e) {\n        var rs = decodeHuffman(component.huffmanTableAC);\n        var s = rs & 15,\n            r = rs >> 4;\n\n        if (s === 0) {\n          if (r < 15) {\n            eobrun = receive(r) + (1 << r) - 1;\n            break;\n          }\n\n          k += 16;\n          continue;\n        }\n\n        k += r;\n        var z = dctZigZag[k];\n        component.blockData[blockOffset + z] = receiveAndExtend(s) * (1 << successive);\n        k++;\n      }\n    }\n\n    var successiveACState = 0,\n        successiveACNextValue;\n\n    function decodeACSuccessive(component, blockOffset) {\n      var k = spectralStart;\n      var e = spectralEnd;\n      var r = 0;\n      var s;\n      var rs;\n\n      while (k <= e) {\n        var offsetZ = blockOffset + dctZigZag[k];\n        var sign = component.blockData[offsetZ] < 0 ? -1 : 1;\n\n        switch (successiveACState) {\n          case 0:\n            rs = decodeHuffman(component.huffmanTableAC);\n            s = rs & 15;\n            r = rs >> 4;\n\n            if (s === 0) {\n              if (r < 15) {\n                eobrun = receive(r) + (1 << r);\n                successiveACState = 4;\n              } else {\n                r = 16;\n                successiveACState = 1;\n              }\n            } else {\n              if (s !== 1) {\n                throw new JpegError(\"invalid ACn encoding\");\n              }\n\n              successiveACNextValue = receiveAndExtend(s);\n              successiveACState = r ? 2 : 3;\n            }\n\n            continue;\n\n          case 1:\n          case 2:\n            if (component.blockData[offsetZ]) {\n              component.blockData[offsetZ] += sign * (readBit() << successive);\n            } else {\n              r--;\n\n              if (r === 0) {\n                successiveACState = successiveACState === 2 ? 3 : 0;\n              }\n            }\n\n            break;\n\n          case 3:\n            if (component.blockData[offsetZ]) {\n              component.blockData[offsetZ] += sign * (readBit() << successive);\n            } else {\n              component.blockData[offsetZ] = successiveACNextValue << successive;\n              successiveACState = 0;\n            }\n\n            break;\n\n          case 4:\n            if (component.blockData[offsetZ]) {\n              component.blockData[offsetZ] += sign * (readBit() << successive);\n            }\n\n            break;\n        }\n\n        k++;\n      }\n\n      if (successiveACState === 4) {\n        eobrun--;\n\n        if (eobrun === 0) {\n          successiveACState = 0;\n        }\n      }\n    }\n\n    var blockRow = 0;\n\n    function decodeMcu(component, decode, mcu, row, col) {\n      var mcuRow = mcu / mcusPerLine | 0;\n      var mcuCol = mcu % mcusPerLine;\n      blockRow = mcuRow * component.v + row;\n      var blockCol = mcuCol * component.h + col;\n      var blockOffset = getBlockBufferOffset(component, blockRow, blockCol);\n      decode(component, blockOffset);\n    }\n\n    function decodeBlock(component, decode, mcu) {\n      blockRow = mcu / component.blocksPerLine | 0;\n      var blockCol = mcu % component.blocksPerLine;\n      var blockOffset = getBlockBufferOffset(component, blockRow, blockCol);\n      decode(component, blockOffset);\n    }\n\n    var componentsLength = components.length;\n    var component, i, j, k, n;\n    var decodeFn;\n\n    if (progressive) {\n      if (spectralStart === 0) {\n        decodeFn = successivePrev === 0 ? decodeDCFirst : decodeDCSuccessive;\n      } else {\n        decodeFn = successivePrev === 0 ? decodeACFirst : decodeACSuccessive;\n      }\n    } else {\n      decodeFn = decodeBaseline;\n    }\n\n    var mcu = 0,\n        fileMarker;\n    var mcuExpected;\n\n    if (componentsLength === 1) {\n      mcuExpected = components[0].blocksPerLine * components[0].blocksPerColumn;\n    } else {\n      mcuExpected = mcusPerLine * frame.mcusPerColumn;\n    }\n\n    var h, v;\n\n    while (mcu <= mcuExpected) {\n      var mcuToRead = resetInterval ? Math.min(mcuExpected - mcu, resetInterval) : mcuExpected;\n\n      if (mcuToRead > 0) {\n        for (i = 0; i < componentsLength; i++) {\n          components[i].pred = 0;\n        }\n\n        eobrun = 0;\n\n        if (componentsLength === 1) {\n          component = components[0];\n\n          for (n = 0; n < mcuToRead; n++) {\n            decodeBlock(component, decodeFn, mcu);\n            mcu++;\n          }\n        } else {\n          for (n = 0; n < mcuToRead; n++) {\n            for (i = 0; i < componentsLength; i++) {\n              component = components[i];\n              h = component.h;\n              v = component.v;\n\n              for (j = 0; j < v; j++) {\n                for (k = 0; k < h; k++) {\n                  decodeMcu(component, decodeFn, mcu, j, k);\n                }\n              }\n            }\n\n            mcu++;\n          }\n        }\n      }\n\n      bitsCount = 0;\n      fileMarker = findNextFileMarker(data, offset);\n\n      if (!fileMarker) {\n        break;\n      }\n\n      if (fileMarker.invalid) {\n        var partialMsg = mcuToRead > 0 ? \"unexpected\" : \"excessive\";\n        (0, _util.warn)(\"decodeScan - \".concat(partialMsg, \" MCU data, current marker is: \").concat(fileMarker.invalid));\n        offset = fileMarker.offset;\n      }\n\n      if (fileMarker.marker >= 0xffd0 && fileMarker.marker <= 0xffd7) {\n        offset += 2;\n      } else {\n        break;\n      }\n    }\n\n    return offset - startOffset;\n  }\n\n  function quantizeAndInverse(component, blockBufferOffset, p) {\n    var qt = component.quantizationTable,\n        blockData = component.blockData;\n    var v0, v1, v2, v3, v4, v5, v6, v7;\n    var p0, p1, p2, p3, p4, p5, p6, p7;\n    var t;\n\n    if (!qt) {\n      throw new JpegError(\"missing required Quantization Table.\");\n    }\n\n    for (var row = 0; row < 64; row += 8) {\n      p0 = blockData[blockBufferOffset + row];\n      p1 = blockData[blockBufferOffset + row + 1];\n      p2 = blockData[blockBufferOffset + row + 2];\n      p3 = blockData[blockBufferOffset + row + 3];\n      p4 = blockData[blockBufferOffset + row + 4];\n      p5 = blockData[blockBufferOffset + row + 5];\n      p6 = blockData[blockBufferOffset + row + 6];\n      p7 = blockData[blockBufferOffset + row + 7];\n      p0 *= qt[row];\n\n      if ((p1 | p2 | p3 | p4 | p5 | p6 | p7) === 0) {\n        t = dctSqrt2 * p0 + 512 >> 10;\n        p[row] = t;\n        p[row + 1] = t;\n        p[row + 2] = t;\n        p[row + 3] = t;\n        p[row + 4] = t;\n        p[row + 5] = t;\n        p[row + 6] = t;\n        p[row + 7] = t;\n        continue;\n      }\n\n      p1 *= qt[row + 1];\n      p2 *= qt[row + 2];\n      p3 *= qt[row + 3];\n      p4 *= qt[row + 4];\n      p5 *= qt[row + 5];\n      p6 *= qt[row + 6];\n      p7 *= qt[row + 7];\n      v0 = dctSqrt2 * p0 + 128 >> 8;\n      v1 = dctSqrt2 * p4 + 128 >> 8;\n      v2 = p2;\n      v3 = p6;\n      v4 = dctSqrt1d2 * (p1 - p7) + 128 >> 8;\n      v7 = dctSqrt1d2 * (p1 + p7) + 128 >> 8;\n      v5 = p3 << 4;\n      v6 = p5 << 4;\n      v0 = v0 + v1 + 1 >> 1;\n      v1 = v0 - v1;\n      t = v2 * dctSin6 + v3 * dctCos6 + 128 >> 8;\n      v2 = v2 * dctCos6 - v3 * dctSin6 + 128 >> 8;\n      v3 = t;\n      v4 = v4 + v6 + 1 >> 1;\n      v6 = v4 - v6;\n      v7 = v7 + v5 + 1 >> 1;\n      v5 = v7 - v5;\n      v0 = v0 + v3 + 1 >> 1;\n      v3 = v0 - v3;\n      v1 = v1 + v2 + 1 >> 1;\n      v2 = v1 - v2;\n      t = v4 * dctSin3 + v7 * dctCos3 + 2048 >> 12;\n      v4 = v4 * dctCos3 - v7 * dctSin3 + 2048 >> 12;\n      v7 = t;\n      t = v5 * dctSin1 + v6 * dctCos1 + 2048 >> 12;\n      v5 = v5 * dctCos1 - v6 * dctSin1 + 2048 >> 12;\n      v6 = t;\n      p[row] = v0 + v7;\n      p[row + 7] = v0 - v7;\n      p[row + 1] = v1 + v6;\n      p[row + 6] = v1 - v6;\n      p[row + 2] = v2 + v5;\n      p[row + 5] = v2 - v5;\n      p[row + 3] = v3 + v4;\n      p[row + 4] = v3 - v4;\n    }\n\n    for (var col = 0; col < 8; ++col) {\n      p0 = p[col];\n      p1 = p[col + 8];\n      p2 = p[col + 16];\n      p3 = p[col + 24];\n      p4 = p[col + 32];\n      p5 = p[col + 40];\n      p6 = p[col + 48];\n      p7 = p[col + 56];\n\n      if ((p1 | p2 | p3 | p4 | p5 | p6 | p7) === 0) {\n        t = dctSqrt2 * p0 + 8192 >> 14;\n\n        if (t < -2040) {\n          t = 0;\n        } else if (t >= 2024) {\n          t = 255;\n        } else {\n          t = t + 2056 >> 4;\n        }\n\n        blockData[blockBufferOffset + col] = t;\n        blockData[blockBufferOffset + col + 8] = t;\n        blockData[blockBufferOffset + col + 16] = t;\n        blockData[blockBufferOffset + col + 24] = t;\n        blockData[blockBufferOffset + col + 32] = t;\n        blockData[blockBufferOffset + col + 40] = t;\n        blockData[blockBufferOffset + col + 48] = t;\n        blockData[blockBufferOffset + col + 56] = t;\n        continue;\n      }\n\n      v0 = dctSqrt2 * p0 + 2048 >> 12;\n      v1 = dctSqrt2 * p4 + 2048 >> 12;\n      v2 = p2;\n      v3 = p6;\n      v4 = dctSqrt1d2 * (p1 - p7) + 2048 >> 12;\n      v7 = dctSqrt1d2 * (p1 + p7) + 2048 >> 12;\n      v5 = p3;\n      v6 = p5;\n      v0 = (v0 + v1 + 1 >> 1) + 4112;\n      v1 = v0 - v1;\n      t = v2 * dctSin6 + v3 * dctCos6 + 2048 >> 12;\n      v2 = v2 * dctCos6 - v3 * dctSin6 + 2048 >> 12;\n      v3 = t;\n      v4 = v4 + v6 + 1 >> 1;\n      v6 = v4 - v6;\n      v7 = v7 + v5 + 1 >> 1;\n      v5 = v7 - v5;\n      v0 = v0 + v3 + 1 >> 1;\n      v3 = v0 - v3;\n      v1 = v1 + v2 + 1 >> 1;\n      v2 = v1 - v2;\n      t = v4 * dctSin3 + v7 * dctCos3 + 2048 >> 12;\n      v4 = v4 * dctCos3 - v7 * dctSin3 + 2048 >> 12;\n      v7 = t;\n      t = v5 * dctSin1 + v6 * dctCos1 + 2048 >> 12;\n      v5 = v5 * dctCos1 - v6 * dctSin1 + 2048 >> 12;\n      v6 = t;\n      p0 = v0 + v7;\n      p7 = v0 - v7;\n      p1 = v1 + v6;\n      p6 = v1 - v6;\n      p2 = v2 + v5;\n      p5 = v2 - v5;\n      p3 = v3 + v4;\n      p4 = v3 - v4;\n\n      if (p0 < 16) {\n        p0 = 0;\n      } else if (p0 >= 4080) {\n        p0 = 255;\n      } else {\n        p0 >>= 4;\n      }\n\n      if (p1 < 16) {\n        p1 = 0;\n      } else if (p1 >= 4080) {\n        p1 = 255;\n      } else {\n        p1 >>= 4;\n      }\n\n      if (p2 < 16) {\n        p2 = 0;\n      } else if (p2 >= 4080) {\n        p2 = 255;\n      } else {\n        p2 >>= 4;\n      }\n\n      if (p3 < 16) {\n        p3 = 0;\n      } else if (p3 >= 4080) {\n        p3 = 255;\n      } else {\n        p3 >>= 4;\n      }\n\n      if (p4 < 16) {\n        p4 = 0;\n      } else if (p4 >= 4080) {\n        p4 = 255;\n      } else {\n        p4 >>= 4;\n      }\n\n      if (p5 < 16) {\n        p5 = 0;\n      } else if (p5 >= 4080) {\n        p5 = 255;\n      } else {\n        p5 >>= 4;\n      }\n\n      if (p6 < 16) {\n        p6 = 0;\n      } else if (p6 >= 4080) {\n        p6 = 255;\n      } else {\n        p6 >>= 4;\n      }\n\n      if (p7 < 16) {\n        p7 = 0;\n      } else if (p7 >= 4080) {\n        p7 = 255;\n      } else {\n        p7 >>= 4;\n      }\n\n      blockData[blockBufferOffset + col] = p0;\n      blockData[blockBufferOffset + col + 8] = p1;\n      blockData[blockBufferOffset + col + 16] = p2;\n      blockData[blockBufferOffset + col + 24] = p3;\n      blockData[blockBufferOffset + col + 32] = p4;\n      blockData[blockBufferOffset + col + 40] = p5;\n      blockData[blockBufferOffset + col + 48] = p6;\n      blockData[blockBufferOffset + col + 56] = p7;\n    }\n  }\n\n  function buildComponentData(frame, component) {\n    var blocksPerLine = component.blocksPerLine;\n    var blocksPerColumn = component.blocksPerColumn;\n    var computationBuffer = new Int16Array(64);\n\n    for (var blockRow = 0; blockRow < blocksPerColumn; blockRow++) {\n      for (var blockCol = 0; blockCol < blocksPerLine; blockCol++) {\n        var offset = getBlockBufferOffset(component, blockRow, blockCol);\n        quantizeAndInverse(component, offset, computationBuffer);\n      }\n    }\n\n    return component.blockData;\n  }\n\n  function findNextFileMarker(data, currentPos) {\n    var startPos = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : currentPos;\n    var maxPos = data.length - 1;\n    var newPos = startPos < currentPos ? startPos : currentPos;\n\n    if (currentPos >= maxPos) {\n      return null;\n    }\n\n    var currentMarker = (0, _core_utils.readUint16)(data, currentPos);\n\n    if (currentMarker >= 0xffc0 && currentMarker <= 0xfffe) {\n      return {\n        invalid: null,\n        marker: currentMarker,\n        offset: currentPos\n      };\n    }\n\n    var newMarker = (0, _core_utils.readUint16)(data, newPos);\n\n    while (!(newMarker >= 0xffc0 && newMarker <= 0xfffe)) {\n      if (++newPos >= maxPos) {\n        return null;\n      }\n\n      newMarker = (0, _core_utils.readUint16)(data, newPos);\n    }\n\n    return {\n      invalid: currentMarker.toString(16),\n      marker: newMarker,\n      offset: newPos\n    };\n  }\n\n  JpegImage.prototype = {\n    parse: function parse(data) {\n      var _ref2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n          _ref2$dnlScanLines = _ref2.dnlScanLines,\n          dnlScanLines = _ref2$dnlScanLines === void 0 ? null : _ref2$dnlScanLines;\n\n      function readDataBlock() {\n        var length = (0, _core_utils.readUint16)(data, offset);\n        offset += 2;\n        var endOffset = offset + length - 2;\n        var fileMarker = findNextFileMarker(data, endOffset, offset);\n\n        if (fileMarker && fileMarker.invalid) {\n          (0, _util.warn)(\"readDataBlock - incorrect length, current marker is: \" + fileMarker.invalid);\n          endOffset = fileMarker.offset;\n        }\n\n        var array = data.subarray(offset, endOffset);\n        offset += array.length;\n        return array;\n      }\n\n      function prepareComponents(frame) {\n        var mcusPerLine = Math.ceil(frame.samplesPerLine / 8 / frame.maxH);\n        var mcusPerColumn = Math.ceil(frame.scanLines / 8 / frame.maxV);\n\n        for (var i = 0; i < frame.components.length; i++) {\n          component = frame.components[i];\n          var blocksPerLine = Math.ceil(Math.ceil(frame.samplesPerLine / 8) * component.h / frame.maxH);\n          var blocksPerColumn = Math.ceil(Math.ceil(frame.scanLines / 8) * component.v / frame.maxV);\n          var blocksPerLineForMcu = mcusPerLine * component.h;\n          var blocksPerColumnForMcu = mcusPerColumn * component.v;\n          var blocksBufferSize = 64 * blocksPerColumnForMcu * (blocksPerLineForMcu + 1);\n          component.blockData = new Int16Array(blocksBufferSize);\n          component.blocksPerLine = blocksPerLine;\n          component.blocksPerColumn = blocksPerColumn;\n        }\n\n        frame.mcusPerLine = mcusPerLine;\n        frame.mcusPerColumn = mcusPerColumn;\n      }\n\n      var offset = 0;\n      var jfif = null;\n      var adobe = null;\n      var frame, resetInterval;\n      var numSOSMarkers = 0;\n      var quantizationTables = [];\n      var huffmanTablesAC = [],\n          huffmanTablesDC = [];\n      var fileMarker = (0, _core_utils.readUint16)(data, offset);\n      offset += 2;\n\n      if (fileMarker !== 0xffd8) {\n        throw new JpegError(\"SOI not found\");\n      }\n\n      fileMarker = (0, _core_utils.readUint16)(data, offset);\n      offset += 2;\n\n      markerLoop: while (fileMarker !== 0xffd9) {\n        var i, j, l;\n\n        switch (fileMarker) {\n          case 0xffe0:\n          case 0xffe1:\n          case 0xffe2:\n          case 0xffe3:\n          case 0xffe4:\n          case 0xffe5:\n          case 0xffe6:\n          case 0xffe7:\n          case 0xffe8:\n          case 0xffe9:\n          case 0xffea:\n          case 0xffeb:\n          case 0xffec:\n          case 0xffed:\n          case 0xffee:\n          case 0xffef:\n          case 0xfffe:\n            var appData = readDataBlock();\n\n            if (fileMarker === 0xffe0) {\n              if (appData[0] === 0x4a && appData[1] === 0x46 && appData[2] === 0x49 && appData[3] === 0x46 && appData[4] === 0) {\n                jfif = {\n                  version: {\n                    major: appData[5],\n                    minor: appData[6]\n                  },\n                  densityUnits: appData[7],\n                  xDensity: appData[8] << 8 | appData[9],\n                  yDensity: appData[10] << 8 | appData[11],\n                  thumbWidth: appData[12],\n                  thumbHeight: appData[13],\n                  thumbData: appData.subarray(14, 14 + 3 * appData[12] * appData[13])\n                };\n              }\n            }\n\n            if (fileMarker === 0xffee) {\n              if (appData[0] === 0x41 && appData[1] === 0x64 && appData[2] === 0x6f && appData[3] === 0x62 && appData[4] === 0x65) {\n                adobe = {\n                  version: appData[5] << 8 | appData[6],\n                  flags0: appData[7] << 8 | appData[8],\n                  flags1: appData[9] << 8 | appData[10],\n                  transformCode: appData[11]\n                };\n              }\n            }\n\n            break;\n\n          case 0xffdb:\n            var quantizationTablesLength = (0, _core_utils.readUint16)(data, offset);\n            offset += 2;\n            var quantizationTablesEnd = quantizationTablesLength + offset - 2;\n            var z;\n\n            while (offset < quantizationTablesEnd) {\n              var quantizationTableSpec = data[offset++];\n              var tableData = new Uint16Array(64);\n\n              if (quantizationTableSpec >> 4 === 0) {\n                for (j = 0; j < 64; j++) {\n                  z = dctZigZag[j];\n                  tableData[z] = data[offset++];\n                }\n              } else if (quantizationTableSpec >> 4 === 1) {\n                for (j = 0; j < 64; j++) {\n                  z = dctZigZag[j];\n                  tableData[z] = (0, _core_utils.readUint16)(data, offset);\n                  offset += 2;\n                }\n              } else {\n                throw new JpegError(\"DQT - invalid table spec\");\n              }\n\n              quantizationTables[quantizationTableSpec & 15] = tableData;\n            }\n\n            break;\n\n          case 0xffc0:\n          case 0xffc1:\n          case 0xffc2:\n            if (frame) {\n              throw new JpegError(\"Only single frame JPEGs supported\");\n            }\n\n            offset += 2;\n            frame = {};\n            frame.extended = fileMarker === 0xffc1;\n            frame.progressive = fileMarker === 0xffc2;\n            frame.precision = data[offset++];\n            var sofScanLines = (0, _core_utils.readUint16)(data, offset);\n            offset += 2;\n            frame.scanLines = dnlScanLines || sofScanLines;\n            frame.samplesPerLine = (0, _core_utils.readUint16)(data, offset);\n            offset += 2;\n            frame.components = [];\n            frame.componentIds = {};\n            var componentsCount = data[offset++],\n                componentId;\n            var maxH = 0,\n                maxV = 0;\n\n            for (i = 0; i < componentsCount; i++) {\n              componentId = data[offset];\n              var h = data[offset + 1] >> 4;\n              var v = data[offset + 1] & 15;\n\n              if (maxH < h) {\n                maxH = h;\n              }\n\n              if (maxV < v) {\n                maxV = v;\n              }\n\n              var qId = data[offset + 2];\n              l = frame.components.push({\n                h: h,\n                v: v,\n                quantizationId: qId,\n                quantizationTable: null\n              });\n              frame.componentIds[componentId] = l - 1;\n              offset += 3;\n            }\n\n            frame.maxH = maxH;\n            frame.maxV = maxV;\n            prepareComponents(frame);\n            break;\n\n          case 0xffc4:\n            var huffmanLength = (0, _core_utils.readUint16)(data, offset);\n            offset += 2;\n\n            for (i = 2; i < huffmanLength;) {\n              var huffmanTableSpec = data[offset++];\n              var codeLengths = new Uint8Array(16);\n              var codeLengthSum = 0;\n\n              for (j = 0; j < 16; j++, offset++) {\n                codeLengthSum += codeLengths[j] = data[offset];\n              }\n\n              var huffmanValues = new Uint8Array(codeLengthSum);\n\n              for (j = 0; j < codeLengthSum; j++, offset++) {\n                huffmanValues[j] = data[offset];\n              }\n\n              i += 17 + codeLengthSum;\n              (huffmanTableSpec >> 4 === 0 ? huffmanTablesDC : huffmanTablesAC)[huffmanTableSpec & 15] = buildHuffmanTable(codeLengths, huffmanValues);\n            }\n\n            break;\n\n          case 0xffdd:\n            offset += 2;\n            resetInterval = (0, _core_utils.readUint16)(data, offset);\n            offset += 2;\n            break;\n\n          case 0xffda:\n            var parseDNLMarker = ++numSOSMarkers === 1 && !dnlScanLines;\n            offset += 2;\n            var selectorsCount = data[offset++];\n            var components = [],\n                component;\n\n            for (i = 0; i < selectorsCount; i++) {\n              var componentIndex = frame.componentIds[data[offset++]];\n              component = frame.components[componentIndex];\n              var tableSpec = data[offset++];\n              component.huffmanTableDC = huffmanTablesDC[tableSpec >> 4];\n              component.huffmanTableAC = huffmanTablesAC[tableSpec & 15];\n              components.push(component);\n            }\n\n            var spectralStart = data[offset++];\n            var spectralEnd = data[offset++];\n            var successiveApproximation = data[offset++];\n\n            try {\n              var processed = decodeScan(data, offset, frame, components, resetInterval, spectralStart, spectralEnd, successiveApproximation >> 4, successiveApproximation & 15, parseDNLMarker);\n              offset += processed;\n            } catch (ex) {\n              if (ex instanceof DNLMarkerError) {\n                (0, _util.warn)(\"\".concat(ex.message, \" -- attempting to re-parse the JPEG image.\"));\n                return this.parse(data, {\n                  dnlScanLines: ex.scanLines\n                });\n              } else if (ex instanceof EOIMarkerError) {\n                (0, _util.warn)(\"\".concat(ex.message, \" -- ignoring the rest of the image data.\"));\n                break markerLoop;\n              }\n\n              throw ex;\n            }\n\n            break;\n\n          case 0xffdc:\n            offset += 4;\n            break;\n\n          case 0xffff:\n            if (data[offset] !== 0xff) {\n              offset--;\n            }\n\n            break;\n\n          default:\n            var nextFileMarker = findNextFileMarker(data, offset - 2, offset - 3);\n\n            if (nextFileMarker && nextFileMarker.invalid) {\n              (0, _util.warn)(\"JpegImage.parse - unexpected data, current marker is: \" + nextFileMarker.invalid);\n              offset = nextFileMarker.offset;\n              break;\n            }\n\n            if (offset >= data.length - 1) {\n              (0, _util.warn)(\"JpegImage.parse - reached the end of the image data \" + \"without finding an EOI marker (0xFFD9).\");\n              break markerLoop;\n            }\n\n            throw new JpegError(\"JpegImage.parse - unknown marker: \" + fileMarker.toString(16));\n        }\n\n        fileMarker = (0, _core_utils.readUint16)(data, offset);\n        offset += 2;\n      }\n\n      this.width = frame.samplesPerLine;\n      this.height = frame.scanLines;\n      this.jfif = jfif;\n      this.adobe = adobe;\n      this.components = [];\n\n      for (i = 0; i < frame.components.length; i++) {\n        component = frame.components[i];\n        var quantizationTable = quantizationTables[component.quantizationId];\n\n        if (quantizationTable) {\n          component.quantizationTable = quantizationTable;\n        }\n\n        this.components.push({\n          output: buildComponentData(frame, component),\n          scaleX: component.h / frame.maxH,\n          scaleY: component.v / frame.maxV,\n          blocksPerLine: component.blocksPerLine,\n          blocksPerColumn: component.blocksPerColumn\n        });\n      }\n\n      this.numComponents = this.components.length;\n      return undefined;\n    },\n    _getLinearizedBlockData: function _getLinearizedBlockData(width, height) {\n      var isSourcePDF = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n      var scaleX = this.width / width,\n          scaleY = this.height / height;\n      var component, componentScaleX, componentScaleY, blocksPerScanline;\n      var x, y, i, j, k;\n      var index;\n      var offset = 0;\n      var output;\n      var numComponents = this.components.length;\n      var dataLength = width * height * numComponents;\n      var data = new Uint8ClampedArray(dataLength);\n      var xScaleBlockOffset = new Uint32Array(width);\n      var mask3LSB = 0xfffffff8;\n      var lastComponentScaleX;\n\n      for (i = 0; i < numComponents; i++) {\n        component = this.components[i];\n        componentScaleX = component.scaleX * scaleX;\n        componentScaleY = component.scaleY * scaleY;\n        offset = i;\n        output = component.output;\n        blocksPerScanline = component.blocksPerLine + 1 << 3;\n\n        if (componentScaleX !== lastComponentScaleX) {\n          for (x = 0; x < width; x++) {\n            j = 0 | x * componentScaleX;\n            xScaleBlockOffset[x] = (j & mask3LSB) << 3 | j & 7;\n          }\n\n          lastComponentScaleX = componentScaleX;\n        }\n\n        for (y = 0; y < height; y++) {\n          j = 0 | y * componentScaleY;\n          index = blocksPerScanline * (j & mask3LSB) | (j & 7) << 3;\n\n          for (x = 0; x < width; x++) {\n            data[offset] = output[index + xScaleBlockOffset[x]];\n            offset += numComponents;\n          }\n        }\n      }\n\n      var transform = this._decodeTransform;\n\n      if (!isSourcePDF && numComponents === 4 && !transform) {\n        transform = new Int32Array([-256, 255, -256, 255, -256, 255, -256, 255]);\n      }\n\n      if (transform) {\n        for (i = 0; i < dataLength;) {\n          for (j = 0, k = 0; j < numComponents; j++, i++, k += 2) {\n            data[i] = (data[i] * transform[k] >> 8) + transform[k + 1];\n          }\n        }\n      }\n\n      return data;\n    },\n\n    get _isColorConversionNeeded() {\n      if (this.adobe) {\n        return !!this.adobe.transformCode;\n      }\n\n      if (this.numComponents === 3) {\n        if (this._colorTransform === 0) {\n          return false;\n        }\n\n        return true;\n      }\n\n      if (this._colorTransform === 1) {\n        return true;\n      }\n\n      return false;\n    },\n\n    _convertYccToRgb: function convertYccToRgb(data) {\n      var Y, Cb, Cr;\n\n      for (var i = 0, length = data.length; i < length; i += 3) {\n        Y = data[i];\n        Cb = data[i + 1];\n        Cr = data[i + 2];\n        data[i] = Y - 179.456 + 1.402 * Cr;\n        data[i + 1] = Y + 135.459 - 0.344 * Cb - 0.714 * Cr;\n        data[i + 2] = Y - 226.816 + 1.772 * Cb;\n      }\n\n      return data;\n    },\n    _convertYcckToRgb: function convertYcckToRgb(data) {\n      var Y, Cb, Cr, k;\n      var offset = 0;\n\n      for (var i = 0, length = data.length; i < length; i += 4) {\n        Y = data[i];\n        Cb = data[i + 1];\n        Cr = data[i + 2];\n        k = data[i + 3];\n        data[offset++] = -122.67195406894 + Cb * (-6.60635669420364e-5 * Cb + 0.000437130475926232 * Cr - 5.4080610064599e-5 * Y + 0.00048449797120281 * k - 0.154362151871126) + Cr * (-0.000957964378445773 * Cr + 0.000817076911346625 * Y - 0.00477271405408747 * k + 1.53380253221734) + Y * (0.000961250184130688 * Y - 0.00266257332283933 * k + 0.48357088451265) + k * (-0.000336197177618394 * k + 0.484791561490776);\n        data[offset++] = 107.268039397724 + Cb * (2.19927104525741e-5 * Cb - 0.000640992018297945 * Cr + 0.000659397001245577 * Y + 0.000426105652938837 * k - 0.176491792462875) + Cr * (-0.000778269941513683 * Cr + 0.00130872261408275 * Y + 0.000770482631801132 * k - 0.151051492775562) + Y * (0.00126935368114843 * Y - 0.00265090189010898 * k + 0.25802910206845) + k * (-0.000318913117588328 * k - 0.213742400323665);\n        data[offset++] = -20.810012546947 + Cb * (-0.000570115196973677 * Cb - 2.63409051004589e-5 * Cr + 0.0020741088115012 * Y - 0.00288260236853442 * k + 0.814272968359295) + Cr * (-1.53496057440975e-5 * Cr - 0.000132689043961446 * Y + 0.000560833691242812 * k - 0.195152027534049) + Y * (0.00174418132927582 * Y - 0.00255243321439347 * k + 0.116935020465145) + k * (-0.000343531996510555 * k + 0.24165260232407);\n      }\n\n      return data.subarray(0, offset);\n    },\n    _convertYcckToCmyk: function convertYcckToCmyk(data) {\n      var Y, Cb, Cr;\n\n      for (var i = 0, length = data.length; i < length; i += 4) {\n        Y = data[i];\n        Cb = data[i + 1];\n        Cr = data[i + 2];\n        data[i] = 434.456 - Y - 1.402 * Cr;\n        data[i + 1] = 119.541 - Y + 0.344 * Cb + 0.714 * Cr;\n        data[i + 2] = 481.816 - Y - 1.772 * Cb;\n      }\n\n      return data;\n    },\n    _convertCmykToRgb: function convertCmykToRgb(data) {\n      var c, m, y, k;\n      var offset = 0;\n\n      for (var i = 0, length = data.length; i < length; i += 4) {\n        c = data[i];\n        m = data[i + 1];\n        y = data[i + 2];\n        k = data[i + 3];\n        data[offset++] = 255 + c * (-0.00006747147073602441 * c + 0.0008379262121013727 * m + 0.0002894718188643294 * y + 0.003264231057537806 * k - 1.1185611867203937) + m * (0.000026374107616089405 * m - 0.00008626949158638572 * y - 0.0002748769067499491 * k - 0.02155688794978967) + y * (-0.00003878099212869363 * y - 0.0003267808279485286 * k + 0.0686742238595345) - k * (0.0003361971776183937 * k + 0.7430659151342254);\n        data[offset++] = 255 + c * (0.00013596372813588848 * c + 0.000924537132573585 * m + 0.00010567359618683593 * y + 0.0004791864687436512 * k - 0.3109689587515875) + m * (-0.00023545346108370344 * m + 0.0002702845253534714 * y + 0.0020200308977307156 * k - 0.7488052167015494) + y * (0.00006834815998235662 * y + 0.00015168452363460973 * k - 0.09751927774728933) - k * (0.00031891311758832814 * k + 0.7364883807733168);\n        data[offset++] = 255 + c * (0.000013598650411385307 * c + 0.00012423956175490851 * m + 0.0004751985097583589 * y - 0.0000036729317476630422 * k - 0.05562186980264034) + m * (0.00016141380598724676 * m + 0.0009692239130725186 * y + 0.0007782692450036253 * k - 0.44015232367526463) + y * (5.068882914068769e-7 * y + 0.0017778369011375071 * k - 0.7591454649749609) - k * (0.0003435319965105553 * k + 0.7063770186160144);\n      }\n\n      return data.subarray(0, offset);\n    },\n    getData: function getData(_ref3) {\n      var width = _ref3.width,\n          height = _ref3.height,\n          _ref3$forceRGB = _ref3.forceRGB,\n          forceRGB = _ref3$forceRGB === void 0 ? false : _ref3$forceRGB,\n          _ref3$isSourcePDF = _ref3.isSourcePDF,\n          isSourcePDF = _ref3$isSourcePDF === void 0 ? false : _ref3$isSourcePDF;\n\n      if (this.numComponents > 4) {\n        throw new JpegError(\"Unsupported color mode\");\n      }\n\n      var data = this._getLinearizedBlockData(width, height, isSourcePDF);\n\n      if (this.numComponents === 1 && forceRGB) {\n        var dataLength = data.length;\n        var rgbData = new Uint8ClampedArray(dataLength * 3);\n        var offset = 0;\n\n        for (var i = 0; i < dataLength; i++) {\n          var grayColor = data[i];\n          rgbData[offset++] = grayColor;\n          rgbData[offset++] = grayColor;\n          rgbData[offset++] = grayColor;\n        }\n\n        return rgbData;\n      } else if (this.numComponents === 3 && this._isColorConversionNeeded) {\n        return this._convertYccToRgb(data);\n      } else if (this.numComponents === 4) {\n        if (this._isColorConversionNeeded) {\n          if (forceRGB) {\n            return this._convertYcckToRgb(data);\n          }\n\n          return this._convertYcckToCmyk(data);\n        } else if (forceRGB) {\n          return this._convertCmykToRgb(data);\n        }\n      }\n\n      return data;\n    }\n  };\n  return JpegImage;\n}();\n\nexports.JpegImage = JpegImage;\n\n/***/ }),\n/* 213 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.JpxStream = void 0;\n\nvar _stream = __w_pdfjs_require__(205);\n\nvar _jpx = __w_pdfjs_require__(214);\n\nvar _util = __w_pdfjs_require__(5);\n\nvar JpxStream = function JpxStreamClosure() {\n  function JpxStream(stream, maybeLength, dict, params) {\n    this.stream = stream;\n    this.maybeLength = maybeLength;\n    this.dict = dict;\n    this.params = params;\n\n    _stream.DecodeStream.call(this, maybeLength);\n  }\n\n  JpxStream.prototype = Object.create(_stream.DecodeStream.prototype);\n  Object.defineProperty(JpxStream.prototype, \"bytes\", {\n    get: function JpxStream_bytes() {\n      return (0, _util.shadow)(this, \"bytes\", this.stream.getBytes(this.maybeLength));\n    },\n    configurable: true\n  });\n\n  JpxStream.prototype.ensureBuffer = function (requested) {};\n\n  JpxStream.prototype.readBlock = function () {\n    if (this.eof) {\n      return;\n    }\n\n    var jpxImage = new _jpx.JpxImage();\n    jpxImage.parse(this.bytes);\n    var width = jpxImage.width;\n    var height = jpxImage.height;\n    var componentsCount = jpxImage.componentsCount;\n    var tileCount = jpxImage.tiles.length;\n\n    if (tileCount === 1) {\n      this.buffer = jpxImage.tiles[0].items;\n    } else {\n      var data = new Uint8ClampedArray(width * height * componentsCount);\n\n      for (var k = 0; k < tileCount; k++) {\n        var tileComponents = jpxImage.tiles[k];\n        var tileWidth = tileComponents.width;\n        var tileHeight = tileComponents.height;\n        var tileLeft = tileComponents.left;\n        var tileTop = tileComponents.top;\n        var src = tileComponents.items;\n        var srcPosition = 0;\n        var dataPosition = (width * tileTop + tileLeft) * componentsCount;\n        var imgRowSize = width * componentsCount;\n        var tileRowSize = tileWidth * componentsCount;\n\n        for (var j = 0; j < tileHeight; j++) {\n          var rowBytes = src.subarray(srcPosition, srcPosition + tileRowSize);\n          data.set(rowBytes, dataPosition);\n          srcPosition += tileRowSize;\n          dataPosition += imgRowSize;\n        }\n      }\n\n      this.buffer = data;\n    }\n\n    this.bufferLength = this.buffer.length;\n    this.eof = true;\n  };\n\n  return JpxStream;\n}();\n\nexports.JpxStream = JpxStream;\n\n/***/ }),\n/* 214 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.JpxImage = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _core_utils = __w_pdfjs_require__(201);\n\nvar _arithmetic_decoder = __w_pdfjs_require__(210);\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar JpxError = /*#__PURE__*/function (_BaseException) {\n  _inherits(JpxError, _BaseException);\n\n  var _super = _createSuper(JpxError);\n\n  function JpxError(msg) {\n    _classCallCheck(this, JpxError);\n\n    return _super.call(this, \"JPX error: \".concat(msg));\n  }\n\n  return JpxError;\n}(_util.BaseException);\n\nvar JpxImage = function JpxImageClosure() {\n  var SubbandsGainLog2 = {\n    LL: 0,\n    LH: 1,\n    HL: 1,\n    HH: 2\n  };\n\n  function JpxImage() {\n    this.failOnCorruptedImage = false;\n  }\n\n  JpxImage.prototype = {\n    parse: function JpxImage_parse(data) {\n      var head = (0, _core_utils.readUint16)(data, 0);\n\n      if (head === 0xff4f) {\n        this.parseCodestream(data, 0, data.length);\n        return;\n      }\n\n      var position = 0,\n          length = data.length;\n\n      while (position < length) {\n        var headerSize = 8;\n        var lbox = (0, _core_utils.readUint32)(data, position);\n        var tbox = (0, _core_utils.readUint32)(data, position + 4);\n        position += headerSize;\n\n        if (lbox === 1) {\n          lbox = (0, _core_utils.readUint32)(data, position) * 4294967296 + (0, _core_utils.readUint32)(data, position + 4);\n          position += 8;\n          headerSize += 8;\n        }\n\n        if (lbox === 0) {\n          lbox = length - position + headerSize;\n        }\n\n        if (lbox < headerSize) {\n          throw new JpxError(\"Invalid box field size\");\n        }\n\n        var dataLength = lbox - headerSize;\n        var jumpDataLength = true;\n\n        switch (tbox) {\n          case 0x6a703268:\n            jumpDataLength = false;\n            break;\n\n          case 0x636f6c72:\n            var method = data[position];\n\n            if (method === 1) {\n              var colorspace = (0, _core_utils.readUint32)(data, position + 3);\n\n              switch (colorspace) {\n                case 16:\n                case 17:\n                case 18:\n                  break;\n\n                default:\n                  (0, _util.warn)(\"Unknown colorspace \" + colorspace);\n                  break;\n              }\n            } else if (method === 2) {\n              (0, _util.info)(\"ICC profile not supported\");\n            }\n\n            break;\n\n          case 0x6a703263:\n            this.parseCodestream(data, position, position + dataLength);\n            break;\n\n          case 0x6a502020:\n            if ((0, _core_utils.readUint32)(data, position) !== 0x0d0a870a) {\n              (0, _util.warn)(\"Invalid JP2 signature\");\n            }\n\n            break;\n\n          case 0x6a501a1a:\n          case 0x66747970:\n          case 0x72726571:\n          case 0x72657320:\n          case 0x69686472:\n            break;\n\n          default:\n            var headerType = String.fromCharCode(tbox >> 24 & 0xff, tbox >> 16 & 0xff, tbox >> 8 & 0xff, tbox & 0xff);\n            (0, _util.warn)(\"Unsupported header type \" + tbox + \" (\" + headerType + \")\");\n            break;\n        }\n\n        if (jumpDataLength) {\n          position += dataLength;\n        }\n      }\n    },\n    parseImageProperties: function JpxImage_parseImageProperties(stream) {\n      var newByte = stream.getByte();\n\n      while (newByte >= 0) {\n        var oldByte = newByte;\n        newByte = stream.getByte();\n        var code = oldByte << 8 | newByte;\n\n        if (code === 0xff51) {\n          stream.skip(4);\n          var Xsiz = stream.getInt32() >>> 0;\n          var Ysiz = stream.getInt32() >>> 0;\n          var XOsiz = stream.getInt32() >>> 0;\n          var YOsiz = stream.getInt32() >>> 0;\n          stream.skip(16);\n          var Csiz = stream.getUint16();\n          this.width = Xsiz - XOsiz;\n          this.height = Ysiz - YOsiz;\n          this.componentsCount = Csiz;\n          this.bitsPerComponent = 8;\n          return;\n        }\n      }\n\n      throw new JpxError(\"No size marker found in JPX stream\");\n    },\n    parseCodestream: function JpxImage_parseCodestream(data, start, end) {\n      var context = {};\n      var doNotRecover = false;\n\n      try {\n        var position = start;\n\n        while (position + 1 < end) {\n          var code = (0, _core_utils.readUint16)(data, position);\n          position += 2;\n          var length = 0,\n              j,\n              sqcd,\n              spqcds,\n              spqcdSize,\n              scalarExpounded,\n              tile;\n\n          switch (code) {\n            case 0xff4f:\n              context.mainHeader = true;\n              break;\n\n            case 0xffd9:\n              break;\n\n            case 0xff51:\n              length = (0, _core_utils.readUint16)(data, position);\n              var siz = {};\n              siz.Xsiz = (0, _core_utils.readUint32)(data, position + 4);\n              siz.Ysiz = (0, _core_utils.readUint32)(data, position + 8);\n              siz.XOsiz = (0, _core_utils.readUint32)(data, position + 12);\n              siz.YOsiz = (0, _core_utils.readUint32)(data, position + 16);\n              siz.XTsiz = (0, _core_utils.readUint32)(data, position + 20);\n              siz.YTsiz = (0, _core_utils.readUint32)(data, position + 24);\n              siz.XTOsiz = (0, _core_utils.readUint32)(data, position + 28);\n              siz.YTOsiz = (0, _core_utils.readUint32)(data, position + 32);\n              var componentsCount = (0, _core_utils.readUint16)(data, position + 36);\n              siz.Csiz = componentsCount;\n              var components = [];\n              j = position + 38;\n\n              for (var i = 0; i < componentsCount; i++) {\n                var component = {\n                  precision: (data[j] & 0x7f) + 1,\n                  isSigned: !!(data[j] & 0x80),\n                  XRsiz: data[j + 1],\n                  YRsiz: data[j + 2]\n                };\n                j += 3;\n                calculateComponentDimensions(component, siz);\n                components.push(component);\n              }\n\n              context.SIZ = siz;\n              context.components = components;\n              calculateTileGrids(context, components);\n              context.QCC = [];\n              context.COC = [];\n              break;\n\n            case 0xff5c:\n              length = (0, _core_utils.readUint16)(data, position);\n              var qcd = {};\n              j = position + 2;\n              sqcd = data[j++];\n\n              switch (sqcd & 0x1f) {\n                case 0:\n                  spqcdSize = 8;\n                  scalarExpounded = true;\n                  break;\n\n                case 1:\n                  spqcdSize = 16;\n                  scalarExpounded = false;\n                  break;\n\n                case 2:\n                  spqcdSize = 16;\n                  scalarExpounded = true;\n                  break;\n\n                default:\n                  throw new Error(\"Invalid SQcd value \" + sqcd);\n              }\n\n              qcd.noQuantization = spqcdSize === 8;\n              qcd.scalarExpounded = scalarExpounded;\n              qcd.guardBits = sqcd >> 5;\n              spqcds = [];\n\n              while (j < length + position) {\n                var spqcd = {};\n\n                if (spqcdSize === 8) {\n                  spqcd.epsilon = data[j++] >> 3;\n                  spqcd.mu = 0;\n                } else {\n                  spqcd.epsilon = data[j] >> 3;\n                  spqcd.mu = (data[j] & 0x7) << 8 | data[j + 1];\n                  j += 2;\n                }\n\n                spqcds.push(spqcd);\n              }\n\n              qcd.SPqcds = spqcds;\n\n              if (context.mainHeader) {\n                context.QCD = qcd;\n              } else {\n                context.currentTile.QCD = qcd;\n                context.currentTile.QCC = [];\n              }\n\n              break;\n\n            case 0xff5d:\n              length = (0, _core_utils.readUint16)(data, position);\n              var qcc = {};\n              j = position + 2;\n              var cqcc;\n\n              if (context.SIZ.Csiz < 257) {\n                cqcc = data[j++];\n              } else {\n                cqcc = (0, _core_utils.readUint16)(data, j);\n                j += 2;\n              }\n\n              sqcd = data[j++];\n\n              switch (sqcd & 0x1f) {\n                case 0:\n                  spqcdSize = 8;\n                  scalarExpounded = true;\n                  break;\n\n                case 1:\n                  spqcdSize = 16;\n                  scalarExpounded = false;\n                  break;\n\n                case 2:\n                  spqcdSize = 16;\n                  scalarExpounded = true;\n                  break;\n\n                default:\n                  throw new Error(\"Invalid SQcd value \" + sqcd);\n              }\n\n              qcc.noQuantization = spqcdSize === 8;\n              qcc.scalarExpounded = scalarExpounded;\n              qcc.guardBits = sqcd >> 5;\n              spqcds = [];\n\n              while (j < length + position) {\n                spqcd = {};\n\n                if (spqcdSize === 8) {\n                  spqcd.epsilon = data[j++] >> 3;\n                  spqcd.mu = 0;\n                } else {\n                  spqcd.epsilon = data[j] >> 3;\n                  spqcd.mu = (data[j] & 0x7) << 8 | data[j + 1];\n                  j += 2;\n                }\n\n                spqcds.push(spqcd);\n              }\n\n              qcc.SPqcds = spqcds;\n\n              if (context.mainHeader) {\n                context.QCC[cqcc] = qcc;\n              } else {\n                context.currentTile.QCC[cqcc] = qcc;\n              }\n\n              break;\n\n            case 0xff52:\n              length = (0, _core_utils.readUint16)(data, position);\n              var cod = {};\n              j = position + 2;\n              var scod = data[j++];\n              cod.entropyCoderWithCustomPrecincts = !!(scod & 1);\n              cod.sopMarkerUsed = !!(scod & 2);\n              cod.ephMarkerUsed = !!(scod & 4);\n              cod.progressionOrder = data[j++];\n              cod.layersCount = (0, _core_utils.readUint16)(data, j);\n              j += 2;\n              cod.multipleComponentTransform = data[j++];\n              cod.decompositionLevelsCount = data[j++];\n              cod.xcb = (data[j++] & 0xf) + 2;\n              cod.ycb = (data[j++] & 0xf) + 2;\n              var blockStyle = data[j++];\n              cod.selectiveArithmeticCodingBypass = !!(blockStyle & 1);\n              cod.resetContextProbabilities = !!(blockStyle & 2);\n              cod.terminationOnEachCodingPass = !!(blockStyle & 4);\n              cod.verticallyStripe = !!(blockStyle & 8);\n              cod.predictableTermination = !!(blockStyle & 16);\n              cod.segmentationSymbolUsed = !!(blockStyle & 32);\n              cod.reversibleTransformation = data[j++];\n\n              if (cod.entropyCoderWithCustomPrecincts) {\n                var precinctsSizes = [];\n\n                while (j < length + position) {\n                  var precinctsSize = data[j++];\n                  precinctsSizes.push({\n                    PPx: precinctsSize & 0xf,\n                    PPy: precinctsSize >> 4\n                  });\n                }\n\n                cod.precinctsSizes = precinctsSizes;\n              }\n\n              var unsupported = [];\n\n              if (cod.selectiveArithmeticCodingBypass) {\n                unsupported.push(\"selectiveArithmeticCodingBypass\");\n              }\n\n              if (cod.resetContextProbabilities) {\n                unsupported.push(\"resetContextProbabilities\");\n              }\n\n              if (cod.terminationOnEachCodingPass) {\n                unsupported.push(\"terminationOnEachCodingPass\");\n              }\n\n              if (cod.verticallyStripe) {\n                unsupported.push(\"verticallyStripe\");\n              }\n\n              if (cod.predictableTermination) {\n                unsupported.push(\"predictableTermination\");\n              }\n\n              if (unsupported.length > 0) {\n                doNotRecover = true;\n                throw new Error(\"Unsupported COD options (\" + unsupported.join(\", \") + \")\");\n              }\n\n              if (context.mainHeader) {\n                context.COD = cod;\n              } else {\n                context.currentTile.COD = cod;\n                context.currentTile.COC = [];\n              }\n\n              break;\n\n            case 0xff90:\n              length = (0, _core_utils.readUint16)(data, position);\n              tile = {};\n              tile.index = (0, _core_utils.readUint16)(data, position + 2);\n              tile.length = (0, _core_utils.readUint32)(data, position + 4);\n              tile.dataEnd = tile.length + position - 2;\n              tile.partIndex = data[position + 8];\n              tile.partsCount = data[position + 9];\n              context.mainHeader = false;\n\n              if (tile.partIndex === 0) {\n                tile.COD = context.COD;\n                tile.COC = context.COC.slice(0);\n                tile.QCD = context.QCD;\n                tile.QCC = context.QCC.slice(0);\n              }\n\n              context.currentTile = tile;\n              break;\n\n            case 0xff93:\n              tile = context.currentTile;\n\n              if (tile.partIndex === 0) {\n                initializeTile(context, tile.index);\n                buildPackets(context);\n              }\n\n              length = tile.dataEnd - position;\n              parseTilePackets(context, data, position, length);\n              break;\n\n            case 0xff55:\n            case 0xff57:\n            case 0xff58:\n            case 0xff64:\n              length = (0, _core_utils.readUint16)(data, position);\n              break;\n\n            case 0xff53:\n              throw new Error(\"Codestream code 0xFF53 (COC) is not implemented\");\n\n            default:\n              throw new Error(\"Unknown codestream code: \" + code.toString(16));\n          }\n\n          position += length;\n        }\n      } catch (e) {\n        if (doNotRecover || this.failOnCorruptedImage) {\n          throw new JpxError(e.message);\n        } else {\n          (0, _util.warn)(\"JPX: Trying to recover from: \" + e.message);\n        }\n      }\n\n      this.tiles = transformComponents(context);\n      this.width = context.SIZ.Xsiz - context.SIZ.XOsiz;\n      this.height = context.SIZ.Ysiz - context.SIZ.YOsiz;\n      this.componentsCount = context.SIZ.Csiz;\n    }\n  };\n\n  function calculateComponentDimensions(component, siz) {\n    component.x0 = Math.ceil(siz.XOsiz / component.XRsiz);\n    component.x1 = Math.ceil(siz.Xsiz / component.XRsiz);\n    component.y0 = Math.ceil(siz.YOsiz / component.YRsiz);\n    component.y1 = Math.ceil(siz.Ysiz / component.YRsiz);\n    component.width = component.x1 - component.x0;\n    component.height = component.y1 - component.y0;\n  }\n\n  function calculateTileGrids(context, components) {\n    var siz = context.SIZ;\n    var tile,\n        tiles = [];\n    var numXtiles = Math.ceil((siz.Xsiz - siz.XTOsiz) / siz.XTsiz);\n    var numYtiles = Math.ceil((siz.Ysiz - siz.YTOsiz) / siz.YTsiz);\n\n    for (var q = 0; q < numYtiles; q++) {\n      for (var p = 0; p < numXtiles; p++) {\n        tile = {};\n        tile.tx0 = Math.max(siz.XTOsiz + p * siz.XTsiz, siz.XOsiz);\n        tile.ty0 = Math.max(siz.YTOsiz + q * siz.YTsiz, siz.YOsiz);\n        tile.tx1 = Math.min(siz.XTOsiz + (p + 1) * siz.XTsiz, siz.Xsiz);\n        tile.ty1 = Math.min(siz.YTOsiz + (q + 1) * siz.YTsiz, siz.Ysiz);\n        tile.width = tile.tx1 - tile.tx0;\n        tile.height = tile.ty1 - tile.ty0;\n        tile.components = [];\n        tiles.push(tile);\n      }\n    }\n\n    context.tiles = tiles;\n    var componentsCount = siz.Csiz;\n\n    for (var i = 0, ii = componentsCount; i < ii; i++) {\n      var component = components[i];\n\n      for (var j = 0, jj = tiles.length; j < jj; j++) {\n        var tileComponent = {};\n        tile = tiles[j];\n        tileComponent.tcx0 = Math.ceil(tile.tx0 / component.XRsiz);\n        tileComponent.tcy0 = Math.ceil(tile.ty0 / component.YRsiz);\n        tileComponent.tcx1 = Math.ceil(tile.tx1 / component.XRsiz);\n        tileComponent.tcy1 = Math.ceil(tile.ty1 / component.YRsiz);\n        tileComponent.width = tileComponent.tcx1 - tileComponent.tcx0;\n        tileComponent.height = tileComponent.tcy1 - tileComponent.tcy0;\n        tile.components[i] = tileComponent;\n      }\n    }\n  }\n\n  function getBlocksDimensions(context, component, r) {\n    var codOrCoc = component.codingStyleParameters;\n    var result = {};\n\n    if (!codOrCoc.entropyCoderWithCustomPrecincts) {\n      result.PPx = 15;\n      result.PPy = 15;\n    } else {\n      result.PPx = codOrCoc.precinctsSizes[r].PPx;\n      result.PPy = codOrCoc.precinctsSizes[r].PPy;\n    }\n\n    result.xcb_ = r > 0 ? Math.min(codOrCoc.xcb, result.PPx - 1) : Math.min(codOrCoc.xcb, result.PPx);\n    result.ycb_ = r > 0 ? Math.min(codOrCoc.ycb, result.PPy - 1) : Math.min(codOrCoc.ycb, result.PPy);\n    return result;\n  }\n\n  function buildPrecincts(context, resolution, dimensions) {\n    var precinctWidth = 1 << dimensions.PPx;\n    var precinctHeight = 1 << dimensions.PPy;\n    var isZeroRes = resolution.resLevel === 0;\n    var precinctWidthInSubband = 1 << dimensions.PPx + (isZeroRes ? 0 : -1);\n    var precinctHeightInSubband = 1 << dimensions.PPy + (isZeroRes ? 0 : -1);\n    var numprecinctswide = resolution.trx1 > resolution.trx0 ? Math.ceil(resolution.trx1 / precinctWidth) - Math.floor(resolution.trx0 / precinctWidth) : 0;\n    var numprecinctshigh = resolution.try1 > resolution.try0 ? Math.ceil(resolution.try1 / precinctHeight) - Math.floor(resolution.try0 / precinctHeight) : 0;\n    var numprecincts = numprecinctswide * numprecinctshigh;\n    resolution.precinctParameters = {\n      precinctWidth: precinctWidth,\n      precinctHeight: precinctHeight,\n      numprecinctswide: numprecinctswide,\n      numprecinctshigh: numprecinctshigh,\n      numprecincts: numprecincts,\n      precinctWidthInSubband: precinctWidthInSubband,\n      precinctHeightInSubband: precinctHeightInSubband\n    };\n  }\n\n  function buildCodeblocks(context, subband, dimensions) {\n    var xcb_ = dimensions.xcb_;\n    var ycb_ = dimensions.ycb_;\n    var codeblockWidth = 1 << xcb_;\n    var codeblockHeight = 1 << ycb_;\n    var cbx0 = subband.tbx0 >> xcb_;\n    var cby0 = subband.tby0 >> ycb_;\n    var cbx1 = subband.tbx1 + codeblockWidth - 1 >> xcb_;\n    var cby1 = subband.tby1 + codeblockHeight - 1 >> ycb_;\n    var precinctParameters = subband.resolution.precinctParameters;\n    var codeblocks = [];\n    var precincts = [];\n    var i, j, codeblock, precinctNumber;\n\n    for (j = cby0; j < cby1; j++) {\n      for (i = cbx0; i < cbx1; i++) {\n        codeblock = {\n          cbx: i,\n          cby: j,\n          tbx0: codeblockWidth * i,\n          tby0: codeblockHeight * j,\n          tbx1: codeblockWidth * (i + 1),\n          tby1: codeblockHeight * (j + 1)\n        };\n        codeblock.tbx0_ = Math.max(subband.tbx0, codeblock.tbx0);\n        codeblock.tby0_ = Math.max(subband.tby0, codeblock.tby0);\n        codeblock.tbx1_ = Math.min(subband.tbx1, codeblock.tbx1);\n        codeblock.tby1_ = Math.min(subband.tby1, codeblock.tby1);\n        var pi = Math.floor((codeblock.tbx0_ - subband.tbx0) / precinctParameters.precinctWidthInSubband);\n        var pj = Math.floor((codeblock.tby0_ - subband.tby0) / precinctParameters.precinctHeightInSubband);\n        precinctNumber = pi + pj * precinctParameters.numprecinctswide;\n        codeblock.precinctNumber = precinctNumber;\n        codeblock.subbandType = subband.type;\n        codeblock.Lblock = 3;\n\n        if (codeblock.tbx1_ <= codeblock.tbx0_ || codeblock.tby1_ <= codeblock.tby0_) {\n          continue;\n        }\n\n        codeblocks.push(codeblock);\n        var precinct = precincts[precinctNumber];\n\n        if (precinct !== undefined) {\n          if (i < precinct.cbxMin) {\n            precinct.cbxMin = i;\n          } else if (i > precinct.cbxMax) {\n            precinct.cbxMax = i;\n          }\n\n          if (j < precinct.cbyMin) {\n            precinct.cbxMin = j;\n          } else if (j > precinct.cbyMax) {\n            precinct.cbyMax = j;\n          }\n        } else {\n          precincts[precinctNumber] = precinct = {\n            cbxMin: i,\n            cbyMin: j,\n            cbxMax: i,\n            cbyMax: j\n          };\n        }\n\n        codeblock.precinct = precinct;\n      }\n    }\n\n    subband.codeblockParameters = {\n      codeblockWidth: xcb_,\n      codeblockHeight: ycb_,\n      numcodeblockwide: cbx1 - cbx0 + 1,\n      numcodeblockhigh: cby1 - cby0 + 1\n    };\n    subband.codeblocks = codeblocks;\n    subband.precincts = precincts;\n  }\n\n  function createPacket(resolution, precinctNumber, layerNumber) {\n    var precinctCodeblocks = [];\n    var subbands = resolution.subbands;\n\n    for (var i = 0, ii = subbands.length; i < ii; i++) {\n      var subband = subbands[i];\n      var codeblocks = subband.codeblocks;\n\n      for (var j = 0, jj = codeblocks.length; j < jj; j++) {\n        var codeblock = codeblocks[j];\n\n        if (codeblock.precinctNumber !== precinctNumber) {\n          continue;\n        }\n\n        precinctCodeblocks.push(codeblock);\n      }\n    }\n\n    return {\n      layerNumber: layerNumber,\n      codeblocks: precinctCodeblocks\n    };\n  }\n\n  function LayerResolutionComponentPositionIterator(context) {\n    var siz = context.SIZ;\n    var tileIndex = context.currentTile.index;\n    var tile = context.tiles[tileIndex];\n    var layersCount = tile.codingStyleDefaultParameters.layersCount;\n    var componentsCount = siz.Csiz;\n    var maxDecompositionLevelsCount = 0;\n\n    for (var q = 0; q < componentsCount; q++) {\n      maxDecompositionLevelsCount = Math.max(maxDecompositionLevelsCount, tile.components[q].codingStyleParameters.decompositionLevelsCount);\n    }\n\n    var l = 0,\n        r = 0,\n        i = 0,\n        k = 0;\n\n    this.nextPacket = function JpxImage_nextPacket() {\n      for (; l < layersCount; l++) {\n        for (; r <= maxDecompositionLevelsCount; r++) {\n          for (; i < componentsCount; i++) {\n            var component = tile.components[i];\n\n            if (r > component.codingStyleParameters.decompositionLevelsCount) {\n              continue;\n            }\n\n            var resolution = component.resolutions[r];\n            var numprecincts = resolution.precinctParameters.numprecincts;\n\n            for (; k < numprecincts;) {\n              var packet = createPacket(resolution, k, l);\n              k++;\n              return packet;\n            }\n\n            k = 0;\n          }\n\n          i = 0;\n        }\n\n        r = 0;\n      }\n\n      throw new JpxError(\"Out of packets\");\n    };\n  }\n\n  function ResolutionLayerComponentPositionIterator(context) {\n    var siz = context.SIZ;\n    var tileIndex = context.currentTile.index;\n    var tile = context.tiles[tileIndex];\n    var layersCount = tile.codingStyleDefaultParameters.layersCount;\n    var componentsCount = siz.Csiz;\n    var maxDecompositionLevelsCount = 0;\n\n    for (var q = 0; q < componentsCount; q++) {\n      maxDecompositionLevelsCount = Math.max(maxDecompositionLevelsCount, tile.components[q].codingStyleParameters.decompositionLevelsCount);\n    }\n\n    var r = 0,\n        l = 0,\n        i = 0,\n        k = 0;\n\n    this.nextPacket = function JpxImage_nextPacket() {\n      for (; r <= maxDecompositionLevelsCount; r++) {\n        for (; l < layersCount; l++) {\n          for (; i < componentsCount; i++) {\n            var component = tile.components[i];\n\n            if (r > component.codingStyleParameters.decompositionLevelsCount) {\n              continue;\n            }\n\n            var resolution = component.resolutions[r];\n            var numprecincts = resolution.precinctParameters.numprecincts;\n\n            for (; k < numprecincts;) {\n              var packet = createPacket(resolution, k, l);\n              k++;\n              return packet;\n            }\n\n            k = 0;\n          }\n\n          i = 0;\n        }\n\n        l = 0;\n      }\n\n      throw new JpxError(\"Out of packets\");\n    };\n  }\n\n  function ResolutionPositionComponentLayerIterator(context) {\n    var siz = context.SIZ;\n    var tileIndex = context.currentTile.index;\n    var tile = context.tiles[tileIndex];\n    var layersCount = tile.codingStyleDefaultParameters.layersCount;\n    var componentsCount = siz.Csiz;\n    var l, r, c, p;\n    var maxDecompositionLevelsCount = 0;\n\n    for (c = 0; c < componentsCount; c++) {\n      var component = tile.components[c];\n      maxDecompositionLevelsCount = Math.max(maxDecompositionLevelsCount, component.codingStyleParameters.decompositionLevelsCount);\n    }\n\n    var maxNumPrecinctsInLevel = new Int32Array(maxDecompositionLevelsCount + 1);\n\n    for (r = 0; r <= maxDecompositionLevelsCount; ++r) {\n      var maxNumPrecincts = 0;\n\n      for (c = 0; c < componentsCount; ++c) {\n        var resolutions = tile.components[c].resolutions;\n\n        if (r < resolutions.length) {\n          maxNumPrecincts = Math.max(maxNumPrecincts, resolutions[r].precinctParameters.numprecincts);\n        }\n      }\n\n      maxNumPrecinctsInLevel[r] = maxNumPrecincts;\n    }\n\n    l = 0;\n    r = 0;\n    c = 0;\n    p = 0;\n\n    this.nextPacket = function JpxImage_nextPacket() {\n      for (; r <= maxDecompositionLevelsCount; r++) {\n        for (; p < maxNumPrecinctsInLevel[r]; p++) {\n          for (; c < componentsCount; c++) {\n            var _component = tile.components[c];\n\n            if (r > _component.codingStyleParameters.decompositionLevelsCount) {\n              continue;\n            }\n\n            var resolution = _component.resolutions[r];\n            var numprecincts = resolution.precinctParameters.numprecincts;\n\n            if (p >= numprecincts) {\n              continue;\n            }\n\n            for (; l < layersCount;) {\n              var packet = createPacket(resolution, p, l);\n              l++;\n              return packet;\n            }\n\n            l = 0;\n          }\n\n          c = 0;\n        }\n\n        p = 0;\n      }\n\n      throw new JpxError(\"Out of packets\");\n    };\n  }\n\n  function PositionComponentResolutionLayerIterator(context) {\n    var siz = context.SIZ;\n    var tileIndex = context.currentTile.index;\n    var tile = context.tiles[tileIndex];\n    var layersCount = tile.codingStyleDefaultParameters.layersCount;\n    var componentsCount = siz.Csiz;\n    var precinctsSizes = getPrecinctSizesInImageScale(tile);\n    var precinctsIterationSizes = precinctsSizes;\n    var l = 0,\n        r = 0,\n        c = 0,\n        px = 0,\n        py = 0;\n\n    this.nextPacket = function JpxImage_nextPacket() {\n      for (; py < precinctsIterationSizes.maxNumHigh; py++) {\n        for (; px < precinctsIterationSizes.maxNumWide; px++) {\n          for (; c < componentsCount; c++) {\n            var component = tile.components[c];\n            var decompositionLevelsCount = component.codingStyleParameters.decompositionLevelsCount;\n\n            for (; r <= decompositionLevelsCount; r++) {\n              var resolution = component.resolutions[r];\n              var sizeInImageScale = precinctsSizes.components[c].resolutions[r];\n              var k = getPrecinctIndexIfExist(px, py, sizeInImageScale, precinctsIterationSizes, resolution);\n\n              if (k === null) {\n                continue;\n              }\n\n              for (; l < layersCount;) {\n                var packet = createPacket(resolution, k, l);\n                l++;\n                return packet;\n              }\n\n              l = 0;\n            }\n\n            r = 0;\n          }\n\n          c = 0;\n        }\n\n        px = 0;\n      }\n\n      throw new JpxError(\"Out of packets\");\n    };\n  }\n\n  function ComponentPositionResolutionLayerIterator(context) {\n    var siz = context.SIZ;\n    var tileIndex = context.currentTile.index;\n    var tile = context.tiles[tileIndex];\n    var layersCount = tile.codingStyleDefaultParameters.layersCount;\n    var componentsCount = siz.Csiz;\n    var precinctsSizes = getPrecinctSizesInImageScale(tile);\n    var l = 0,\n        r = 0,\n        c = 0,\n        px = 0,\n        py = 0;\n\n    this.nextPacket = function JpxImage_nextPacket() {\n      for (; c < componentsCount; ++c) {\n        var component = tile.components[c];\n        var precinctsIterationSizes = precinctsSizes.components[c];\n        var decompositionLevelsCount = component.codingStyleParameters.decompositionLevelsCount;\n\n        for (; py < precinctsIterationSizes.maxNumHigh; py++) {\n          for (; px < precinctsIterationSizes.maxNumWide; px++) {\n            for (; r <= decompositionLevelsCount; r++) {\n              var resolution = component.resolutions[r];\n              var sizeInImageScale = precinctsIterationSizes.resolutions[r];\n              var k = getPrecinctIndexIfExist(px, py, sizeInImageScale, precinctsIterationSizes, resolution);\n\n              if (k === null) {\n                continue;\n              }\n\n              for (; l < layersCount;) {\n                var packet = createPacket(resolution, k, l);\n                l++;\n                return packet;\n              }\n\n              l = 0;\n            }\n\n            r = 0;\n          }\n\n          px = 0;\n        }\n\n        py = 0;\n      }\n\n      throw new JpxError(\"Out of packets\");\n    };\n  }\n\n  function getPrecinctIndexIfExist(pxIndex, pyIndex, sizeInImageScale, precinctIterationSizes, resolution) {\n    var posX = pxIndex * precinctIterationSizes.minWidth;\n    var posY = pyIndex * precinctIterationSizes.minHeight;\n\n    if (posX % sizeInImageScale.width !== 0 || posY % sizeInImageScale.height !== 0) {\n      return null;\n    }\n\n    var startPrecinctRowIndex = posY / sizeInImageScale.width * resolution.precinctParameters.numprecinctswide;\n    return posX / sizeInImageScale.height + startPrecinctRowIndex;\n  }\n\n  function getPrecinctSizesInImageScale(tile) {\n    var componentsCount = tile.components.length;\n    var minWidth = Number.MAX_VALUE;\n    var minHeight = Number.MAX_VALUE;\n    var maxNumWide = 0;\n    var maxNumHigh = 0;\n    var sizePerComponent = new Array(componentsCount);\n\n    for (var c = 0; c < componentsCount; c++) {\n      var component = tile.components[c];\n      var decompositionLevelsCount = component.codingStyleParameters.decompositionLevelsCount;\n      var sizePerResolution = new Array(decompositionLevelsCount + 1);\n      var minWidthCurrentComponent = Number.MAX_VALUE;\n      var minHeightCurrentComponent = Number.MAX_VALUE;\n      var maxNumWideCurrentComponent = 0;\n      var maxNumHighCurrentComponent = 0;\n      var scale = 1;\n\n      for (var r = decompositionLevelsCount; r >= 0; --r) {\n        var resolution = component.resolutions[r];\n        var widthCurrentResolution = scale * resolution.precinctParameters.precinctWidth;\n        var heightCurrentResolution = scale * resolution.precinctParameters.precinctHeight;\n        minWidthCurrentComponent = Math.min(minWidthCurrentComponent, widthCurrentResolution);\n        minHeightCurrentComponent = Math.min(minHeightCurrentComponent, heightCurrentResolution);\n        maxNumWideCurrentComponent = Math.max(maxNumWideCurrentComponent, resolution.precinctParameters.numprecinctswide);\n        maxNumHighCurrentComponent = Math.max(maxNumHighCurrentComponent, resolution.precinctParameters.numprecinctshigh);\n        sizePerResolution[r] = {\n          width: widthCurrentResolution,\n          height: heightCurrentResolution\n        };\n        scale <<= 1;\n      }\n\n      minWidth = Math.min(minWidth, minWidthCurrentComponent);\n      minHeight = Math.min(minHeight, minHeightCurrentComponent);\n      maxNumWide = Math.max(maxNumWide, maxNumWideCurrentComponent);\n      maxNumHigh = Math.max(maxNumHigh, maxNumHighCurrentComponent);\n      sizePerComponent[c] = {\n        resolutions: sizePerResolution,\n        minWidth: minWidthCurrentComponent,\n        minHeight: minHeightCurrentComponent,\n        maxNumWide: maxNumWideCurrentComponent,\n        maxNumHigh: maxNumHighCurrentComponent\n      };\n    }\n\n    return {\n      components: sizePerComponent,\n      minWidth: minWidth,\n      minHeight: minHeight,\n      maxNumWide: maxNumWide,\n      maxNumHigh: maxNumHigh\n    };\n  }\n\n  function buildPackets(context) {\n    var siz = context.SIZ;\n    var tileIndex = context.currentTile.index;\n    var tile = context.tiles[tileIndex];\n    var componentsCount = siz.Csiz;\n\n    for (var c = 0; c < componentsCount; c++) {\n      var component = tile.components[c];\n      var decompositionLevelsCount = component.codingStyleParameters.decompositionLevelsCount;\n      var resolutions = [];\n      var subbands = [];\n\n      for (var r = 0; r <= decompositionLevelsCount; r++) {\n        var blocksDimensions = getBlocksDimensions(context, component, r);\n        var resolution = {};\n        var scale = 1 << decompositionLevelsCount - r;\n        resolution.trx0 = Math.ceil(component.tcx0 / scale);\n        resolution.try0 = Math.ceil(component.tcy0 / scale);\n        resolution.trx1 = Math.ceil(component.tcx1 / scale);\n        resolution.try1 = Math.ceil(component.tcy1 / scale);\n        resolution.resLevel = r;\n        buildPrecincts(context, resolution, blocksDimensions);\n        resolutions.push(resolution);\n        var subband;\n\n        if (r === 0) {\n          subband = {};\n          subband.type = \"LL\";\n          subband.tbx0 = Math.ceil(component.tcx0 / scale);\n          subband.tby0 = Math.ceil(component.tcy0 / scale);\n          subband.tbx1 = Math.ceil(component.tcx1 / scale);\n          subband.tby1 = Math.ceil(component.tcy1 / scale);\n          subband.resolution = resolution;\n          buildCodeblocks(context, subband, blocksDimensions);\n          subbands.push(subband);\n          resolution.subbands = [subband];\n        } else {\n          var bscale = 1 << decompositionLevelsCount - r + 1;\n          var resolutionSubbands = [];\n          subband = {};\n          subband.type = \"HL\";\n          subband.tbx0 = Math.ceil(component.tcx0 / bscale - 0.5);\n          subband.tby0 = Math.ceil(component.tcy0 / bscale);\n          subband.tbx1 = Math.ceil(component.tcx1 / bscale - 0.5);\n          subband.tby1 = Math.ceil(component.tcy1 / bscale);\n          subband.resolution = resolution;\n          buildCodeblocks(context, subband, blocksDimensions);\n          subbands.push(subband);\n          resolutionSubbands.push(subband);\n          subband = {};\n          subband.type = \"LH\";\n          subband.tbx0 = Math.ceil(component.tcx0 / bscale);\n          subband.tby0 = Math.ceil(component.tcy0 / bscale - 0.5);\n          subband.tbx1 = Math.ceil(component.tcx1 / bscale);\n          subband.tby1 = Math.ceil(component.tcy1 / bscale - 0.5);\n          subband.resolution = resolution;\n          buildCodeblocks(context, subband, blocksDimensions);\n          subbands.push(subband);\n          resolutionSubbands.push(subband);\n          subband = {};\n          subband.type = \"HH\";\n          subband.tbx0 = Math.ceil(component.tcx0 / bscale - 0.5);\n          subband.tby0 = Math.ceil(component.tcy0 / bscale - 0.5);\n          subband.tbx1 = Math.ceil(component.tcx1 / bscale - 0.5);\n          subband.tby1 = Math.ceil(component.tcy1 / bscale - 0.5);\n          subband.resolution = resolution;\n          buildCodeblocks(context, subband, blocksDimensions);\n          subbands.push(subband);\n          resolutionSubbands.push(subband);\n          resolution.subbands = resolutionSubbands;\n        }\n      }\n\n      component.resolutions = resolutions;\n      component.subbands = subbands;\n    }\n\n    var progressionOrder = tile.codingStyleDefaultParameters.progressionOrder;\n\n    switch (progressionOrder) {\n      case 0:\n        tile.packetsIterator = new LayerResolutionComponentPositionIterator(context);\n        break;\n\n      case 1:\n        tile.packetsIterator = new ResolutionLayerComponentPositionIterator(context);\n        break;\n\n      case 2:\n        tile.packetsIterator = new ResolutionPositionComponentLayerIterator(context);\n        break;\n\n      case 3:\n        tile.packetsIterator = new PositionComponentResolutionLayerIterator(context);\n        break;\n\n      case 4:\n        tile.packetsIterator = new ComponentPositionResolutionLayerIterator(context);\n        break;\n\n      default:\n        throw new JpxError(\"Unsupported progression order \".concat(progressionOrder));\n    }\n  }\n\n  function parseTilePackets(context, data, offset, dataLength) {\n    var position = 0;\n    var buffer,\n        bufferSize = 0,\n        skipNextBit = false;\n\n    function readBits(count) {\n      while (bufferSize < count) {\n        var b = data[offset + position];\n        position++;\n\n        if (skipNextBit) {\n          buffer = buffer << 7 | b;\n          bufferSize += 7;\n          skipNextBit = false;\n        } else {\n          buffer = buffer << 8 | b;\n          bufferSize += 8;\n        }\n\n        if (b === 0xff) {\n          skipNextBit = true;\n        }\n      }\n\n      bufferSize -= count;\n      return buffer >>> bufferSize & (1 << count) - 1;\n    }\n\n    function skipMarkerIfEqual(value) {\n      if (data[offset + position - 1] === 0xff && data[offset + position] === value) {\n        skipBytes(1);\n        return true;\n      } else if (data[offset + position] === 0xff && data[offset + position + 1] === value) {\n        skipBytes(2);\n        return true;\n      }\n\n      return false;\n    }\n\n    function skipBytes(count) {\n      position += count;\n    }\n\n    function alignToByte() {\n      bufferSize = 0;\n\n      if (skipNextBit) {\n        position++;\n        skipNextBit = false;\n      }\n    }\n\n    function readCodingpasses() {\n      if (readBits(1) === 0) {\n        return 1;\n      }\n\n      if (readBits(1) === 0) {\n        return 2;\n      }\n\n      var value = readBits(2);\n\n      if (value < 3) {\n        return value + 3;\n      }\n\n      value = readBits(5);\n\n      if (value < 31) {\n        return value + 6;\n      }\n\n      value = readBits(7);\n      return value + 37;\n    }\n\n    var tileIndex = context.currentTile.index;\n    var tile = context.tiles[tileIndex];\n    var sopMarkerUsed = context.COD.sopMarkerUsed;\n    var ephMarkerUsed = context.COD.ephMarkerUsed;\n    var packetsIterator = tile.packetsIterator;\n\n    while (position < dataLength) {\n      alignToByte();\n\n      if (sopMarkerUsed && skipMarkerIfEqual(0x91)) {\n        skipBytes(4);\n      }\n\n      var packet = packetsIterator.nextPacket();\n\n      if (!readBits(1)) {\n        continue;\n      }\n\n      var layerNumber = packet.layerNumber;\n      var queue = [],\n          codeblock;\n\n      for (var i = 0, ii = packet.codeblocks.length; i < ii; i++) {\n        codeblock = packet.codeblocks[i];\n        var precinct = codeblock.precinct;\n        var codeblockColumn = codeblock.cbx - precinct.cbxMin;\n        var codeblockRow = codeblock.cby - precinct.cbyMin;\n        var codeblockIncluded = false;\n        var firstTimeInclusion = false;\n        var valueReady;\n\n        if (codeblock.included !== undefined) {\n          codeblockIncluded = !!readBits(1);\n        } else {\n          precinct = codeblock.precinct;\n          var inclusionTree, zeroBitPlanesTree;\n\n          if (precinct.inclusionTree !== undefined) {\n            inclusionTree = precinct.inclusionTree;\n          } else {\n            var width = precinct.cbxMax - precinct.cbxMin + 1;\n            var height = precinct.cbyMax - precinct.cbyMin + 1;\n            inclusionTree = new InclusionTree(width, height, layerNumber);\n            zeroBitPlanesTree = new TagTree(width, height);\n            precinct.inclusionTree = inclusionTree;\n            precinct.zeroBitPlanesTree = zeroBitPlanesTree;\n          }\n\n          if (inclusionTree.reset(codeblockColumn, codeblockRow, layerNumber)) {\n            while (true) {\n              if (readBits(1)) {\n                valueReady = !inclusionTree.nextLevel();\n\n                if (valueReady) {\n                  codeblock.included = true;\n                  codeblockIncluded = firstTimeInclusion = true;\n                  break;\n                }\n              } else {\n                inclusionTree.incrementValue(layerNumber);\n                break;\n              }\n            }\n          }\n        }\n\n        if (!codeblockIncluded) {\n          continue;\n        }\n\n        if (firstTimeInclusion) {\n          zeroBitPlanesTree = precinct.zeroBitPlanesTree;\n          zeroBitPlanesTree.reset(codeblockColumn, codeblockRow);\n\n          while (true) {\n            if (readBits(1)) {\n              valueReady = !zeroBitPlanesTree.nextLevel();\n\n              if (valueReady) {\n                break;\n              }\n            } else {\n              zeroBitPlanesTree.incrementValue();\n            }\n          }\n\n          codeblock.zeroBitPlanes = zeroBitPlanesTree.value;\n        }\n\n        var codingpasses = readCodingpasses();\n\n        while (readBits(1)) {\n          codeblock.Lblock++;\n        }\n\n        var codingpassesLog2 = (0, _core_utils.log2)(codingpasses);\n        var bits = (codingpasses < 1 << codingpassesLog2 ? codingpassesLog2 - 1 : codingpassesLog2) + codeblock.Lblock;\n        var codedDataLength = readBits(bits);\n        queue.push({\n          codeblock: codeblock,\n          codingpasses: codingpasses,\n          dataLength: codedDataLength\n        });\n      }\n\n      alignToByte();\n\n      if (ephMarkerUsed) {\n        skipMarkerIfEqual(0x92);\n      }\n\n      while (queue.length > 0) {\n        var packetItem = queue.shift();\n        codeblock = packetItem.codeblock;\n\n        if (codeblock.data === undefined) {\n          codeblock.data = [];\n        }\n\n        codeblock.data.push({\n          data: data,\n          start: offset + position,\n          end: offset + position + packetItem.dataLength,\n          codingpasses: packetItem.codingpasses\n        });\n        position += packetItem.dataLength;\n      }\n    }\n\n    return position;\n  }\n\n  function copyCoefficients(coefficients, levelWidth, levelHeight, subband, delta, mb, reversible, segmentationSymbolUsed) {\n    var x0 = subband.tbx0;\n    var y0 = subband.tby0;\n    var width = subband.tbx1 - subband.tbx0;\n    var codeblocks = subband.codeblocks;\n    var right = subband.type.charAt(0) === \"H\" ? 1 : 0;\n    var bottom = subband.type.charAt(1) === \"H\" ? levelWidth : 0;\n\n    for (var i = 0, ii = codeblocks.length; i < ii; ++i) {\n      var codeblock = codeblocks[i];\n      var blockWidth = codeblock.tbx1_ - codeblock.tbx0_;\n      var blockHeight = codeblock.tby1_ - codeblock.tby0_;\n\n      if (blockWidth === 0 || blockHeight === 0) {\n        continue;\n      }\n\n      if (codeblock.data === undefined) {\n        continue;\n      }\n\n      var bitModel, currentCodingpassType;\n      bitModel = new BitModel(blockWidth, blockHeight, codeblock.subbandType, codeblock.zeroBitPlanes, mb);\n      currentCodingpassType = 2;\n      var data = codeblock.data,\n          totalLength = 0,\n          codingpasses = 0;\n      var j, jj, dataItem;\n\n      for (j = 0, jj = data.length; j < jj; j++) {\n        dataItem = data[j];\n        totalLength += dataItem.end - dataItem.start;\n        codingpasses += dataItem.codingpasses;\n      }\n\n      var encodedData = new Uint8Array(totalLength);\n      var position = 0;\n\n      for (j = 0, jj = data.length; j < jj; j++) {\n        dataItem = data[j];\n        var chunk = dataItem.data.subarray(dataItem.start, dataItem.end);\n        encodedData.set(chunk, position);\n        position += chunk.length;\n      }\n\n      var decoder = new _arithmetic_decoder.ArithmeticDecoder(encodedData, 0, totalLength);\n      bitModel.setDecoder(decoder);\n\n      for (j = 0; j < codingpasses; j++) {\n        switch (currentCodingpassType) {\n          case 0:\n            bitModel.runSignificancePropagationPass();\n            break;\n\n          case 1:\n            bitModel.runMagnitudeRefinementPass();\n            break;\n\n          case 2:\n            bitModel.runCleanupPass();\n\n            if (segmentationSymbolUsed) {\n              bitModel.checkSegmentationSymbol();\n            }\n\n            break;\n        }\n\n        currentCodingpassType = (currentCodingpassType + 1) % 3;\n      }\n\n      var offset = codeblock.tbx0_ - x0 + (codeblock.tby0_ - y0) * width;\n      var sign = bitModel.coefficentsSign;\n      var magnitude = bitModel.coefficentsMagnitude;\n      var bitsDecoded = bitModel.bitsDecoded;\n      var magnitudeCorrection = reversible ? 0 : 0.5;\n      var k, n, nb;\n      position = 0;\n      var interleave = subband.type !== \"LL\";\n\n      for (j = 0; j < blockHeight; j++) {\n        var row = offset / width | 0;\n        var levelOffset = 2 * row * (levelWidth - width) + right + bottom;\n\n        for (k = 0; k < blockWidth; k++) {\n          n = magnitude[position];\n\n          if (n !== 0) {\n            n = (n + magnitudeCorrection) * delta;\n\n            if (sign[position] !== 0) {\n              n = -n;\n            }\n\n            nb = bitsDecoded[position];\n            var pos = interleave ? levelOffset + (offset << 1) : offset;\n\n            if (reversible && nb >= mb) {\n              coefficients[pos] = n;\n            } else {\n              coefficients[pos] = n * (1 << mb - nb);\n            }\n          }\n\n          offset++;\n          position++;\n        }\n\n        offset += width - blockWidth;\n      }\n    }\n  }\n\n  function transformTile(context, tile, c) {\n    var component = tile.components[c];\n    var codingStyleParameters = component.codingStyleParameters;\n    var quantizationParameters = component.quantizationParameters;\n    var decompositionLevelsCount = codingStyleParameters.decompositionLevelsCount;\n    var spqcds = quantizationParameters.SPqcds;\n    var scalarExpounded = quantizationParameters.scalarExpounded;\n    var guardBits = quantizationParameters.guardBits;\n    var segmentationSymbolUsed = codingStyleParameters.segmentationSymbolUsed;\n    var precision = context.components[c].precision;\n    var reversible = codingStyleParameters.reversibleTransformation;\n    var transform = reversible ? new ReversibleTransform() : new IrreversibleTransform();\n    var subbandCoefficients = [];\n    var b = 0;\n\n    for (var i = 0; i <= decompositionLevelsCount; i++) {\n      var resolution = component.resolutions[i];\n      var width = resolution.trx1 - resolution.trx0;\n      var height = resolution.try1 - resolution.try0;\n      var coefficients = new Float32Array(width * height);\n\n      for (var j = 0, jj = resolution.subbands.length; j < jj; j++) {\n        var mu, epsilon;\n\n        if (!scalarExpounded) {\n          mu = spqcds[0].mu;\n          epsilon = spqcds[0].epsilon + (i > 0 ? 1 - i : 0);\n        } else {\n          mu = spqcds[b].mu;\n          epsilon = spqcds[b].epsilon;\n          b++;\n        }\n\n        var subband = resolution.subbands[j];\n        var gainLog2 = SubbandsGainLog2[subband.type];\n        var delta = reversible ? 1 : Math.pow(2, precision + gainLog2 - epsilon) * (1 + mu / 2048);\n        var mb = guardBits + epsilon - 1;\n        copyCoefficients(coefficients, width, height, subband, delta, mb, reversible, segmentationSymbolUsed);\n      }\n\n      subbandCoefficients.push({\n        width: width,\n        height: height,\n        items: coefficients\n      });\n    }\n\n    var result = transform.calculate(subbandCoefficients, component.tcx0, component.tcy0);\n    return {\n      left: component.tcx0,\n      top: component.tcy0,\n      width: result.width,\n      height: result.height,\n      items: result.items\n    };\n  }\n\n  function transformComponents(context) {\n    var siz = context.SIZ;\n    var components = context.components;\n    var componentsCount = siz.Csiz;\n    var resultImages = [];\n\n    for (var i = 0, ii = context.tiles.length; i < ii; i++) {\n      var tile = context.tiles[i];\n      var transformedTiles = [];\n      var c;\n\n      for (c = 0; c < componentsCount; c++) {\n        transformedTiles[c] = transformTile(context, tile, c);\n      }\n\n      var tile0 = transformedTiles[0];\n      var out = new Uint8ClampedArray(tile0.items.length * componentsCount);\n      var result = {\n        left: tile0.left,\n        top: tile0.top,\n        width: tile0.width,\n        height: tile0.height,\n        items: out\n      };\n      var shift, offset;\n      var pos = 0,\n          j,\n          jj,\n          y0,\n          y1,\n          y2;\n\n      if (tile.codingStyleDefaultParameters.multipleComponentTransform) {\n        var fourComponents = componentsCount === 4;\n        var y0items = transformedTiles[0].items;\n        var y1items = transformedTiles[1].items;\n        var y2items = transformedTiles[2].items;\n        var y3items = fourComponents ? transformedTiles[3].items : null;\n        shift = components[0].precision - 8;\n        offset = (128 << shift) + 0.5;\n        var component0 = tile.components[0];\n        var alpha01 = componentsCount - 3;\n        jj = y0items.length;\n\n        if (!component0.codingStyleParameters.reversibleTransformation) {\n          for (j = 0; j < jj; j++, pos += alpha01) {\n            y0 = y0items[j] + offset;\n            y1 = y1items[j];\n            y2 = y2items[j];\n            out[pos++] = y0 + 1.402 * y2 >> shift;\n            out[pos++] = y0 - 0.34413 * y1 - 0.71414 * y2 >> shift;\n            out[pos++] = y0 + 1.772 * y1 >> shift;\n          }\n        } else {\n          for (j = 0; j < jj; j++, pos += alpha01) {\n            y0 = y0items[j] + offset;\n            y1 = y1items[j];\n            y2 = y2items[j];\n            var g = y0 - (y2 + y1 >> 2);\n            out[pos++] = g + y2 >> shift;\n            out[pos++] = g >> shift;\n            out[pos++] = g + y1 >> shift;\n          }\n        }\n\n        if (fourComponents) {\n          for (j = 0, pos = 3; j < jj; j++, pos += 4) {\n            out[pos] = y3items[j] + offset >> shift;\n          }\n        }\n      } else {\n        for (c = 0; c < componentsCount; c++) {\n          var items = transformedTiles[c].items;\n          shift = components[c].precision - 8;\n          offset = (128 << shift) + 0.5;\n\n          for (pos = c, j = 0, jj = items.length; j < jj; j++) {\n            out[pos] = items[j] + offset >> shift;\n            pos += componentsCount;\n          }\n        }\n      }\n\n      resultImages.push(result);\n    }\n\n    return resultImages;\n  }\n\n  function initializeTile(context, tileIndex) {\n    var siz = context.SIZ;\n    var componentsCount = siz.Csiz;\n    var tile = context.tiles[tileIndex];\n\n    for (var c = 0; c < componentsCount; c++) {\n      var component = tile.components[c];\n      var qcdOrQcc = context.currentTile.QCC[c] !== undefined ? context.currentTile.QCC[c] : context.currentTile.QCD;\n      component.quantizationParameters = qcdOrQcc;\n      var codOrCoc = context.currentTile.COC[c] !== undefined ? context.currentTile.COC[c] : context.currentTile.COD;\n      component.codingStyleParameters = codOrCoc;\n    }\n\n    tile.codingStyleDefaultParameters = context.currentTile.COD;\n  }\n\n  var TagTree = function TagTreeClosure() {\n    function TagTree(width, height) {\n      var levelsLength = (0, _core_utils.log2)(Math.max(width, height)) + 1;\n      this.levels = [];\n\n      for (var i = 0; i < levelsLength; i++) {\n        var level = {\n          width: width,\n          height: height,\n          items: []\n        };\n        this.levels.push(level);\n        width = Math.ceil(width / 2);\n        height = Math.ceil(height / 2);\n      }\n    }\n\n    TagTree.prototype = {\n      reset: function TagTree_reset(i, j) {\n        var currentLevel = 0,\n            value = 0,\n            level;\n\n        while (currentLevel < this.levels.length) {\n          level = this.levels[currentLevel];\n          var index = i + j * level.width;\n\n          if (level.items[index] !== undefined) {\n            value = level.items[index];\n            break;\n          }\n\n          level.index = index;\n          i >>= 1;\n          j >>= 1;\n          currentLevel++;\n        }\n\n        currentLevel--;\n        level = this.levels[currentLevel];\n        level.items[level.index] = value;\n        this.currentLevel = currentLevel;\n        delete this.value;\n      },\n      incrementValue: function TagTree_incrementValue() {\n        var level = this.levels[this.currentLevel];\n        level.items[level.index]++;\n      },\n      nextLevel: function TagTree_nextLevel() {\n        var currentLevel = this.currentLevel;\n        var level = this.levels[currentLevel];\n        var value = level.items[level.index];\n        currentLevel--;\n\n        if (currentLevel < 0) {\n          this.value = value;\n          return false;\n        }\n\n        this.currentLevel = currentLevel;\n        level = this.levels[currentLevel];\n        level.items[level.index] = value;\n        return true;\n      }\n    };\n    return TagTree;\n  }();\n\n  var InclusionTree = function InclusionTreeClosure() {\n    function InclusionTree(width, height, defaultValue) {\n      var levelsLength = (0, _core_utils.log2)(Math.max(width, height)) + 1;\n      this.levels = [];\n\n      for (var i = 0; i < levelsLength; i++) {\n        var items = new Uint8Array(width * height);\n\n        for (var j = 0, jj = items.length; j < jj; j++) {\n          items[j] = defaultValue;\n        }\n\n        var level = {\n          width: width,\n          height: height,\n          items: items\n        };\n        this.levels.push(level);\n        width = Math.ceil(width / 2);\n        height = Math.ceil(height / 2);\n      }\n    }\n\n    InclusionTree.prototype = {\n      reset: function InclusionTree_reset(i, j, stopValue) {\n        var currentLevel = 0;\n\n        while (currentLevel < this.levels.length) {\n          var level = this.levels[currentLevel];\n          var index = i + j * level.width;\n          level.index = index;\n          var value = level.items[index];\n\n          if (value === 0xff) {\n            break;\n          }\n\n          if (value > stopValue) {\n            this.currentLevel = currentLevel;\n            this.propagateValues();\n            return false;\n          }\n\n          i >>= 1;\n          j >>= 1;\n          currentLevel++;\n        }\n\n        this.currentLevel = currentLevel - 1;\n        return true;\n      },\n      incrementValue: function InclusionTree_incrementValue(stopValue) {\n        var level = this.levels[this.currentLevel];\n        level.items[level.index] = stopValue + 1;\n        this.propagateValues();\n      },\n      propagateValues: function InclusionTree_propagateValues() {\n        var levelIndex = this.currentLevel;\n        var level = this.levels[levelIndex];\n        var currentValue = level.items[level.index];\n\n        while (--levelIndex >= 0) {\n          level = this.levels[levelIndex];\n          level.items[level.index] = currentValue;\n        }\n      },\n      nextLevel: function InclusionTree_nextLevel() {\n        var currentLevel = this.currentLevel;\n        var level = this.levels[currentLevel];\n        var value = level.items[level.index];\n        level.items[level.index] = 0xff;\n        currentLevel--;\n\n        if (currentLevel < 0) {\n          return false;\n        }\n\n        this.currentLevel = currentLevel;\n        level = this.levels[currentLevel];\n        level.items[level.index] = value;\n        return true;\n      }\n    };\n    return InclusionTree;\n  }();\n\n  var BitModel = function BitModelClosure() {\n    var UNIFORM_CONTEXT = 17;\n    var RUNLENGTH_CONTEXT = 18;\n    var LLAndLHContextsLabel = new Uint8Array([0, 5, 8, 0, 3, 7, 8, 0, 4, 7, 8, 0, 0, 0, 0, 0, 1, 6, 8, 0, 3, 7, 8, 0, 4, 7, 8, 0, 0, 0, 0, 0, 2, 6, 8, 0, 3, 7, 8, 0, 4, 7, 8, 0, 0, 0, 0, 0, 2, 6, 8, 0, 3, 7, 8, 0, 4, 7, 8, 0, 0, 0, 0, 0, 2, 6, 8, 0, 3, 7, 8, 0, 4, 7, 8]);\n    var HLContextLabel = new Uint8Array([0, 3, 4, 0, 5, 7, 7, 0, 8, 8, 8, 0, 0, 0, 0, 0, 1, 3, 4, 0, 6, 7, 7, 0, 8, 8, 8, 0, 0, 0, 0, 0, 2, 3, 4, 0, 6, 7, 7, 0, 8, 8, 8, 0, 0, 0, 0, 0, 2, 3, 4, 0, 6, 7, 7, 0, 8, 8, 8, 0, 0, 0, 0, 0, 2, 3, 4, 0, 6, 7, 7, 0, 8, 8, 8]);\n    var HHContextLabel = new Uint8Array([0, 1, 2, 0, 1, 2, 2, 0, 2, 2, 2, 0, 0, 0, 0, 0, 3, 4, 5, 0, 4, 5, 5, 0, 5, 5, 5, 0, 0, 0, 0, 0, 6, 7, 7, 0, 7, 7, 7, 0, 7, 7, 7, 0, 0, 0, 0, 0, 8, 8, 8, 0, 8, 8, 8, 0, 8, 8, 8, 0, 0, 0, 0, 0, 8, 8, 8, 0, 8, 8, 8, 0, 8, 8, 8]);\n\n    function BitModel(width, height, subband, zeroBitPlanes, mb) {\n      this.width = width;\n      this.height = height;\n      var contextLabelTable;\n\n      if (subband === \"HH\") {\n        contextLabelTable = HHContextLabel;\n      } else if (subband === \"HL\") {\n        contextLabelTable = HLContextLabel;\n      } else {\n        contextLabelTable = LLAndLHContextsLabel;\n      }\n\n      this.contextLabelTable = contextLabelTable;\n      var coefficientCount = width * height;\n      this.neighborsSignificance = new Uint8Array(coefficientCount);\n      this.coefficentsSign = new Uint8Array(coefficientCount);\n      var coefficentsMagnitude;\n\n      if (mb > 14) {\n        coefficentsMagnitude = new Uint32Array(coefficientCount);\n      } else if (mb > 6) {\n        coefficentsMagnitude = new Uint16Array(coefficientCount);\n      } else {\n        coefficentsMagnitude = new Uint8Array(coefficientCount);\n      }\n\n      this.coefficentsMagnitude = coefficentsMagnitude;\n      this.processingFlags = new Uint8Array(coefficientCount);\n      var bitsDecoded = new Uint8Array(coefficientCount);\n\n      if (zeroBitPlanes !== 0) {\n        for (var i = 0; i < coefficientCount; i++) {\n          bitsDecoded[i] = zeroBitPlanes;\n        }\n      }\n\n      this.bitsDecoded = bitsDecoded;\n      this.reset();\n    }\n\n    BitModel.prototype = {\n      setDecoder: function BitModel_setDecoder(decoder) {\n        this.decoder = decoder;\n      },\n      reset: function BitModel_reset() {\n        this.contexts = new Int8Array(19);\n        this.contexts[0] = 4 << 1 | 0;\n        this.contexts[UNIFORM_CONTEXT] = 46 << 1 | 0;\n        this.contexts[RUNLENGTH_CONTEXT] = 3 << 1 | 0;\n      },\n      setNeighborsSignificance: function BitModel_setNeighborsSignificance(row, column, index) {\n        var neighborsSignificance = this.neighborsSignificance;\n        var width = this.width,\n            height = this.height;\n        var left = column > 0;\n        var right = column + 1 < width;\n        var i;\n\n        if (row > 0) {\n          i = index - width;\n\n          if (left) {\n            neighborsSignificance[i - 1] += 0x10;\n          }\n\n          if (right) {\n            neighborsSignificance[i + 1] += 0x10;\n          }\n\n          neighborsSignificance[i] += 0x04;\n        }\n\n        if (row + 1 < height) {\n          i = index + width;\n\n          if (left) {\n            neighborsSignificance[i - 1] += 0x10;\n          }\n\n          if (right) {\n            neighborsSignificance[i + 1] += 0x10;\n          }\n\n          neighborsSignificance[i] += 0x04;\n        }\n\n        if (left) {\n          neighborsSignificance[index - 1] += 0x01;\n        }\n\n        if (right) {\n          neighborsSignificance[index + 1] += 0x01;\n        }\n\n        neighborsSignificance[index] |= 0x80;\n      },\n      runSignificancePropagationPass: function BitModel_runSignificancePropagationPass() {\n        var decoder = this.decoder;\n        var width = this.width,\n            height = this.height;\n        var coefficentsMagnitude = this.coefficentsMagnitude;\n        var coefficentsSign = this.coefficentsSign;\n        var neighborsSignificance = this.neighborsSignificance;\n        var processingFlags = this.processingFlags;\n        var contexts = this.contexts;\n        var labels = this.contextLabelTable;\n        var bitsDecoded = this.bitsDecoded;\n        var processedInverseMask = ~1;\n        var processedMask = 1;\n        var firstMagnitudeBitMask = 2;\n\n        for (var i0 = 0; i0 < height; i0 += 4) {\n          for (var j = 0; j < width; j++) {\n            var index = i0 * width + j;\n\n            for (var i1 = 0; i1 < 4; i1++, index += width) {\n              var i = i0 + i1;\n\n              if (i >= height) {\n                break;\n              }\n\n              processingFlags[index] &= processedInverseMask;\n\n              if (coefficentsMagnitude[index] || !neighborsSignificance[index]) {\n                continue;\n              }\n\n              var contextLabel = labels[neighborsSignificance[index]];\n              var decision = decoder.readBit(contexts, contextLabel);\n\n              if (decision) {\n                var sign = this.decodeSignBit(i, j, index);\n                coefficentsSign[index] = sign;\n                coefficentsMagnitude[index] = 1;\n                this.setNeighborsSignificance(i, j, index);\n                processingFlags[index] |= firstMagnitudeBitMask;\n              }\n\n              bitsDecoded[index]++;\n              processingFlags[index] |= processedMask;\n            }\n          }\n        }\n      },\n      decodeSignBit: function BitModel_decodeSignBit(row, column, index) {\n        var width = this.width,\n            height = this.height;\n        var coefficentsMagnitude = this.coefficentsMagnitude;\n        var coefficentsSign = this.coefficentsSign;\n        var contribution, sign0, sign1, significance1;\n        var contextLabel, decoded;\n        significance1 = column > 0 && coefficentsMagnitude[index - 1] !== 0;\n\n        if (column + 1 < width && coefficentsMagnitude[index + 1] !== 0) {\n          sign1 = coefficentsSign[index + 1];\n\n          if (significance1) {\n            sign0 = coefficentsSign[index - 1];\n            contribution = 1 - sign1 - sign0;\n          } else {\n            contribution = 1 - sign1 - sign1;\n          }\n        } else if (significance1) {\n          sign0 = coefficentsSign[index - 1];\n          contribution = 1 - sign0 - sign0;\n        } else {\n          contribution = 0;\n        }\n\n        var horizontalContribution = 3 * contribution;\n        significance1 = row > 0 && coefficentsMagnitude[index - width] !== 0;\n\n        if (row + 1 < height && coefficentsMagnitude[index + width] !== 0) {\n          sign1 = coefficentsSign[index + width];\n\n          if (significance1) {\n            sign0 = coefficentsSign[index - width];\n            contribution = 1 - sign1 - sign0 + horizontalContribution;\n          } else {\n            contribution = 1 - sign1 - sign1 + horizontalContribution;\n          }\n        } else if (significance1) {\n          sign0 = coefficentsSign[index - width];\n          contribution = 1 - sign0 - sign0 + horizontalContribution;\n        } else {\n          contribution = horizontalContribution;\n        }\n\n        if (contribution >= 0) {\n          contextLabel = 9 + contribution;\n          decoded = this.decoder.readBit(this.contexts, contextLabel);\n        } else {\n          contextLabel = 9 - contribution;\n          decoded = this.decoder.readBit(this.contexts, contextLabel) ^ 1;\n        }\n\n        return decoded;\n      },\n      runMagnitudeRefinementPass: function BitModel_runMagnitudeRefinementPass() {\n        var decoder = this.decoder;\n        var width = this.width,\n            height = this.height;\n        var coefficentsMagnitude = this.coefficentsMagnitude;\n        var neighborsSignificance = this.neighborsSignificance;\n        var contexts = this.contexts;\n        var bitsDecoded = this.bitsDecoded;\n        var processingFlags = this.processingFlags;\n        var processedMask = 1;\n        var firstMagnitudeBitMask = 2;\n        var length = width * height;\n        var width4 = width * 4;\n\n        for (var index0 = 0, indexNext; index0 < length; index0 = indexNext) {\n          indexNext = Math.min(length, index0 + width4);\n\n          for (var j = 0; j < width; j++) {\n            for (var index = index0 + j; index < indexNext; index += width) {\n              if (!coefficentsMagnitude[index] || (processingFlags[index] & processedMask) !== 0) {\n                continue;\n              }\n\n              var contextLabel = 16;\n\n              if ((processingFlags[index] & firstMagnitudeBitMask) !== 0) {\n                processingFlags[index] ^= firstMagnitudeBitMask;\n                var significance = neighborsSignificance[index] & 127;\n                contextLabel = significance === 0 ? 15 : 14;\n              }\n\n              var bit = decoder.readBit(contexts, contextLabel);\n              coefficentsMagnitude[index] = coefficentsMagnitude[index] << 1 | bit;\n              bitsDecoded[index]++;\n              processingFlags[index] |= processedMask;\n            }\n          }\n        }\n      },\n      runCleanupPass: function BitModel_runCleanupPass() {\n        var decoder = this.decoder;\n        var width = this.width,\n            height = this.height;\n        var neighborsSignificance = this.neighborsSignificance;\n        var coefficentsMagnitude = this.coefficentsMagnitude;\n        var coefficentsSign = this.coefficentsSign;\n        var contexts = this.contexts;\n        var labels = this.contextLabelTable;\n        var bitsDecoded = this.bitsDecoded;\n        var processingFlags = this.processingFlags;\n        var processedMask = 1;\n        var firstMagnitudeBitMask = 2;\n        var oneRowDown = width;\n        var twoRowsDown = width * 2;\n        var threeRowsDown = width * 3;\n        var iNext;\n\n        for (var i0 = 0; i0 < height; i0 = iNext) {\n          iNext = Math.min(i0 + 4, height);\n          var indexBase = i0 * width;\n          var checkAllEmpty = i0 + 3 < height;\n\n          for (var j = 0; j < width; j++) {\n            var index0 = indexBase + j;\n            var allEmpty = checkAllEmpty && processingFlags[index0] === 0 && processingFlags[index0 + oneRowDown] === 0 && processingFlags[index0 + twoRowsDown] === 0 && processingFlags[index0 + threeRowsDown] === 0 && neighborsSignificance[index0] === 0 && neighborsSignificance[index0 + oneRowDown] === 0 && neighborsSignificance[index0 + twoRowsDown] === 0 && neighborsSignificance[index0 + threeRowsDown] === 0;\n            var i1 = 0,\n                index = index0;\n            var i = i0,\n                sign;\n\n            if (allEmpty) {\n              var hasSignificantCoefficent = decoder.readBit(contexts, RUNLENGTH_CONTEXT);\n\n              if (!hasSignificantCoefficent) {\n                bitsDecoded[index0]++;\n                bitsDecoded[index0 + oneRowDown]++;\n                bitsDecoded[index0 + twoRowsDown]++;\n                bitsDecoded[index0 + threeRowsDown]++;\n                continue;\n              }\n\n              i1 = decoder.readBit(contexts, UNIFORM_CONTEXT) << 1 | decoder.readBit(contexts, UNIFORM_CONTEXT);\n\n              if (i1 !== 0) {\n                i = i0 + i1;\n                index += i1 * width;\n              }\n\n              sign = this.decodeSignBit(i, j, index);\n              coefficentsSign[index] = sign;\n              coefficentsMagnitude[index] = 1;\n              this.setNeighborsSignificance(i, j, index);\n              processingFlags[index] |= firstMagnitudeBitMask;\n              index = index0;\n\n              for (var i2 = i0; i2 <= i; i2++, index += width) {\n                bitsDecoded[index]++;\n              }\n\n              i1++;\n            }\n\n            for (i = i0 + i1; i < iNext; i++, index += width) {\n              if (coefficentsMagnitude[index] || (processingFlags[index] & processedMask) !== 0) {\n                continue;\n              }\n\n              var contextLabel = labels[neighborsSignificance[index]];\n              var decision = decoder.readBit(contexts, contextLabel);\n\n              if (decision === 1) {\n                sign = this.decodeSignBit(i, j, index);\n                coefficentsSign[index] = sign;\n                coefficentsMagnitude[index] = 1;\n                this.setNeighborsSignificance(i, j, index);\n                processingFlags[index] |= firstMagnitudeBitMask;\n              }\n\n              bitsDecoded[index]++;\n            }\n          }\n        }\n      },\n      checkSegmentationSymbol: function BitModel_checkSegmentationSymbol() {\n        var decoder = this.decoder;\n        var contexts = this.contexts;\n        var symbol = decoder.readBit(contexts, UNIFORM_CONTEXT) << 3 | decoder.readBit(contexts, UNIFORM_CONTEXT) << 2 | decoder.readBit(contexts, UNIFORM_CONTEXT) << 1 | decoder.readBit(contexts, UNIFORM_CONTEXT);\n\n        if (symbol !== 0xa) {\n          throw new JpxError(\"Invalid segmentation symbol\");\n        }\n      }\n    };\n    return BitModel;\n  }();\n\n  var Transform = function TransformClosure() {\n    function Transform() {}\n\n    Transform.prototype.calculate = function transformCalculate(subbands, u0, v0) {\n      var ll = subbands[0];\n\n      for (var i = 1, ii = subbands.length; i < ii; i++) {\n        ll = this.iterate(ll, subbands[i], u0, v0);\n      }\n\n      return ll;\n    };\n\n    Transform.prototype.extend = function extend(buffer, offset, size) {\n      var i1 = offset - 1,\n          j1 = offset + 1;\n      var i2 = offset + size - 2,\n          j2 = offset + size;\n      buffer[i1--] = buffer[j1++];\n      buffer[j2++] = buffer[i2--];\n      buffer[i1--] = buffer[j1++];\n      buffer[j2++] = buffer[i2--];\n      buffer[i1--] = buffer[j1++];\n      buffer[j2++] = buffer[i2--];\n      buffer[i1] = buffer[j1];\n      buffer[j2] = buffer[i2];\n    };\n\n    Transform.prototype.iterate = function Transform_iterate(ll, hl_lh_hh, u0, v0) {\n      var llWidth = ll.width,\n          llHeight = ll.height,\n          llItems = ll.items;\n      var width = hl_lh_hh.width;\n      var height = hl_lh_hh.height;\n      var items = hl_lh_hh.items;\n      var i, j, k, l, u, v;\n\n      for (k = 0, i = 0; i < llHeight; i++) {\n        l = i * 2 * width;\n\n        for (j = 0; j < llWidth; j++, k++, l += 2) {\n          items[l] = llItems[k];\n        }\n      }\n\n      llItems = ll.items = null;\n      var bufferPadding = 4;\n      var rowBuffer = new Float32Array(width + 2 * bufferPadding);\n\n      if (width === 1) {\n        if ((u0 & 1) !== 0) {\n          for (v = 0, k = 0; v < height; v++, k += width) {\n            items[k] *= 0.5;\n          }\n        }\n      } else {\n        for (v = 0, k = 0; v < height; v++, k += width) {\n          rowBuffer.set(items.subarray(k, k + width), bufferPadding);\n          this.extend(rowBuffer, bufferPadding, width);\n          this.filter(rowBuffer, bufferPadding, width);\n          items.set(rowBuffer.subarray(bufferPadding, bufferPadding + width), k);\n        }\n      }\n\n      var numBuffers = 16;\n      var colBuffers = [];\n\n      for (i = 0; i < numBuffers; i++) {\n        colBuffers.push(new Float32Array(height + 2 * bufferPadding));\n      }\n\n      var b,\n          currentBuffer = 0;\n      ll = bufferPadding + height;\n\n      if (height === 1) {\n        if ((v0 & 1) !== 0) {\n          for (u = 0; u < width; u++) {\n            items[u] *= 0.5;\n          }\n        }\n      } else {\n        for (u = 0; u < width; u++) {\n          if (currentBuffer === 0) {\n            numBuffers = Math.min(width - u, numBuffers);\n\n            for (k = u, l = bufferPadding; l < ll; k += width, l++) {\n              for (b = 0; b < numBuffers; b++) {\n                colBuffers[b][l] = items[k + b];\n              }\n            }\n\n            currentBuffer = numBuffers;\n          }\n\n          currentBuffer--;\n          var buffer = colBuffers[currentBuffer];\n          this.extend(buffer, bufferPadding, height);\n          this.filter(buffer, bufferPadding, height);\n\n          if (currentBuffer === 0) {\n            k = u - numBuffers + 1;\n\n            for (l = bufferPadding; l < ll; k += width, l++) {\n              for (b = 0; b < numBuffers; b++) {\n                items[k + b] = colBuffers[b][l];\n              }\n            }\n          }\n        }\n      }\n\n      return {\n        width: width,\n        height: height,\n        items: items\n      };\n    };\n\n    return Transform;\n  }();\n\n  var IrreversibleTransform = function IrreversibleTransformClosure() {\n    function IrreversibleTransform() {\n      Transform.call(this);\n    }\n\n    IrreversibleTransform.prototype = Object.create(Transform.prototype);\n\n    IrreversibleTransform.prototype.filter = function irreversibleTransformFilter(x, offset, length) {\n      var len = length >> 1;\n      offset = offset | 0;\n      var j, n, current, next;\n      var alpha = -1.586134342059924;\n      var beta = -0.052980118572961;\n      var gamma = 0.882911075530934;\n      var delta = 0.443506852043971;\n      var K = 1.230174104914001;\n      var K_ = 1 / K;\n      j = offset - 3;\n\n      for (n = len + 4; n--; j += 2) {\n        x[j] *= K_;\n      }\n\n      j = offset - 2;\n      current = delta * x[j - 1];\n\n      for (n = len + 3; n--; j += 2) {\n        next = delta * x[j + 1];\n        x[j] = K * x[j] - current - next;\n\n        if (n--) {\n          j += 2;\n          current = delta * x[j + 1];\n          x[j] = K * x[j] - current - next;\n        } else {\n          break;\n        }\n      }\n\n      j = offset - 1;\n      current = gamma * x[j - 1];\n\n      for (n = len + 2; n--; j += 2) {\n        next = gamma * x[j + 1];\n        x[j] -= current + next;\n\n        if (n--) {\n          j += 2;\n          current = gamma * x[j + 1];\n          x[j] -= current + next;\n        } else {\n          break;\n        }\n      }\n\n      j = offset;\n      current = beta * x[j - 1];\n\n      for (n = len + 1; n--; j += 2) {\n        next = beta * x[j + 1];\n        x[j] -= current + next;\n\n        if (n--) {\n          j += 2;\n          current = beta * x[j + 1];\n          x[j] -= current + next;\n        } else {\n          break;\n        }\n      }\n\n      if (len !== 0) {\n        j = offset + 1;\n        current = alpha * x[j - 1];\n\n        for (n = len; n--; j += 2) {\n          next = alpha * x[j + 1];\n          x[j] -= current + next;\n\n          if (n--) {\n            j += 2;\n            current = alpha * x[j + 1];\n            x[j] -= current + next;\n          } else {\n            break;\n          }\n        }\n      }\n    };\n\n    return IrreversibleTransform;\n  }();\n\n  var ReversibleTransform = function ReversibleTransformClosure() {\n    function ReversibleTransform() {\n      Transform.call(this);\n    }\n\n    ReversibleTransform.prototype = Object.create(Transform.prototype);\n\n    ReversibleTransform.prototype.filter = function reversibleTransformFilter(x, offset, length) {\n      var len = length >> 1;\n      offset = offset | 0;\n      var j, n;\n\n      for (j = offset, n = len + 1; n--; j += 2) {\n        x[j] -= x[j - 1] + x[j + 1] + 2 >> 2;\n      }\n\n      for (j = offset + 1, n = len; n--; j += 2) {\n        x[j] += x[j - 1] + x[j + 1] >> 1;\n      }\n    };\n\n    return ReversibleTransform;\n  }();\n\n  return JpxImage;\n}();\n\nexports.JpxImage = JpxImage;\n\n/***/ }),\n/* 215 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.calculateSHA512 = exports.calculateSHA384 = exports.calculateSHA256 = exports.calculateMD5 = exports.PDF20 = exports.PDF17 = exports.CipherTransformFactory = exports.ARCFourCipher = exports.AES256Cipher = exports.AES128Cipher = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _primitives = __w_pdfjs_require__(198);\n\nvar _stream = __w_pdfjs_require__(205);\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar ARCFourCipher = function ARCFourCipherClosure() {\n  function ARCFourCipher(key) {\n    this.a = 0;\n    this.b = 0;\n    var s = new Uint8Array(256);\n    var i,\n        j = 0,\n        tmp,\n        keyLength = key.length;\n\n    for (i = 0; i < 256; ++i) {\n      s[i] = i;\n    }\n\n    for (i = 0; i < 256; ++i) {\n      tmp = s[i];\n      j = j + tmp + key[i % keyLength] & 0xff;\n      s[i] = s[j];\n      s[j] = tmp;\n    }\n\n    this.s = s;\n  }\n\n  ARCFourCipher.prototype = {\n    encryptBlock: function ARCFourCipher_encryptBlock(data) {\n      var i,\n          n = data.length,\n          tmp,\n          tmp2;\n      var a = this.a,\n          b = this.b,\n          s = this.s;\n      var output = new Uint8Array(n);\n\n      for (i = 0; i < n; ++i) {\n        a = a + 1 & 0xff;\n        tmp = s[a];\n        b = b + tmp & 0xff;\n        tmp2 = s[b];\n        s[a] = tmp2;\n        s[b] = tmp;\n        output[i] = data[i] ^ s[tmp + tmp2 & 0xff];\n      }\n\n      this.a = a;\n      this.b = b;\n      return output;\n    }\n  };\n  ARCFourCipher.prototype.decryptBlock = ARCFourCipher.prototype.encryptBlock;\n  return ARCFourCipher;\n}();\n\nexports.ARCFourCipher = ARCFourCipher;\n\nvar calculateMD5 = function calculateMD5Closure() {\n  var r = new Uint8Array([7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22, 5, 9, 14, 20, 5, 9, 14, 20, 5, 9, 14, 20, 5, 9, 14, 20, 4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23, 6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21]);\n  var k = new Int32Array([-680876936, -389564586, 606105819, -1044525330, -176418897, 1200080426, -1473231341, -45705983, 1770035416, -1958414417, -42063, -1990404162, 1804603682, -40341101, -1502002290, 1236535329, -165796510, -1069501632, 643717713, -373897302, -701558691, 38016083, -660478335, -405537848, 568446438, -1019803690, -187363961, 1163531501, -1444681467, -51403784, 1735328473, -1926607734, -378558, -2022574463, 1839030562, -35309556, -1530992060, 1272893353, -155497632, -1094730640, 681279174, -358537222, -722521979, 76029189, -640364487, -421815835, 530742520, -995338651, -198630844, 1126891415, -1416354905, -57434055, 1700485571, -1894986606, -1051523, -2054922799, 1873313359, -30611744, -1560198380, 1309151649, -145523070, -1120210379, 718787259, -343485551]);\n\n  function hash(data, offset, length) {\n    var h0 = 1732584193,\n        h1 = -271733879,\n        h2 = -1732584194,\n        h3 = 271733878;\n    var paddedLength = length + 72 & ~63;\n    var padded = new Uint8Array(paddedLength);\n    var i, j, n;\n\n    for (i = 0; i < length; ++i) {\n      padded[i] = data[offset++];\n    }\n\n    padded[i++] = 0x80;\n    n = paddedLength - 8;\n\n    while (i < n) {\n      padded[i++] = 0;\n    }\n\n    padded[i++] = length << 3 & 0xff;\n    padded[i++] = length >> 5 & 0xff;\n    padded[i++] = length >> 13 & 0xff;\n    padded[i++] = length >> 21 & 0xff;\n    padded[i++] = length >>> 29 & 0xff;\n    padded[i++] = 0;\n    padded[i++] = 0;\n    padded[i++] = 0;\n    var w = new Int32Array(16);\n\n    for (i = 0; i < paddedLength;) {\n      for (j = 0; j < 16; ++j, i += 4) {\n        w[j] = padded[i] | padded[i + 1] << 8 | padded[i + 2] << 16 | padded[i + 3] << 24;\n      }\n\n      var a = h0,\n          b = h1,\n          c = h2,\n          d = h3,\n          f,\n          g;\n\n      for (j = 0; j < 64; ++j) {\n        if (j < 16) {\n          f = b & c | ~b & d;\n          g = j;\n        } else if (j < 32) {\n          f = d & b | ~d & c;\n          g = 5 * j + 1 & 15;\n        } else if (j < 48) {\n          f = b ^ c ^ d;\n          g = 3 * j + 5 & 15;\n        } else {\n          f = c ^ (b | ~d);\n          g = 7 * j & 15;\n        }\n\n        var tmp = d,\n            rotateArg = a + f + k[j] + w[g] | 0,\n            rotate = r[j];\n        d = c;\n        c = b;\n        b = b + (rotateArg << rotate | rotateArg >>> 32 - rotate) | 0;\n        a = tmp;\n      }\n\n      h0 = h0 + a | 0;\n      h1 = h1 + b | 0;\n      h2 = h2 + c | 0;\n      h3 = h3 + d | 0;\n    }\n\n    return new Uint8Array([h0 & 0xFF, h0 >> 8 & 0xFF, h0 >> 16 & 0xFF, h0 >>> 24 & 0xFF, h1 & 0xFF, h1 >> 8 & 0xFF, h1 >> 16 & 0xFF, h1 >>> 24 & 0xFF, h2 & 0xFF, h2 >> 8 & 0xFF, h2 >> 16 & 0xFF, h2 >>> 24 & 0xFF, h3 & 0xFF, h3 >> 8 & 0xFF, h3 >> 16 & 0xFF, h3 >>> 24 & 0xFF]);\n  }\n\n  return hash;\n}();\n\nexports.calculateMD5 = calculateMD5;\n\nvar Word64 = function Word64Closure() {\n  function Word64(highInteger, lowInteger) {\n    this.high = highInteger | 0;\n    this.low = lowInteger | 0;\n  }\n\n  Word64.prototype = {\n    and: function Word64_and(word) {\n      this.high &= word.high;\n      this.low &= word.low;\n    },\n    xor: function Word64_xor(word) {\n      this.high ^= word.high;\n      this.low ^= word.low;\n    },\n    or: function Word64_or(word) {\n      this.high |= word.high;\n      this.low |= word.low;\n    },\n    shiftRight: function Word64_shiftRight(places) {\n      if (places >= 32) {\n        this.low = this.high >>> places - 32 | 0;\n        this.high = 0;\n      } else {\n        this.low = this.low >>> places | this.high << 32 - places;\n        this.high = this.high >>> places | 0;\n      }\n    },\n    shiftLeft: function Word64_shiftLeft(places) {\n      if (places >= 32) {\n        this.high = this.low << places - 32;\n        this.low = 0;\n      } else {\n        this.high = this.high << places | this.low >>> 32 - places;\n        this.low = this.low << places;\n      }\n    },\n    rotateRight: function Word64_rotateRight(places) {\n      var low, high;\n\n      if (places & 32) {\n        high = this.low;\n        low = this.high;\n      } else {\n        low = this.low;\n        high = this.high;\n      }\n\n      places &= 31;\n      this.low = low >>> places | high << 32 - places;\n      this.high = high >>> places | low << 32 - places;\n    },\n    not: function Word64_not() {\n      this.high = ~this.high;\n      this.low = ~this.low;\n    },\n    add: function Word64_add(word) {\n      var lowAdd = (this.low >>> 0) + (word.low >>> 0);\n      var highAdd = (this.high >>> 0) + (word.high >>> 0);\n\n      if (lowAdd > 0xffffffff) {\n        highAdd += 1;\n      }\n\n      this.low = lowAdd | 0;\n      this.high = highAdd | 0;\n    },\n    copyTo: function Word64_copyTo(bytes, offset) {\n      bytes[offset] = this.high >>> 24 & 0xff;\n      bytes[offset + 1] = this.high >> 16 & 0xff;\n      bytes[offset + 2] = this.high >> 8 & 0xff;\n      bytes[offset + 3] = this.high & 0xff;\n      bytes[offset + 4] = this.low >>> 24 & 0xff;\n      bytes[offset + 5] = this.low >> 16 & 0xff;\n      bytes[offset + 6] = this.low >> 8 & 0xff;\n      bytes[offset + 7] = this.low & 0xff;\n    },\n    assign: function Word64_assign(word) {\n      this.high = word.high;\n      this.low = word.low;\n    }\n  };\n  return Word64;\n}();\n\nvar calculateSHA256 = function calculateSHA256Closure() {\n  function rotr(x, n) {\n    return x >>> n | x << 32 - n;\n  }\n\n  function ch(x, y, z) {\n    return x & y ^ ~x & z;\n  }\n\n  function maj(x, y, z) {\n    return x & y ^ x & z ^ y & z;\n  }\n\n  function sigma(x) {\n    return rotr(x, 2) ^ rotr(x, 13) ^ rotr(x, 22);\n  }\n\n  function sigmaPrime(x) {\n    return rotr(x, 6) ^ rotr(x, 11) ^ rotr(x, 25);\n  }\n\n  function littleSigma(x) {\n    return rotr(x, 7) ^ rotr(x, 18) ^ x >>> 3;\n  }\n\n  function littleSigmaPrime(x) {\n    return rotr(x, 17) ^ rotr(x, 19) ^ x >>> 10;\n  }\n\n  var k = [0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5, 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174, 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da, 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967, 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85, 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070, 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3, 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2];\n\n  function hash(data, offset, length) {\n    var h0 = 0x6a09e667,\n        h1 = 0xbb67ae85,\n        h2 = 0x3c6ef372,\n        h3 = 0xa54ff53a,\n        h4 = 0x510e527f,\n        h5 = 0x9b05688c,\n        h6 = 0x1f83d9ab,\n        h7 = 0x5be0cd19;\n    var paddedLength = Math.ceil((length + 9) / 64) * 64;\n    var padded = new Uint8Array(paddedLength);\n    var i, j, n;\n\n    for (i = 0; i < length; ++i) {\n      padded[i] = data[offset++];\n    }\n\n    padded[i++] = 0x80;\n    n = paddedLength - 8;\n\n    while (i < n) {\n      padded[i++] = 0;\n    }\n\n    padded[i++] = 0;\n    padded[i++] = 0;\n    padded[i++] = 0;\n    padded[i++] = length >>> 29 & 0xff;\n    padded[i++] = length >> 21 & 0xff;\n    padded[i++] = length >> 13 & 0xff;\n    padded[i++] = length >> 5 & 0xff;\n    padded[i++] = length << 3 & 0xff;\n    var w = new Uint32Array(64);\n\n    for (i = 0; i < paddedLength;) {\n      for (j = 0; j < 16; ++j) {\n        w[j] = padded[i] << 24 | padded[i + 1] << 16 | padded[i + 2] << 8 | padded[i + 3];\n        i += 4;\n      }\n\n      for (j = 16; j < 64; ++j) {\n        w[j] = littleSigmaPrime(w[j - 2]) + w[j - 7] + littleSigma(w[j - 15]) + w[j - 16] | 0;\n      }\n\n      var a = h0,\n          b = h1,\n          c = h2,\n          d = h3,\n          e = h4,\n          f = h5,\n          g = h6,\n          h = h7,\n          t1,\n          t2;\n\n      for (j = 0; j < 64; ++j) {\n        t1 = h + sigmaPrime(e) + ch(e, f, g) + k[j] + w[j];\n        t2 = sigma(a) + maj(a, b, c);\n        h = g;\n        g = f;\n        f = e;\n        e = d + t1 | 0;\n        d = c;\n        c = b;\n        b = a;\n        a = t1 + t2 | 0;\n      }\n\n      h0 = h0 + a | 0;\n      h1 = h1 + b | 0;\n      h2 = h2 + c | 0;\n      h3 = h3 + d | 0;\n      h4 = h4 + e | 0;\n      h5 = h5 + f | 0;\n      h6 = h6 + g | 0;\n      h7 = h7 + h | 0;\n    }\n\n    return new Uint8Array([h0 >> 24 & 0xFF, h0 >> 16 & 0xFF, h0 >> 8 & 0xFF, h0 & 0xFF, h1 >> 24 & 0xFF, h1 >> 16 & 0xFF, h1 >> 8 & 0xFF, h1 & 0xFF, h2 >> 24 & 0xFF, h2 >> 16 & 0xFF, h2 >> 8 & 0xFF, h2 & 0xFF, h3 >> 24 & 0xFF, h3 >> 16 & 0xFF, h3 >> 8 & 0xFF, h3 & 0xFF, h4 >> 24 & 0xFF, h4 >> 16 & 0xFF, h4 >> 8 & 0xFF, h4 & 0xFF, h5 >> 24 & 0xFF, h5 >> 16 & 0xFF, h5 >> 8 & 0xFF, h5 & 0xFF, h6 >> 24 & 0xFF, h6 >> 16 & 0xFF, h6 >> 8 & 0xFF, h6 & 0xFF, h7 >> 24 & 0xFF, h7 >> 16 & 0xFF, h7 >> 8 & 0xFF, h7 & 0xFF]);\n  }\n\n  return hash;\n}();\n\nexports.calculateSHA256 = calculateSHA256;\n\nvar calculateSHA512 = function calculateSHA512Closure() {\n  function ch(result, x, y, z, tmp) {\n    result.assign(x);\n    result.and(y);\n    tmp.assign(x);\n    tmp.not();\n    tmp.and(z);\n    result.xor(tmp);\n  }\n\n  function maj(result, x, y, z, tmp) {\n    result.assign(x);\n    result.and(y);\n    tmp.assign(x);\n    tmp.and(z);\n    result.xor(tmp);\n    tmp.assign(y);\n    tmp.and(z);\n    result.xor(tmp);\n  }\n\n  function sigma(result, x, tmp) {\n    result.assign(x);\n    result.rotateRight(28);\n    tmp.assign(x);\n    tmp.rotateRight(34);\n    result.xor(tmp);\n    tmp.assign(x);\n    tmp.rotateRight(39);\n    result.xor(tmp);\n  }\n\n  function sigmaPrime(result, x, tmp) {\n    result.assign(x);\n    result.rotateRight(14);\n    tmp.assign(x);\n    tmp.rotateRight(18);\n    result.xor(tmp);\n    tmp.assign(x);\n    tmp.rotateRight(41);\n    result.xor(tmp);\n  }\n\n  function littleSigma(result, x, tmp) {\n    result.assign(x);\n    result.rotateRight(1);\n    tmp.assign(x);\n    tmp.rotateRight(8);\n    result.xor(tmp);\n    tmp.assign(x);\n    tmp.shiftRight(7);\n    result.xor(tmp);\n  }\n\n  function littleSigmaPrime(result, x, tmp) {\n    result.assign(x);\n    result.rotateRight(19);\n    tmp.assign(x);\n    tmp.rotateRight(61);\n    result.xor(tmp);\n    tmp.assign(x);\n    tmp.shiftRight(6);\n    result.xor(tmp);\n  }\n\n  var k = [new Word64(0x428a2f98, 0xd728ae22), new Word64(0x71374491, 0x23ef65cd), new Word64(0xb5c0fbcf, 0xec4d3b2f), new Word64(0xe9b5dba5, 0x8189dbbc), new Word64(0x3956c25b, 0xf348b538), new Word64(0x59f111f1, 0xb605d019), new Word64(0x923f82a4, 0xaf194f9b), new Word64(0xab1c5ed5, 0xda6d8118), new Word64(0xd807aa98, 0xa3030242), new Word64(0x12835b01, 0x45706fbe), new Word64(0x243185be, 0x4ee4b28c), new Word64(0x550c7dc3, 0xd5ffb4e2), new Word64(0x72be5d74, 0xf27b896f), new Word64(0x80deb1fe, 0x3b1696b1), new Word64(0x9bdc06a7, 0x25c71235), new Word64(0xc19bf174, 0xcf692694), new Word64(0xe49b69c1, 0x9ef14ad2), new Word64(0xefbe4786, 0x384f25e3), new Word64(0x0fc19dc6, 0x8b8cd5b5), new Word64(0x240ca1cc, 0x77ac9c65), new Word64(0x2de92c6f, 0x592b0275), new Word64(0x4a7484aa, 0x6ea6e483), new Word64(0x5cb0a9dc, 0xbd41fbd4), new Word64(0x76f988da, 0x831153b5), new Word64(0x983e5152, 0xee66dfab), new Word64(0xa831c66d, 0x2db43210), new Word64(0xb00327c8, 0x98fb213f), new Word64(0xbf597fc7, 0xbeef0ee4), new Word64(0xc6e00bf3, 0x3da88fc2), new Word64(0xd5a79147, 0x930aa725), new Word64(0x06ca6351, 0xe003826f), new Word64(0x14292967, 0x0a0e6e70), new Word64(0x27b70a85, 0x46d22ffc), new Word64(0x2e1b2138, 0x5c26c926), new Word64(0x4d2c6dfc, 0x5ac42aed), new Word64(0x53380d13, 0x9d95b3df), new Word64(0x650a7354, 0x8baf63de), new Word64(0x766a0abb, 0x3c77b2a8), new Word64(0x81c2c92e, 0x47edaee6), new Word64(0x92722c85, 0x1482353b), new Word64(0xa2bfe8a1, 0x4cf10364), new Word64(0xa81a664b, 0xbc423001), new Word64(0xc24b8b70, 0xd0f89791), new Word64(0xc76c51a3, 0x0654be30), new Word64(0xd192e819, 0xd6ef5218), new Word64(0xd6990624, 0x5565a910), new Word64(0xf40e3585, 0x5771202a), new Word64(0x106aa070, 0x32bbd1b8), new Word64(0x19a4c116, 0xb8d2d0c8), new Word64(0x1e376c08, 0x5141ab53), new Word64(0x2748774c, 0xdf8eeb99), new Word64(0x34b0bcb5, 0xe19b48a8), new Word64(0x391c0cb3, 0xc5c95a63), new Word64(0x4ed8aa4a, 0xe3418acb), new Word64(0x5b9cca4f, 0x7763e373), new Word64(0x682e6ff3, 0xd6b2b8a3), new Word64(0x748f82ee, 0x5defb2fc), new Word64(0x78a5636f, 0x43172f60), new Word64(0x84c87814, 0xa1f0ab72), new Word64(0x8cc70208, 0x1a6439ec), new Word64(0x90befffa, 0x23631e28), new Word64(0xa4506ceb, 0xde82bde9), new Word64(0xbef9a3f7, 0xb2c67915), new Word64(0xc67178f2, 0xe372532b), new Word64(0xca273ece, 0xea26619c), new Word64(0xd186b8c7, 0x21c0c207), new Word64(0xeada7dd6, 0xcde0eb1e), new Word64(0xf57d4f7f, 0xee6ed178), new Word64(0x06f067aa, 0x72176fba), new Word64(0x0a637dc5, 0xa2c898a6), new Word64(0x113f9804, 0xbef90dae), new Word64(0x1b710b35, 0x131c471b), new Word64(0x28db77f5, 0x23047d84), new Word64(0x32caab7b, 0x40c72493), new Word64(0x3c9ebe0a, 0x15c9bebc), new Word64(0x431d67c4, 0x9c100d4c), new Word64(0x4cc5d4be, 0xcb3e42b6), new Word64(0x597f299c, 0xfc657e2a), new Word64(0x5fcb6fab, 0x3ad6faec), new Word64(0x6c44198c, 0x4a475817)];\n\n  function hash(data, offset, length, mode384) {\n    mode384 = !!mode384;\n    var h0, h1, h2, h3, h4, h5, h6, h7;\n\n    if (!mode384) {\n      h0 = new Word64(0x6a09e667, 0xf3bcc908);\n      h1 = new Word64(0xbb67ae85, 0x84caa73b);\n      h2 = new Word64(0x3c6ef372, 0xfe94f82b);\n      h3 = new Word64(0xa54ff53a, 0x5f1d36f1);\n      h4 = new Word64(0x510e527f, 0xade682d1);\n      h5 = new Word64(0x9b05688c, 0x2b3e6c1f);\n      h6 = new Word64(0x1f83d9ab, 0xfb41bd6b);\n      h7 = new Word64(0x5be0cd19, 0x137e2179);\n    } else {\n      h0 = new Word64(0xcbbb9d5d, 0xc1059ed8);\n      h1 = new Word64(0x629a292a, 0x367cd507);\n      h2 = new Word64(0x9159015a, 0x3070dd17);\n      h3 = new Word64(0x152fecd8, 0xf70e5939);\n      h4 = new Word64(0x67332667, 0xffc00b31);\n      h5 = new Word64(0x8eb44a87, 0x68581511);\n      h6 = new Word64(0xdb0c2e0d, 0x64f98fa7);\n      h7 = new Word64(0x47b5481d, 0xbefa4fa4);\n    }\n\n    var paddedLength = Math.ceil((length + 17) / 128) * 128;\n    var padded = new Uint8Array(paddedLength);\n    var i, j, n;\n\n    for (i = 0; i < length; ++i) {\n      padded[i] = data[offset++];\n    }\n\n    padded[i++] = 0x80;\n    n = paddedLength - 16;\n\n    while (i < n) {\n      padded[i++] = 0;\n    }\n\n    padded[i++] = 0;\n    padded[i++] = 0;\n    padded[i++] = 0;\n    padded[i++] = 0;\n    padded[i++] = 0;\n    padded[i++] = 0;\n    padded[i++] = 0;\n    padded[i++] = 0;\n    padded[i++] = 0;\n    padded[i++] = 0;\n    padded[i++] = 0;\n    padded[i++] = length >>> 29 & 0xff;\n    padded[i++] = length >> 21 & 0xff;\n    padded[i++] = length >> 13 & 0xff;\n    padded[i++] = length >> 5 & 0xff;\n    padded[i++] = length << 3 & 0xff;\n    var w = new Array(80);\n\n    for (i = 0; i < 80; i++) {\n      w[i] = new Word64(0, 0);\n    }\n\n    var a = new Word64(0, 0),\n        b = new Word64(0, 0),\n        c = new Word64(0, 0);\n    var d = new Word64(0, 0),\n        e = new Word64(0, 0),\n        f = new Word64(0, 0);\n    var g = new Word64(0, 0),\n        h = new Word64(0, 0);\n    var t1 = new Word64(0, 0),\n        t2 = new Word64(0, 0);\n    var tmp1 = new Word64(0, 0),\n        tmp2 = new Word64(0, 0),\n        tmp3;\n\n    for (i = 0; i < paddedLength;) {\n      for (j = 0; j < 16; ++j) {\n        w[j].high = padded[i] << 24 | padded[i + 1] << 16 | padded[i + 2] << 8 | padded[i + 3];\n        w[j].low = padded[i + 4] << 24 | padded[i + 5] << 16 | padded[i + 6] << 8 | padded[i + 7];\n        i += 8;\n      }\n\n      for (j = 16; j < 80; ++j) {\n        tmp3 = w[j];\n        littleSigmaPrime(tmp3, w[j - 2], tmp2);\n        tmp3.add(w[j - 7]);\n        littleSigma(tmp1, w[j - 15], tmp2);\n        tmp3.add(tmp1);\n        tmp3.add(w[j - 16]);\n      }\n\n      a.assign(h0);\n      b.assign(h1);\n      c.assign(h2);\n      d.assign(h3);\n      e.assign(h4);\n      f.assign(h5);\n      g.assign(h6);\n      h.assign(h7);\n\n      for (j = 0; j < 80; ++j) {\n        t1.assign(h);\n        sigmaPrime(tmp1, e, tmp2);\n        t1.add(tmp1);\n        ch(tmp1, e, f, g, tmp2);\n        t1.add(tmp1);\n        t1.add(k[j]);\n        t1.add(w[j]);\n        sigma(t2, a, tmp2);\n        maj(tmp1, a, b, c, tmp2);\n        t2.add(tmp1);\n        tmp3 = h;\n        h = g;\n        g = f;\n        f = e;\n        d.add(t1);\n        e = d;\n        d = c;\n        c = b;\n        b = a;\n        tmp3.assign(t1);\n        tmp3.add(t2);\n        a = tmp3;\n      }\n\n      h0.add(a);\n      h1.add(b);\n      h2.add(c);\n      h3.add(d);\n      h4.add(e);\n      h5.add(f);\n      h6.add(g);\n      h7.add(h);\n    }\n\n    var result;\n\n    if (!mode384) {\n      result = new Uint8Array(64);\n      h0.copyTo(result, 0);\n      h1.copyTo(result, 8);\n      h2.copyTo(result, 16);\n      h3.copyTo(result, 24);\n      h4.copyTo(result, 32);\n      h5.copyTo(result, 40);\n      h6.copyTo(result, 48);\n      h7.copyTo(result, 56);\n    } else {\n      result = new Uint8Array(48);\n      h0.copyTo(result, 0);\n      h1.copyTo(result, 8);\n      h2.copyTo(result, 16);\n      h3.copyTo(result, 24);\n      h4.copyTo(result, 32);\n      h5.copyTo(result, 40);\n    }\n\n    return result;\n  }\n\n  return hash;\n}();\n\nexports.calculateSHA512 = calculateSHA512;\n\nvar calculateSHA384 = function calculateSHA384Closure() {\n  function hash(data, offset, length) {\n    return calculateSHA512(data, offset, length, true);\n  }\n\n  return hash;\n}();\n\nexports.calculateSHA384 = calculateSHA384;\n\nvar NullCipher = function NullCipherClosure() {\n  function NullCipher() {}\n\n  NullCipher.prototype = {\n    decryptBlock: function NullCipher_decryptBlock(data) {\n      return data;\n    }\n  };\n  return NullCipher;\n}();\n\nvar AESBaseCipher = /*#__PURE__*/function () {\n  function AESBaseCipher() {\n    _classCallCheck(this, AESBaseCipher);\n\n    if (this.constructor === AESBaseCipher) {\n      (0, _util.unreachable)(\"Cannot initialize AESBaseCipher.\");\n    }\n\n    this._s = new Uint8Array([0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5, 0x30, 0x01, 0x67, 0x2b, 0xfe, 0xd7, 0xab, 0x76, 0xca, 0x82, 0xc9, 0x7d, 0xfa, 0x59, 0x47, 0xf0, 0xad, 0xd4, 0xa2, 0xaf, 0x9c, 0xa4, 0x72, 0xc0, 0xb7, 0xfd, 0x93, 0x26, 0x36, 0x3f, 0xf7, 0xcc, 0x34, 0xa5, 0xe5, 0xf1, 0x71, 0xd8, 0x31, 0x15, 0x04, 0xc7, 0x23, 0xc3, 0x18, 0x96, 0x05, 0x9a, 0x07, 0x12, 0x80, 0xe2, 0xeb, 0x27, 0xb2, 0x75, 0x09, 0x83, 0x2c, 0x1a, 0x1b, 0x6e, 0x5a, 0xa0, 0x52, 0x3b, 0xd6, 0xb3, 0x29, 0xe3, 0x2f, 0x84, 0x53, 0xd1, 0x00, 0xed, 0x20, 0xfc, 0xb1, 0x5b, 0x6a, 0xcb, 0xbe, 0x39, 0x4a, 0x4c, 0x58, 0xcf, 0xd0, 0xef, 0xaa, 0xfb, 0x43, 0x4d, 0x33, 0x85, 0x45, 0xf9, 0x02, 0x7f, 0x50, 0x3c, 0x9f, 0xa8, 0x51, 0xa3, 0x40, 0x8f, 0x92, 0x9d, 0x38, 0xf5, 0xbc, 0xb6, 0xda, 0x21, 0x10, 0xff, 0xf3, 0xd2, 0xcd, 0x0c, 0x13, 0xec, 0x5f, 0x97, 0x44, 0x17, 0xc4, 0xa7, 0x7e, 0x3d, 0x64, 0x5d, 0x19, 0x73, 0x60, 0x81, 0x4f, 0xdc, 0x22, 0x2a, 0x90, 0x88, 0x46, 0xee, 0xb8, 0x14, 0xde, 0x5e, 0x0b, 0xdb, 0xe0, 0x32, 0x3a, 0x0a, 0x49, 0x06, 0x24, 0x5c, 0xc2, 0xd3, 0xac, 0x62, 0x91, 0x95, 0xe4, 0x79, 0xe7, 0xc8, 0x37, 0x6d, 0x8d, 0xd5, 0x4e, 0xa9, 0x6c, 0x56, 0xf4, 0xea, 0x65, 0x7a, 0xae, 0x08, 0xba, 0x78, 0x25, 0x2e, 0x1c, 0xa6, 0xb4, 0xc6, 0xe8, 0xdd, 0x74, 0x1f, 0x4b, 0xbd, 0x8b, 0x8a, 0x70, 0x3e, 0xb5, 0x66, 0x48, 0x03, 0xf6, 0x0e, 0x61, 0x35, 0x57, 0xb9, 0x86, 0xc1, 0x1d, 0x9e, 0xe1, 0xf8, 0x98, 0x11, 0x69, 0xd9, 0x8e, 0x94, 0x9b, 0x1e, 0x87, 0xe9, 0xce, 0x55, 0x28, 0xdf, 0x8c, 0xa1, 0x89, 0x0d, 0xbf, 0xe6, 0x42, 0x68, 0x41, 0x99, 0x2d, 0x0f, 0xb0, 0x54, 0xbb, 0x16]);\n    this._inv_s = new Uint8Array([0x52, 0x09, 0x6a, 0xd5, 0x30, 0x36, 0xa5, 0x38, 0xbf, 0x40, 0xa3, 0x9e, 0x81, 0xf3, 0xd7, 0xfb, 0x7c, 0xe3, 0x39, 0x82, 0x9b, 0x2f, 0xff, 0x87, 0x34, 0x8e, 0x43, 0x44, 0xc4, 0xde, 0xe9, 0xcb, 0x54, 0x7b, 0x94, 0x32, 0xa6, 0xc2, 0x23, 0x3d, 0xee, 0x4c, 0x95, 0x0b, 0x42, 0xfa, 0xc3, 0x4e, 0x08, 0x2e, 0xa1, 0x66, 0x28, 0xd9, 0x24, 0xb2, 0x76, 0x5b, 0xa2, 0x49, 0x6d, 0x8b, 0xd1, 0x25, 0x72, 0xf8, 0xf6, 0x64, 0x86, 0x68, 0x98, 0x16, 0xd4, 0xa4, 0x5c, 0xcc, 0x5d, 0x65, 0xb6, 0x92, 0x6c, 0x70, 0x48, 0x50, 0xfd, 0xed, 0xb9, 0xda, 0x5e, 0x15, 0x46, 0x57, 0xa7, 0x8d, 0x9d, 0x84, 0x90, 0xd8, 0xab, 0x00, 0x8c, 0xbc, 0xd3, 0x0a, 0xf7, 0xe4, 0x58, 0x05, 0xb8, 0xb3, 0x45, 0x06, 0xd0, 0x2c, 0x1e, 0x8f, 0xca, 0x3f, 0x0f, 0x02, 0xc1, 0xaf, 0xbd, 0x03, 0x01, 0x13, 0x8a, 0x6b, 0x3a, 0x91, 0x11, 0x41, 0x4f, 0x67, 0xdc, 0xea, 0x97, 0xf2, 0xcf, 0xce, 0xf0, 0xb4, 0xe6, 0x73, 0x96, 0xac, 0x74, 0x22, 0xe7, 0xad, 0x35, 0x85, 0xe2, 0xf9, 0x37, 0xe8, 0x1c, 0x75, 0xdf, 0x6e, 0x47, 0xf1, 0x1a, 0x71, 0x1d, 0x29, 0xc5, 0x89, 0x6f, 0xb7, 0x62, 0x0e, 0xaa, 0x18, 0xbe, 0x1b, 0xfc, 0x56, 0x3e, 0x4b, 0xc6, 0xd2, 0x79, 0x20, 0x9a, 0xdb, 0xc0, 0xfe, 0x78, 0xcd, 0x5a, 0xf4, 0x1f, 0xdd, 0xa8, 0x33, 0x88, 0x07, 0xc7, 0x31, 0xb1, 0x12, 0x10, 0x59, 0x27, 0x80, 0xec, 0x5f, 0x60, 0x51, 0x7f, 0xa9, 0x19, 0xb5, 0x4a, 0x0d, 0x2d, 0xe5, 0x7a, 0x9f, 0x93, 0xc9, 0x9c, 0xef, 0xa0, 0xe0, 0x3b, 0x4d, 0xae, 0x2a, 0xf5, 0xb0, 0xc8, 0xeb, 0xbb, 0x3c, 0x83, 0x53, 0x99, 0x61, 0x17, 0x2b, 0x04, 0x7e, 0xba, 0x77, 0xd6, 0x26, 0xe1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0c, 0x7d]);\n    this._mix = new Uint32Array([0x00000000, 0x0e090d0b, 0x1c121a16, 0x121b171d, 0x3824342c, 0x362d3927, 0x24362e3a, 0x2a3f2331, 0x70486858, 0x7e416553, 0x6c5a724e, 0x62537f45, 0x486c5c74, 0x4665517f, 0x547e4662, 0x5a774b69, 0xe090d0b0, 0xee99ddbb, 0xfc82caa6, 0xf28bc7ad, 0xd8b4e49c, 0xd6bde997, 0xc4a6fe8a, 0xcaaff381, 0x90d8b8e8, 0x9ed1b5e3, 0x8ccaa2fe, 0x82c3aff5, 0xa8fc8cc4, 0xa6f581cf, 0xb4ee96d2, 0xbae79bd9, 0xdb3bbb7b, 0xd532b670, 0xc729a16d, 0xc920ac66, 0xe31f8f57, 0xed16825c, 0xff0d9541, 0xf104984a, 0xab73d323, 0xa57ade28, 0xb761c935, 0xb968c43e, 0x9357e70f, 0x9d5eea04, 0x8f45fd19, 0x814cf012, 0x3bab6bcb, 0x35a266c0, 0x27b971dd, 0x29b07cd6, 0x038f5fe7, 0x0d8652ec, 0x1f9d45f1, 0x119448fa, 0x4be30393, 0x45ea0e98, 0x57f11985, 0x59f8148e, 0x73c737bf, 0x7dce3ab4, 0x6fd52da9, 0x61dc20a2, 0xad766df6, 0xa37f60fd, 0xb16477e0, 0xbf6d7aeb, 0x955259da, 0x9b5b54d1, 0x894043cc, 0x87494ec7, 0xdd3e05ae, 0xd33708a5, 0xc12c1fb8, 0xcf2512b3, 0xe51a3182, 0xeb133c89, 0xf9082b94, 0xf701269f, 0x4de6bd46, 0x43efb04d, 0x51f4a750, 0x5ffdaa5b, 0x75c2896a, 0x7bcb8461, 0x69d0937c, 0x67d99e77, 0x3daed51e, 0x33a7d815, 0x21bccf08, 0x2fb5c203, 0x058ae132, 0x0b83ec39, 0x1998fb24, 0x1791f62f, 0x764dd68d, 0x7844db86, 0x6a5fcc9b, 0x6456c190, 0x4e69e2a1, 0x4060efaa, 0x527bf8b7, 0x5c72f5bc, 0x0605bed5, 0x080cb3de, 0x1a17a4c3, 0x141ea9c8, 0x3e218af9, 0x302887f2, 0x223390ef, 0x2c3a9de4, 0x96dd063d, 0x98d40b36, 0x8acf1c2b, 0x84c61120, 0xaef93211, 0xa0f03f1a, 0xb2eb2807, 0xbce2250c, 0xe6956e65, 0xe89c636e, 0xfa877473, 0xf48e7978, 0xdeb15a49, 0xd0b85742, 0xc2a3405f, 0xccaa4d54, 0x41ecdaf7, 0x4fe5d7fc, 0x5dfec0e1, 0x53f7cdea, 0x79c8eedb, 0x77c1e3d0, 0x65daf4cd, 0x6bd3f9c6, 0x31a4b2af, 0x3fadbfa4, 0x2db6a8b9, 0x23bfa5b2, 0x09808683, 0x07898b88, 0x15929c95, 0x1b9b919e, 0xa17c0a47, 0xaf75074c, 0xbd6e1051, 0xb3671d5a, 0x99583e6b, 0x97513360, 0x854a247d, 0x8b432976, 0xd134621f, 0xdf3d6f14, 0xcd267809, 0xc32f7502, 0xe9105633, 0xe7195b38, 0xf5024c25, 0xfb0b412e, 0x9ad7618c, 0x94de6c87, 0x86c57b9a, 0x88cc7691, 0xa2f355a0, 0xacfa58ab, 0xbee14fb6, 0xb0e842bd, 0xea9f09d4, 0xe49604df, 0xf68d13c2, 0xf8841ec9, 0xd2bb3df8, 0xdcb230f3, 0xcea927ee, 0xc0a02ae5, 0x7a47b13c, 0x744ebc37, 0x6655ab2a, 0x685ca621, 0x42638510, 0x4c6a881b, 0x5e719f06, 0x5078920d, 0x0a0fd964, 0x0406d46f, 0x161dc372, 0x1814ce79, 0x322bed48, 0x3c22e043, 0x2e39f75e, 0x2030fa55, 0xec9ab701, 0xe293ba0a, 0xf088ad17, 0xfe81a01c, 0xd4be832d, 0xdab78e26, 0xc8ac993b, 0xc6a59430, 0x9cd2df59, 0x92dbd252, 0x80c0c54f, 0x8ec9c844, 0xa4f6eb75, 0xaaffe67e, 0xb8e4f163, 0xb6edfc68, 0x0c0a67b1, 0x02036aba, 0x10187da7, 0x1e1170ac, 0x342e539d, 0x3a275e96, 0x283c498b, 0x26354480, 0x7c420fe9, 0x724b02e2, 0x605015ff, 0x6e5918f4, 0x44663bc5, 0x4a6f36ce, 0x587421d3, 0x567d2cd8, 0x37a10c7a, 0x39a80171, 0x2bb3166c, 0x25ba1b67, 0x0f853856, 0x018c355d, 0x13972240, 0x1d9e2f4b, 0x47e96422, 0x49e06929, 0x5bfb7e34, 0x55f2733f, 0x7fcd500e, 0x71c45d05, 0x63df4a18, 0x6dd64713, 0xd731dcca, 0xd938d1c1, 0xcb23c6dc, 0xc52acbd7, 0xef15e8e6, 0xe11ce5ed, 0xf307f2f0, 0xfd0efffb, 0xa779b492, 0xa970b999, 0xbb6bae84, 0xb562a38f, 0x9f5d80be, 0x91548db5, 0x834f9aa8, 0x8d4697a3]);\n    this._mixCol = new Uint8Array(256);\n\n    for (var i = 0; i < 256; i++) {\n      if (i < 128) {\n        this._mixCol[i] = i << 1;\n      } else {\n        this._mixCol[i] = i << 1 ^ 0x1b;\n      }\n    }\n\n    this.buffer = new Uint8Array(16);\n    this.bufferPosition = 0;\n  }\n\n  _createClass(AESBaseCipher, [{\n    key: \"_expandKey\",\n    value: function _expandKey(cipherKey) {\n      (0, _util.unreachable)(\"Cannot call `_expandKey` on the base class\");\n    }\n  }, {\n    key: \"_decrypt\",\n    value: function _decrypt(input, key) {\n      var t, u, v;\n      var state = new Uint8Array(16);\n      state.set(input);\n\n      for (var j = 0, k = this._keySize; j < 16; ++j, ++k) {\n        state[j] ^= key[k];\n      }\n\n      for (var i = this._cyclesOfRepetition - 1; i >= 1; --i) {\n        t = state[13];\n        state[13] = state[9];\n        state[9] = state[5];\n        state[5] = state[1];\n        state[1] = t;\n        t = state[14];\n        u = state[10];\n        state[14] = state[6];\n        state[10] = state[2];\n        state[6] = t;\n        state[2] = u;\n        t = state[15];\n        u = state[11];\n        v = state[7];\n        state[15] = state[3];\n        state[11] = t;\n        state[7] = u;\n        state[3] = v;\n\n        for (var _j = 0; _j < 16; ++_j) {\n          state[_j] = this._inv_s[state[_j]];\n        }\n\n        for (var _j2 = 0, _k = i * 16; _j2 < 16; ++_j2, ++_k) {\n          state[_j2] ^= key[_k];\n        }\n\n        for (var _j3 = 0; _j3 < 16; _j3 += 4) {\n          var s0 = this._mix[state[_j3]];\n          var s1 = this._mix[state[_j3 + 1]];\n          var s2 = this._mix[state[_j3 + 2]];\n          var s3 = this._mix[state[_j3 + 3]];\n          t = s0 ^ s1 >>> 8 ^ s1 << 24 ^ s2 >>> 16 ^ s2 << 16 ^ s3 >>> 24 ^ s3 << 8;\n          state[_j3] = t >>> 24 & 0xff;\n          state[_j3 + 1] = t >> 16 & 0xff;\n          state[_j3 + 2] = t >> 8 & 0xff;\n          state[_j3 + 3] = t & 0xff;\n        }\n      }\n\n      t = state[13];\n      state[13] = state[9];\n      state[9] = state[5];\n      state[5] = state[1];\n      state[1] = t;\n      t = state[14];\n      u = state[10];\n      state[14] = state[6];\n      state[10] = state[2];\n      state[6] = t;\n      state[2] = u;\n      t = state[15];\n      u = state[11];\n      v = state[7];\n      state[15] = state[3];\n      state[11] = t;\n      state[7] = u;\n      state[3] = v;\n\n      for (var _j4 = 0; _j4 < 16; ++_j4) {\n        state[_j4] = this._inv_s[state[_j4]];\n        state[_j4] ^= key[_j4];\n      }\n\n      return state;\n    }\n  }, {\n    key: \"_encrypt\",\n    value: function _encrypt(input, key) {\n      var s = this._s;\n      var t, u, v;\n      var state = new Uint8Array(16);\n      state.set(input);\n\n      for (var j = 0; j < 16; ++j) {\n        state[j] ^= key[j];\n      }\n\n      for (var i = 1; i < this._cyclesOfRepetition; i++) {\n        for (var _j5 = 0; _j5 < 16; ++_j5) {\n          state[_j5] = s[state[_j5]];\n        }\n\n        v = state[1];\n        state[1] = state[5];\n        state[5] = state[9];\n        state[9] = state[13];\n        state[13] = v;\n        v = state[2];\n        u = state[6];\n        state[2] = state[10];\n        state[6] = state[14];\n        state[10] = v;\n        state[14] = u;\n        v = state[3];\n        u = state[7];\n        t = state[11];\n        state[3] = state[15];\n        state[7] = v;\n        state[11] = u;\n        state[15] = t;\n\n        for (var _j6 = 0; _j6 < 16; _j6 += 4) {\n          var s0 = state[_j6 + 0];\n          var s1 = state[_j6 + 1];\n          var s2 = state[_j6 + 2];\n          var s3 = state[_j6 + 3];\n          t = s0 ^ s1 ^ s2 ^ s3;\n          state[_j6 + 0] ^= t ^ this._mixCol[s0 ^ s1];\n          state[_j6 + 1] ^= t ^ this._mixCol[s1 ^ s2];\n          state[_j6 + 2] ^= t ^ this._mixCol[s2 ^ s3];\n          state[_j6 + 3] ^= t ^ this._mixCol[s3 ^ s0];\n        }\n\n        for (var _j7 = 0, k = i * 16; _j7 < 16; ++_j7, ++k) {\n          state[_j7] ^= key[k];\n        }\n      }\n\n      for (var _j8 = 0; _j8 < 16; ++_j8) {\n        state[_j8] = s[state[_j8]];\n      }\n\n      v = state[1];\n      state[1] = state[5];\n      state[5] = state[9];\n      state[9] = state[13];\n      state[13] = v;\n      v = state[2];\n      u = state[6];\n      state[2] = state[10];\n      state[6] = state[14];\n      state[10] = v;\n      state[14] = u;\n      v = state[3];\n      u = state[7];\n      t = state[11];\n      state[3] = state[15];\n      state[7] = v;\n      state[11] = u;\n      state[15] = t;\n\n      for (var _j9 = 0, _k2 = this._keySize; _j9 < 16; ++_j9, ++_k2) {\n        state[_j9] ^= key[_k2];\n      }\n\n      return state;\n    }\n  }, {\n    key: \"_decryptBlock2\",\n    value: function _decryptBlock2(data, finalize) {\n      var sourceLength = data.length;\n      var buffer = this.buffer,\n          bufferLength = this.bufferPosition;\n      var result = [];\n      var iv = this.iv;\n\n      for (var i = 0; i < sourceLength; ++i) {\n        buffer[bufferLength] = data[i];\n        ++bufferLength;\n\n        if (bufferLength < 16) {\n          continue;\n        }\n\n        var plain = this._decrypt(buffer, this._key);\n\n        for (var j = 0; j < 16; ++j) {\n          plain[j] ^= iv[j];\n        }\n\n        iv = buffer;\n        result.push(plain);\n        buffer = new Uint8Array(16);\n        bufferLength = 0;\n      }\n\n      this.buffer = buffer;\n      this.bufferLength = bufferLength;\n      this.iv = iv;\n\n      if (result.length === 0) {\n        return new Uint8Array(0);\n      }\n\n      var outputLength = 16 * result.length;\n\n      if (finalize) {\n        var lastBlock = result[result.length - 1];\n        var psLen = lastBlock[15];\n\n        if (psLen <= 16) {\n          for (var _i = 15, ii = 16 - psLen; _i >= ii; --_i) {\n            if (lastBlock[_i] !== psLen) {\n              psLen = 0;\n              break;\n            }\n          }\n\n          outputLength -= psLen;\n          result[result.length - 1] = lastBlock.subarray(0, 16 - psLen);\n        }\n      }\n\n      var output = new Uint8Array(outputLength);\n\n      for (var _i2 = 0, _j10 = 0, _ii = result.length; _i2 < _ii; ++_i2, _j10 += 16) {\n        output.set(result[_i2], _j10);\n      }\n\n      return output;\n    }\n  }, {\n    key: \"decryptBlock\",\n    value: function decryptBlock(data, finalize) {\n      var iv = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n      var sourceLength = data.length;\n      var buffer = this.buffer;\n      var bufferLength = this.bufferPosition;\n\n      if (iv) {\n        this.iv = iv;\n      } else {\n        for (var i = 0; bufferLength < 16 && i < sourceLength; ++i, ++bufferLength) {\n          buffer[bufferLength] = data[i];\n        }\n\n        if (bufferLength < 16) {\n          this.bufferLength = bufferLength;\n          return new Uint8Array(0);\n        }\n\n        this.iv = buffer;\n        data = data.subarray(16);\n      }\n\n      this.buffer = new Uint8Array(16);\n      this.bufferLength = 0;\n      this.decryptBlock = this._decryptBlock2;\n      return this.decryptBlock(data, finalize);\n    }\n  }, {\n    key: \"encrypt\",\n    value: function encrypt(data, iv) {\n      var sourceLength = data.length;\n      var buffer = this.buffer,\n          bufferLength = this.bufferPosition;\n      var result = [];\n\n      if (!iv) {\n        iv = new Uint8Array(16);\n      }\n\n      for (var i = 0; i < sourceLength; ++i) {\n        buffer[bufferLength] = data[i];\n        ++bufferLength;\n\n        if (bufferLength < 16) {\n          continue;\n        }\n\n        for (var j = 0; j < 16; ++j) {\n          buffer[j] ^= iv[j];\n        }\n\n        var cipher = this._encrypt(buffer, this._key);\n\n        iv = cipher;\n        result.push(cipher);\n        buffer = new Uint8Array(16);\n        bufferLength = 0;\n      }\n\n      this.buffer = buffer;\n      this.bufferLength = bufferLength;\n      this.iv = iv;\n\n      if (result.length === 0) {\n        return new Uint8Array(0);\n      }\n\n      var outputLength = 16 * result.length;\n      var output = new Uint8Array(outputLength);\n\n      for (var _i3 = 0, _j11 = 0, ii = result.length; _i3 < ii; ++_i3, _j11 += 16) {\n        output.set(result[_i3], _j11);\n      }\n\n      return output;\n    }\n  }]);\n\n  return AESBaseCipher;\n}();\n\nvar AES128Cipher = /*#__PURE__*/function (_AESBaseCipher) {\n  _inherits(AES128Cipher, _AESBaseCipher);\n\n  var _super = _createSuper(AES128Cipher);\n\n  function AES128Cipher(key) {\n    var _this;\n\n    _classCallCheck(this, AES128Cipher);\n\n    _this = _super.call(this);\n    _this._cyclesOfRepetition = 10;\n    _this._keySize = 160;\n    _this._rcon = new Uint8Array([0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d]);\n    _this._key = _this._expandKey(key);\n    return _this;\n  }\n\n  _createClass(AES128Cipher, [{\n    key: \"_expandKey\",\n    value: function _expandKey(cipherKey) {\n      var b = 176;\n      var s = this._s;\n      var rcon = this._rcon;\n      var result = new Uint8Array(b);\n      result.set(cipherKey);\n\n      for (var j = 16, i = 1; j < b; ++i) {\n        var t1 = result[j - 3];\n        var t2 = result[j - 2];\n        var t3 = result[j - 1];\n        var t4 = result[j - 4];\n        t1 = s[t1];\n        t2 = s[t2];\n        t3 = s[t3];\n        t4 = s[t4];\n        t1 = t1 ^ rcon[i];\n\n        for (var n = 0; n < 4; ++n) {\n          result[j] = t1 ^= result[j - 16];\n          j++;\n          result[j] = t2 ^= result[j - 16];\n          j++;\n          result[j] = t3 ^= result[j - 16];\n          j++;\n          result[j] = t4 ^= result[j - 16];\n          j++;\n        }\n      }\n\n      return result;\n    }\n  }]);\n\n  return AES128Cipher;\n}(AESBaseCipher);\n\nexports.AES128Cipher = AES128Cipher;\n\nvar AES256Cipher = /*#__PURE__*/function (_AESBaseCipher2) {\n  _inherits(AES256Cipher, _AESBaseCipher2);\n\n  var _super2 = _createSuper(AES256Cipher);\n\n  function AES256Cipher(key) {\n    var _this2;\n\n    _classCallCheck(this, AES256Cipher);\n\n    _this2 = _super2.call(this);\n    _this2._cyclesOfRepetition = 14;\n    _this2._keySize = 224;\n    _this2._key = _this2._expandKey(key);\n    return _this2;\n  }\n\n  _createClass(AES256Cipher, [{\n    key: \"_expandKey\",\n    value: function _expandKey(cipherKey) {\n      var b = 240;\n      var s = this._s;\n      var result = new Uint8Array(b);\n      result.set(cipherKey);\n      var r = 1;\n      var t1, t2, t3, t4;\n\n      for (var j = 32, i = 1; j < b; ++i) {\n        if (j % 32 === 16) {\n          t1 = s[t1];\n          t2 = s[t2];\n          t3 = s[t3];\n          t4 = s[t4];\n        } else if (j % 32 === 0) {\n          t1 = result[j - 3];\n          t2 = result[j - 2];\n          t3 = result[j - 1];\n          t4 = result[j - 4];\n          t1 = s[t1];\n          t2 = s[t2];\n          t3 = s[t3];\n          t4 = s[t4];\n          t1 = t1 ^ r;\n\n          if ((r <<= 1) >= 256) {\n            r = (r ^ 0x1b) & 0xff;\n          }\n        }\n\n        for (var n = 0; n < 4; ++n) {\n          result[j] = t1 ^= result[j - 32];\n          j++;\n          result[j] = t2 ^= result[j - 32];\n          j++;\n          result[j] = t3 ^= result[j - 32];\n          j++;\n          result[j] = t4 ^= result[j - 32];\n          j++;\n        }\n      }\n\n      return result;\n    }\n  }]);\n\n  return AES256Cipher;\n}(AESBaseCipher);\n\nexports.AES256Cipher = AES256Cipher;\n\nvar PDF17 = function PDF17Closure() {\n  function compareByteArrays(array1, array2) {\n    if (array1.length !== array2.length) {\n      return false;\n    }\n\n    for (var i = 0; i < array1.length; i++) {\n      if (array1[i] !== array2[i]) {\n        return false;\n      }\n    }\n\n    return true;\n  }\n\n  function PDF17() {}\n\n  PDF17.prototype = {\n    checkOwnerPassword: function PDF17_checkOwnerPassword(password, ownerValidationSalt, userBytes, ownerPassword) {\n      var hashData = new Uint8Array(password.length + 56);\n      hashData.set(password, 0);\n      hashData.set(ownerValidationSalt, password.length);\n      hashData.set(userBytes, password.length + ownerValidationSalt.length);\n      var result = calculateSHA256(hashData, 0, hashData.length);\n      return compareByteArrays(result, ownerPassword);\n    },\n    checkUserPassword: function PDF17_checkUserPassword(password, userValidationSalt, userPassword) {\n      var hashData = new Uint8Array(password.length + 8);\n      hashData.set(password, 0);\n      hashData.set(userValidationSalt, password.length);\n      var result = calculateSHA256(hashData, 0, hashData.length);\n      return compareByteArrays(result, userPassword);\n    },\n    getOwnerKey: function PDF17_getOwnerKey(password, ownerKeySalt, userBytes, ownerEncryption) {\n      var hashData = new Uint8Array(password.length + 56);\n      hashData.set(password, 0);\n      hashData.set(ownerKeySalt, password.length);\n      hashData.set(userBytes, password.length + ownerKeySalt.length);\n      var key = calculateSHA256(hashData, 0, hashData.length);\n      var cipher = new AES256Cipher(key);\n      return cipher.decryptBlock(ownerEncryption, false, new Uint8Array(16));\n    },\n    getUserKey: function PDF17_getUserKey(password, userKeySalt, userEncryption) {\n      var hashData = new Uint8Array(password.length + 8);\n      hashData.set(password, 0);\n      hashData.set(userKeySalt, password.length);\n      var key = calculateSHA256(hashData, 0, hashData.length);\n      var cipher = new AES256Cipher(key);\n      return cipher.decryptBlock(userEncryption, false, new Uint8Array(16));\n    }\n  };\n  return PDF17;\n}();\n\nexports.PDF17 = PDF17;\n\nvar PDF20 = function PDF20Closure() {\n  function concatArrays(array1, array2) {\n    var t = new Uint8Array(array1.length + array2.length);\n    t.set(array1, 0);\n    t.set(array2, array1.length);\n    return t;\n  }\n\n  function calculatePDF20Hash(password, input, userBytes) {\n    var k = calculateSHA256(input, 0, input.length).subarray(0, 32);\n    var e = [0];\n    var i = 0;\n\n    while (i < 64 || e[e.length - 1] > i - 32) {\n      var arrayLength = password.length + k.length + userBytes.length;\n      var k1 = new Uint8Array(arrayLength * 64);\n      var array = concatArrays(password, k);\n      array = concatArrays(array, userBytes);\n\n      for (var j = 0, pos = 0; j < 64; j++, pos += arrayLength) {\n        k1.set(array, pos);\n      }\n\n      var cipher = new AES128Cipher(k.subarray(0, 16));\n      e = cipher.encrypt(k1, k.subarray(16, 32));\n      var remainder = 0;\n\n      for (var z = 0; z < 16; z++) {\n        remainder *= 256 % 3;\n        remainder %= 3;\n        remainder += (e[z] >>> 0) % 3;\n        remainder %= 3;\n      }\n\n      if (remainder === 0) {\n        k = calculateSHA256(e, 0, e.length);\n      } else if (remainder === 1) {\n        k = calculateSHA384(e, 0, e.length);\n      } else if (remainder === 2) {\n        k = calculateSHA512(e, 0, e.length);\n      }\n\n      i++;\n    }\n\n    return k.subarray(0, 32);\n  }\n\n  function PDF20() {}\n\n  function compareByteArrays(array1, array2) {\n    if (array1.length !== array2.length) {\n      return false;\n    }\n\n    for (var i = 0; i < array1.length; i++) {\n      if (array1[i] !== array2[i]) {\n        return false;\n      }\n    }\n\n    return true;\n  }\n\n  PDF20.prototype = {\n    hash: function PDF20_hash(password, concatBytes, userBytes) {\n      return calculatePDF20Hash(password, concatBytes, userBytes);\n    },\n    checkOwnerPassword: function PDF20_checkOwnerPassword(password, ownerValidationSalt, userBytes, ownerPassword) {\n      var hashData = new Uint8Array(password.length + 56);\n      hashData.set(password, 0);\n      hashData.set(ownerValidationSalt, password.length);\n      hashData.set(userBytes, password.length + ownerValidationSalt.length);\n      var result = calculatePDF20Hash(password, hashData, userBytes);\n      return compareByteArrays(result, ownerPassword);\n    },\n    checkUserPassword: function PDF20_checkUserPassword(password, userValidationSalt, userPassword) {\n      var hashData = new Uint8Array(password.length + 8);\n      hashData.set(password, 0);\n      hashData.set(userValidationSalt, password.length);\n      var result = calculatePDF20Hash(password, hashData, []);\n      return compareByteArrays(result, userPassword);\n    },\n    getOwnerKey: function PDF20_getOwnerKey(password, ownerKeySalt, userBytes, ownerEncryption) {\n      var hashData = new Uint8Array(password.length + 56);\n      hashData.set(password, 0);\n      hashData.set(ownerKeySalt, password.length);\n      hashData.set(userBytes, password.length + ownerKeySalt.length);\n      var key = calculatePDF20Hash(password, hashData, userBytes);\n      var cipher = new AES256Cipher(key);\n      return cipher.decryptBlock(ownerEncryption, false, new Uint8Array(16));\n    },\n    getUserKey: function PDF20_getUserKey(password, userKeySalt, userEncryption) {\n      var hashData = new Uint8Array(password.length + 8);\n      hashData.set(password, 0);\n      hashData.set(userKeySalt, password.length);\n      var key = calculatePDF20Hash(password, hashData, []);\n      var cipher = new AES256Cipher(key);\n      return cipher.decryptBlock(userEncryption, false, new Uint8Array(16));\n    }\n  };\n  return PDF20;\n}();\n\nexports.PDF20 = PDF20;\n\nvar CipherTransform = function CipherTransformClosure() {\n  function CipherTransform(stringCipherConstructor, streamCipherConstructor) {\n    this.StringCipherConstructor = stringCipherConstructor;\n    this.StreamCipherConstructor = streamCipherConstructor;\n  }\n\n  CipherTransform.prototype = {\n    createStream: function CipherTransform_createStream(stream, length) {\n      var cipher = new this.StreamCipherConstructor();\n      return new _stream.DecryptStream(stream, length, function cipherTransformDecryptStream(data, finalize) {\n        return cipher.decryptBlock(data, finalize);\n      });\n    },\n    decryptString: function CipherTransform_decryptString(s) {\n      var cipher = new this.StringCipherConstructor();\n      var data = (0, _util.stringToBytes)(s);\n      data = cipher.decryptBlock(data, true);\n      return (0, _util.bytesToString)(data);\n    }\n  };\n  return CipherTransform;\n}();\n\nvar CipherTransformFactory = function CipherTransformFactoryClosure() {\n  var defaultPasswordBytes = new Uint8Array([0x28, 0xBF, 0x4E, 0x5E, 0x4E, 0x75, 0x8A, 0x41, 0x64, 0x00, 0x4E, 0x56, 0xFF, 0xFA, 0x01, 0x08, 0x2E, 0x2E, 0x00, 0xB6, 0xD0, 0x68, 0x3E, 0x80, 0x2F, 0x0C, 0xA9, 0xFE, 0x64, 0x53, 0x69, 0x7A]);\n\n  function createEncryptionKey20(revision, password, ownerPassword, ownerValidationSalt, ownerKeySalt, uBytes, userPassword, userValidationSalt, userKeySalt, ownerEncryption, userEncryption, perms) {\n    if (password) {\n      var passwordLength = Math.min(127, password.length);\n      password = password.subarray(0, passwordLength);\n    } else {\n      password = [];\n    }\n\n    var pdfAlgorithm;\n\n    if (revision === 6) {\n      pdfAlgorithm = new PDF20();\n    } else {\n      pdfAlgorithm = new PDF17();\n    }\n\n    if (pdfAlgorithm.checkUserPassword(password, userValidationSalt, userPassword)) {\n      return pdfAlgorithm.getUserKey(password, userKeySalt, userEncryption);\n    } else if (password.length && pdfAlgorithm.checkOwnerPassword(password, ownerValidationSalt, uBytes, ownerPassword)) {\n      return pdfAlgorithm.getOwnerKey(password, ownerKeySalt, uBytes, ownerEncryption);\n    }\n\n    return null;\n  }\n\n  function prepareKeyData(fileId, password, ownerPassword, userPassword, flags, revision, keyLength, encryptMetadata) {\n    var hashDataSize = 40 + ownerPassword.length + fileId.length;\n    var hashData = new Uint8Array(hashDataSize),\n        i = 0,\n        j,\n        n;\n\n    if (password) {\n      n = Math.min(32, password.length);\n\n      for (; i < n; ++i) {\n        hashData[i] = password[i];\n      }\n    }\n\n    j = 0;\n\n    while (i < 32) {\n      hashData[i++] = defaultPasswordBytes[j++];\n    }\n\n    for (j = 0, n = ownerPassword.length; j < n; ++j) {\n      hashData[i++] = ownerPassword[j];\n    }\n\n    hashData[i++] = flags & 0xff;\n    hashData[i++] = flags >> 8 & 0xff;\n    hashData[i++] = flags >> 16 & 0xff;\n    hashData[i++] = flags >>> 24 & 0xff;\n\n    for (j = 0, n = fileId.length; j < n; ++j) {\n      hashData[i++] = fileId[j];\n    }\n\n    if (revision >= 4 && !encryptMetadata) {\n      hashData[i++] = 0xff;\n      hashData[i++] = 0xff;\n      hashData[i++] = 0xff;\n      hashData[i++] = 0xff;\n    }\n\n    var hash = calculateMD5(hashData, 0, i);\n    var keyLengthInBytes = keyLength >> 3;\n\n    if (revision >= 3) {\n      for (j = 0; j < 50; ++j) {\n        hash = calculateMD5(hash, 0, keyLengthInBytes);\n      }\n    }\n\n    var encryptionKey = hash.subarray(0, keyLengthInBytes);\n    var cipher, checkData;\n\n    if (revision >= 3) {\n      for (i = 0; i < 32; ++i) {\n        hashData[i] = defaultPasswordBytes[i];\n      }\n\n      for (j = 0, n = fileId.length; j < n; ++j) {\n        hashData[i++] = fileId[j];\n      }\n\n      cipher = new ARCFourCipher(encryptionKey);\n      checkData = cipher.encryptBlock(calculateMD5(hashData, 0, i));\n      n = encryptionKey.length;\n      var derivedKey = new Uint8Array(n),\n          k;\n\n      for (j = 1; j <= 19; ++j) {\n        for (k = 0; k < n; ++k) {\n          derivedKey[k] = encryptionKey[k] ^ j;\n        }\n\n        cipher = new ARCFourCipher(derivedKey);\n        checkData = cipher.encryptBlock(checkData);\n      }\n\n      for (j = 0, n = checkData.length; j < n; ++j) {\n        if (userPassword[j] !== checkData[j]) {\n          return null;\n        }\n      }\n    } else {\n      cipher = new ARCFourCipher(encryptionKey);\n      checkData = cipher.encryptBlock(defaultPasswordBytes);\n\n      for (j = 0, n = checkData.length; j < n; ++j) {\n        if (userPassword[j] !== checkData[j]) {\n          return null;\n        }\n      }\n    }\n\n    return encryptionKey;\n  }\n\n  function decodeUserPassword(password, ownerPassword, revision, keyLength) {\n    var hashData = new Uint8Array(32),\n        i = 0,\n        j,\n        n;\n    n = Math.min(32, password.length);\n\n    for (; i < n; ++i) {\n      hashData[i] = password[i];\n    }\n\n    j = 0;\n\n    while (i < 32) {\n      hashData[i++] = defaultPasswordBytes[j++];\n    }\n\n    var hash = calculateMD5(hashData, 0, i);\n    var keyLengthInBytes = keyLength >> 3;\n\n    if (revision >= 3) {\n      for (j = 0; j < 50; ++j) {\n        hash = calculateMD5(hash, 0, hash.length);\n      }\n    }\n\n    var cipher, userPassword;\n\n    if (revision >= 3) {\n      userPassword = ownerPassword;\n      var derivedKey = new Uint8Array(keyLengthInBytes),\n          k;\n\n      for (j = 19; j >= 0; j--) {\n        for (k = 0; k < keyLengthInBytes; ++k) {\n          derivedKey[k] = hash[k] ^ j;\n        }\n\n        cipher = new ARCFourCipher(derivedKey);\n        userPassword = cipher.encryptBlock(userPassword);\n      }\n    } else {\n      cipher = new ARCFourCipher(hash.subarray(0, keyLengthInBytes));\n      userPassword = cipher.encryptBlock(ownerPassword);\n    }\n\n    return userPassword;\n  }\n\n  var identityName = _primitives.Name.get(\"Identity\");\n\n  function CipherTransformFactory(dict, fileId, password) {\n    var filter = dict.get(\"Filter\");\n\n    if (!(0, _primitives.isName)(filter, \"Standard\")) {\n      throw new _util.FormatError(\"unknown encryption method\");\n    }\n\n    this.dict = dict;\n    var algorithm = dict.get(\"V\");\n\n    if (!Number.isInteger(algorithm) || algorithm !== 1 && algorithm !== 2 && algorithm !== 4 && algorithm !== 5) {\n      throw new _util.FormatError(\"unsupported encryption algorithm\");\n    }\n\n    this.algorithm = algorithm;\n    var keyLength = dict.get(\"Length\");\n\n    if (!keyLength) {\n      if (algorithm <= 3) {\n        keyLength = 40;\n      } else {\n        var cfDict = dict.get(\"CF\");\n        var streamCryptoName = dict.get(\"StmF\");\n\n        if ((0, _primitives.isDict)(cfDict) && (0, _primitives.isName)(streamCryptoName)) {\n          cfDict.suppressEncryption = true;\n          var handlerDict = cfDict.get(streamCryptoName.name);\n          keyLength = handlerDict && handlerDict.get(\"Length\") || 128;\n\n          if (keyLength < 40) {\n            keyLength <<= 3;\n          }\n        }\n      }\n    }\n\n    if (!Number.isInteger(keyLength) || keyLength < 40 || keyLength % 8 !== 0) {\n      throw new _util.FormatError(\"invalid key length\");\n    }\n\n    var ownerPassword = (0, _util.stringToBytes)(dict.get(\"O\")).subarray(0, 32);\n    var userPassword = (0, _util.stringToBytes)(dict.get(\"U\")).subarray(0, 32);\n    var flags = dict.get(\"P\");\n    var revision = dict.get(\"R\");\n    var encryptMetadata = (algorithm === 4 || algorithm === 5) && dict.get(\"EncryptMetadata\") !== false;\n    this.encryptMetadata = encryptMetadata;\n    var fileIdBytes = (0, _util.stringToBytes)(fileId);\n    var passwordBytes;\n\n    if (password) {\n      if (revision === 6) {\n        try {\n          password = (0, _util.utf8StringToString)(password);\n        } catch (ex) {\n          (0, _util.warn)(\"CipherTransformFactory: \" + \"Unable to convert UTF8 encoded password.\");\n        }\n      }\n\n      passwordBytes = (0, _util.stringToBytes)(password);\n    }\n\n    var encryptionKey;\n\n    if (algorithm !== 5) {\n      encryptionKey = prepareKeyData(fileIdBytes, passwordBytes, ownerPassword, userPassword, flags, revision, keyLength, encryptMetadata);\n    } else {\n      var ownerValidationSalt = (0, _util.stringToBytes)(dict.get(\"O\")).subarray(32, 40);\n      var ownerKeySalt = (0, _util.stringToBytes)(dict.get(\"O\")).subarray(40, 48);\n      var uBytes = (0, _util.stringToBytes)(dict.get(\"U\")).subarray(0, 48);\n      var userValidationSalt = (0, _util.stringToBytes)(dict.get(\"U\")).subarray(32, 40);\n      var userKeySalt = (0, _util.stringToBytes)(dict.get(\"U\")).subarray(40, 48);\n      var ownerEncryption = (0, _util.stringToBytes)(dict.get(\"OE\"));\n      var userEncryption = (0, _util.stringToBytes)(dict.get(\"UE\"));\n      var perms = (0, _util.stringToBytes)(dict.get(\"Perms\"));\n      encryptionKey = createEncryptionKey20(revision, passwordBytes, ownerPassword, ownerValidationSalt, ownerKeySalt, uBytes, userPassword, userValidationSalt, userKeySalt, ownerEncryption, userEncryption, perms);\n    }\n\n    if (!encryptionKey && !password) {\n      throw new _util.PasswordException(\"No password given\", _util.PasswordResponses.NEED_PASSWORD);\n    } else if (!encryptionKey && password) {\n      var decodedPassword = decodeUserPassword(passwordBytes, ownerPassword, revision, keyLength);\n      encryptionKey = prepareKeyData(fileIdBytes, decodedPassword, ownerPassword, userPassword, flags, revision, keyLength, encryptMetadata);\n    }\n\n    if (!encryptionKey) {\n      throw new _util.PasswordException(\"Incorrect Password\", _util.PasswordResponses.INCORRECT_PASSWORD);\n    }\n\n    this.encryptionKey = encryptionKey;\n\n    if (algorithm >= 4) {\n      var cf = dict.get(\"CF\");\n\n      if ((0, _primitives.isDict)(cf)) {\n        cf.suppressEncryption = true;\n      }\n\n      this.cf = cf;\n      this.stmf = dict.get(\"StmF\") || identityName;\n      this.strf = dict.get(\"StrF\") || identityName;\n      this.eff = dict.get(\"EFF\") || this.stmf;\n    }\n  }\n\n  function buildObjectKey(num, gen, encryptionKey, isAes) {\n    var key = new Uint8Array(encryptionKey.length + 9),\n        i,\n        n;\n\n    for (i = 0, n = encryptionKey.length; i < n; ++i) {\n      key[i] = encryptionKey[i];\n    }\n\n    key[i++] = num & 0xff;\n    key[i++] = num >> 8 & 0xff;\n    key[i++] = num >> 16 & 0xff;\n    key[i++] = gen & 0xff;\n    key[i++] = gen >> 8 & 0xff;\n\n    if (isAes) {\n      key[i++] = 0x73;\n      key[i++] = 0x41;\n      key[i++] = 0x6c;\n      key[i++] = 0x54;\n    }\n\n    var hash = calculateMD5(key, 0, i);\n    return hash.subarray(0, Math.min(encryptionKey.length + 5, 16));\n  }\n\n  function buildCipherConstructor(cf, name, num, gen, key) {\n    if (!(0, _primitives.isName)(name)) {\n      throw new _util.FormatError(\"Invalid crypt filter name.\");\n    }\n\n    var cryptFilter = cf.get(name.name);\n    var cfm;\n\n    if (cryptFilter !== null && cryptFilter !== undefined) {\n      cfm = cryptFilter.get(\"CFM\");\n    }\n\n    if (!cfm || cfm.name === \"None\") {\n      return function cipherTransformFactoryBuildCipherConstructorNone() {\n        return new NullCipher();\n      };\n    }\n\n    if (cfm.name === \"V2\") {\n      return function cipherTransformFactoryBuildCipherConstructorV2() {\n        return new ARCFourCipher(buildObjectKey(num, gen, key, false));\n      };\n    }\n\n    if (cfm.name === \"AESV2\") {\n      return function cipherTransformFactoryBuildCipherConstructorAESV2() {\n        return new AES128Cipher(buildObjectKey(num, gen, key, true));\n      };\n    }\n\n    if (cfm.name === \"AESV3\") {\n      return function cipherTransformFactoryBuildCipherConstructorAESV3() {\n        return new AES256Cipher(key);\n      };\n    }\n\n    throw new _util.FormatError(\"Unknown crypto method\");\n  }\n\n  CipherTransformFactory.prototype = {\n    createCipherTransform: function CipherTransformFactory_createCipherTransform(num, gen) {\n      if (this.algorithm === 4 || this.algorithm === 5) {\n        return new CipherTransform(buildCipherConstructor(this.cf, this.stmf, num, gen, this.encryptionKey), buildCipherConstructor(this.cf, this.strf, num, gen, this.encryptionKey));\n      }\n\n      var key = buildObjectKey(num, gen, this.encryptionKey, false);\n\n      var cipherConstructor = function buildCipherCipherConstructor() {\n        return new ARCFourCipher(key);\n      };\n\n      return new CipherTransform(cipherConstructor, cipherConstructor);\n    }\n  };\n  return CipherTransformFactory;\n}();\n\nexports.CipherTransformFactory = CipherTransformFactory;\n\n/***/ }),\n/* 216 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.ColorSpace = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _primitives = __w_pdfjs_require__(198);\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction resizeRgbImage(src, dest, w1, h1, w2, h2, alpha01) {\n  var COMPONENTS = 3;\n  alpha01 = alpha01 !== 1 ? 0 : alpha01;\n  var xRatio = w1 / w2;\n  var yRatio = h1 / h2;\n  var newIndex = 0,\n      oldIndex;\n  var xScaled = new Uint16Array(w2);\n  var w1Scanline = w1 * COMPONENTS;\n\n  for (var i = 0; i < w2; i++) {\n    xScaled[i] = Math.floor(i * xRatio) * COMPONENTS;\n  }\n\n  for (var _i = 0; _i < h2; _i++) {\n    var py = Math.floor(_i * yRatio) * w1Scanline;\n\n    for (var j = 0; j < w2; j++) {\n      oldIndex = py + xScaled[j];\n      dest[newIndex++] = src[oldIndex++];\n      dest[newIndex++] = src[oldIndex++];\n      dest[newIndex++] = src[oldIndex++];\n      newIndex += alpha01;\n    }\n  }\n}\n\nvar ColorSpace = /*#__PURE__*/function () {\n  function ColorSpace(name, numComps) {\n    _classCallCheck(this, ColorSpace);\n\n    if (this.constructor === ColorSpace) {\n      (0, _util.unreachable)(\"Cannot initialize ColorSpace.\");\n    }\n\n    this.name = name;\n    this.numComps = numComps;\n  }\n\n  _createClass(ColorSpace, [{\n    key: \"getRgb\",\n    value: function getRgb(src, srcOffset) {\n      var rgb = new Uint8ClampedArray(3);\n      this.getRgbItem(src, srcOffset, rgb, 0);\n      return rgb;\n    }\n  }, {\n    key: \"getRgbItem\",\n    value: function getRgbItem(src, srcOffset, dest, destOffset) {\n      (0, _util.unreachable)(\"Should not call ColorSpace.getRgbItem\");\n    }\n  }, {\n    key: \"getRgbBuffer\",\n    value: function getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n      (0, _util.unreachable)(\"Should not call ColorSpace.getRgbBuffer\");\n    }\n  }, {\n    key: \"getOutputLength\",\n    value: function getOutputLength(inputLength, alpha01) {\n      (0, _util.unreachable)(\"Should not call ColorSpace.getOutputLength\");\n    }\n  }, {\n    key: \"isPassthrough\",\n    value: function isPassthrough(bits) {\n      return false;\n    }\n  }, {\n    key: \"isDefaultDecode\",\n    value: function isDefaultDecode(decodeMap, bpc) {\n      return ColorSpace.isDefaultDecode(decodeMap, this.numComps);\n    }\n  }, {\n    key: \"fillRgb\",\n    value: function fillRgb(dest, originalWidth, originalHeight, width, height, actualHeight, bpc, comps, alpha01) {\n      var count = originalWidth * originalHeight;\n      var rgbBuf = null;\n      var numComponentColors = 1 << bpc;\n      var needsResizing = originalHeight !== height || originalWidth !== width;\n\n      if (this.isPassthrough(bpc)) {\n        rgbBuf = comps;\n      } else if (this.numComps === 1 && count > numComponentColors && this.name !== \"DeviceGray\" && this.name !== \"DeviceRGB\") {\n        var allColors = bpc <= 8 ? new Uint8Array(numComponentColors) : new Uint16Array(numComponentColors);\n\n        for (var i = 0; i < numComponentColors; i++) {\n          allColors[i] = i;\n        }\n\n        var colorMap = new Uint8ClampedArray(numComponentColors * 3);\n        this.getRgbBuffer(allColors, 0, numComponentColors, colorMap, 0, bpc, 0);\n\n        if (!needsResizing) {\n          var destPos = 0;\n\n          for (var _i2 = 0; _i2 < count; ++_i2) {\n            var key = comps[_i2] * 3;\n            dest[destPos++] = colorMap[key];\n            dest[destPos++] = colorMap[key + 1];\n            dest[destPos++] = colorMap[key + 2];\n            destPos += alpha01;\n          }\n        } else {\n          rgbBuf = new Uint8Array(count * 3);\n          var rgbPos = 0;\n\n          for (var _i3 = 0; _i3 < count; ++_i3) {\n            var _key = comps[_i3] * 3;\n\n            rgbBuf[rgbPos++] = colorMap[_key];\n            rgbBuf[rgbPos++] = colorMap[_key + 1];\n            rgbBuf[rgbPos++] = colorMap[_key + 2];\n          }\n        }\n      } else {\n        if (!needsResizing) {\n          this.getRgbBuffer(comps, 0, width * actualHeight, dest, 0, bpc, alpha01);\n        } else {\n          rgbBuf = new Uint8ClampedArray(count * 3);\n          this.getRgbBuffer(comps, 0, count, rgbBuf, 0, bpc, 0);\n        }\n      }\n\n      if (rgbBuf) {\n        if (needsResizing) {\n          resizeRgbImage(rgbBuf, dest, originalWidth, originalHeight, width, height, alpha01);\n        } else {\n          var _destPos = 0,\n              _rgbPos = 0;\n\n          for (var _i4 = 0, ii = width * actualHeight; _i4 < ii; _i4++) {\n            dest[_destPos++] = rgbBuf[_rgbPos++];\n            dest[_destPos++] = rgbBuf[_rgbPos++];\n            dest[_destPos++] = rgbBuf[_rgbPos++];\n            _destPos += alpha01;\n          }\n        }\n      }\n    }\n  }, {\n    key: \"usesZeroToOneRange\",\n    get: function get() {\n      return (0, _util.shadow)(this, \"usesZeroToOneRange\", true);\n    }\n  }], [{\n    key: \"parse\",\n    value: function parse(cs, xref, res, pdfFunctionFactory) {\n      var IR = this.parseToIR(cs, xref, res, pdfFunctionFactory);\n      return this.fromIR(IR);\n    }\n  }, {\n    key: \"fromIR\",\n    value: function fromIR(IR) {\n      var name = Array.isArray(IR) ? IR[0] : IR;\n      var whitePoint, blackPoint, gamma;\n\n      switch (name) {\n        case \"DeviceGrayCS\":\n          return this.singletons.gray;\n\n        case \"DeviceRgbCS\":\n          return this.singletons.rgb;\n\n        case \"DeviceCmykCS\":\n          return this.singletons.cmyk;\n\n        case \"CalGrayCS\":\n          whitePoint = IR[1];\n          blackPoint = IR[2];\n          gamma = IR[3];\n          return new CalGrayCS(whitePoint, blackPoint, gamma);\n\n        case \"CalRGBCS\":\n          whitePoint = IR[1];\n          blackPoint = IR[2];\n          gamma = IR[3];\n          var matrix = IR[4];\n          return new CalRGBCS(whitePoint, blackPoint, gamma, matrix);\n\n        case \"PatternCS\":\n          var basePatternCS = IR[1];\n\n          if (basePatternCS) {\n            basePatternCS = this.fromIR(basePatternCS);\n          }\n\n          return new PatternCS(basePatternCS);\n\n        case \"IndexedCS\":\n          var baseIndexedCS = IR[1];\n          var hiVal = IR[2];\n          var lookup = IR[3];\n          return new IndexedCS(this.fromIR(baseIndexedCS), hiVal, lookup);\n\n        case \"AlternateCS\":\n          var numComps = IR[1];\n          var alt = IR[2];\n          var tintFn = IR[3];\n          return new AlternateCS(numComps, this.fromIR(alt), tintFn);\n\n        case \"LabCS\":\n          whitePoint = IR[1];\n          blackPoint = IR[2];\n          var range = IR[3];\n          return new LabCS(whitePoint, blackPoint, range);\n\n        default:\n          throw new _util.FormatError(\"Unknown colorspace name: \".concat(name));\n      }\n    }\n  }, {\n    key: \"parseToIR\",\n    value: function parseToIR(cs, xref) {\n      var res = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n      var pdfFunctionFactory = arguments.length > 3 ? arguments[3] : undefined;\n      cs = xref.fetchIfRef(cs);\n\n      if ((0, _primitives.isName)(cs)) {\n        switch (cs.name) {\n          case \"DeviceGray\":\n          case \"G\":\n            return \"DeviceGrayCS\";\n\n          case \"DeviceRGB\":\n          case \"RGB\":\n            return \"DeviceRgbCS\";\n\n          case \"DeviceCMYK\":\n          case \"CMYK\":\n            return \"DeviceCmykCS\";\n\n          case \"Pattern\":\n            return [\"PatternCS\", null];\n\n          default:\n            if ((0, _primitives.isDict)(res)) {\n              var colorSpaces = res.get(\"ColorSpace\");\n\n              if ((0, _primitives.isDict)(colorSpaces)) {\n                var resCS = colorSpaces.get(cs.name);\n\n                if (resCS) {\n                  if ((0, _primitives.isName)(resCS)) {\n                    return this.parseToIR(resCS, xref, res, pdfFunctionFactory);\n                  }\n\n                  cs = resCS;\n                  break;\n                }\n              }\n            }\n\n            throw new _util.FormatError(\"unrecognized colorspace \".concat(cs.name));\n        }\n      }\n\n      if (Array.isArray(cs)) {\n        var mode = xref.fetchIfRef(cs[0]).name;\n        var numComps, params, alt, whitePoint, blackPoint, gamma;\n\n        switch (mode) {\n          case \"DeviceGray\":\n          case \"G\":\n            return \"DeviceGrayCS\";\n\n          case \"DeviceRGB\":\n          case \"RGB\":\n            return \"DeviceRgbCS\";\n\n          case \"DeviceCMYK\":\n          case \"CMYK\":\n            return \"DeviceCmykCS\";\n\n          case \"CalGray\":\n            params = xref.fetchIfRef(cs[1]);\n            whitePoint = params.getArray(\"WhitePoint\");\n            blackPoint = params.getArray(\"BlackPoint\");\n            gamma = params.get(\"Gamma\");\n            return [\"CalGrayCS\", whitePoint, blackPoint, gamma];\n\n          case \"CalRGB\":\n            params = xref.fetchIfRef(cs[1]);\n            whitePoint = params.getArray(\"WhitePoint\");\n            blackPoint = params.getArray(\"BlackPoint\");\n            gamma = params.getArray(\"Gamma\");\n            var matrix = params.getArray(\"Matrix\");\n            return [\"CalRGBCS\", whitePoint, blackPoint, gamma, matrix];\n\n          case \"ICCBased\":\n            var stream = xref.fetchIfRef(cs[1]);\n            var dict = stream.dict;\n            numComps = dict.get(\"N\");\n            alt = dict.get(\"Alternate\");\n\n            if (alt) {\n              var altIR = this.parseToIR(alt, xref, res, pdfFunctionFactory);\n              var altCS = this.fromIR(altIR, pdfFunctionFactory);\n\n              if (altCS.numComps === numComps) {\n                return altIR;\n              }\n\n              (0, _util.warn)(\"ICCBased color space: Ignoring incorrect /Alternate entry.\");\n            }\n\n            if (numComps === 1) {\n              return \"DeviceGrayCS\";\n            } else if (numComps === 3) {\n              return \"DeviceRgbCS\";\n            } else if (numComps === 4) {\n              return \"DeviceCmykCS\";\n            }\n\n            break;\n\n          case \"Pattern\":\n            var basePatternCS = cs[1] || null;\n\n            if (basePatternCS) {\n              basePatternCS = this.parseToIR(basePatternCS, xref, res, pdfFunctionFactory);\n            }\n\n            return [\"PatternCS\", basePatternCS];\n\n          case \"Indexed\":\n          case \"I\":\n            var baseIndexedCS = this.parseToIR(cs[1], xref, res, pdfFunctionFactory);\n            var hiVal = xref.fetchIfRef(cs[2]) + 1;\n            var lookup = xref.fetchIfRef(cs[3]);\n\n            if ((0, _primitives.isStream)(lookup)) {\n              lookup = lookup.getBytes();\n            }\n\n            return [\"IndexedCS\", baseIndexedCS, hiVal, lookup];\n\n          case \"Separation\":\n          case \"DeviceN\":\n            var name = xref.fetchIfRef(cs[1]);\n            numComps = Array.isArray(name) ? name.length : 1;\n            alt = this.parseToIR(cs[2], xref, res, pdfFunctionFactory);\n            var tintFn = pdfFunctionFactory.create(xref.fetchIfRef(cs[3]));\n            return [\"AlternateCS\", numComps, alt, tintFn];\n\n          case \"Lab\":\n            params = xref.fetchIfRef(cs[1]);\n            whitePoint = params.getArray(\"WhitePoint\");\n            blackPoint = params.getArray(\"BlackPoint\");\n            var range = params.getArray(\"Range\");\n            return [\"LabCS\", whitePoint, blackPoint, range];\n\n          default:\n            throw new _util.FormatError(\"unimplemented color space object \\\"\".concat(mode, \"\\\"\"));\n        }\n      }\n\n      throw new _util.FormatError(\"unrecognized color space object: \\\"\".concat(cs, \"\\\"\"));\n    }\n  }, {\n    key: \"isDefaultDecode\",\n    value: function isDefaultDecode(decode, numComps) {\n      if (!Array.isArray(decode)) {\n        return true;\n      }\n\n      if (numComps * 2 !== decode.length) {\n        (0, _util.warn)(\"The decode map is not the correct length\");\n        return true;\n      }\n\n      for (var i = 0, ii = decode.length; i < ii; i += 2) {\n        if (decode[i] !== 0 || decode[i + 1] !== 1) {\n          return false;\n        }\n      }\n\n      return true;\n    }\n  }, {\n    key: \"singletons\",\n    get: function get() {\n      return (0, _util.shadow)(this, \"singletons\", {\n        get gray() {\n          return (0, _util.shadow)(this, \"gray\", new DeviceGrayCS());\n        },\n\n        get rgb() {\n          return (0, _util.shadow)(this, \"rgb\", new DeviceRgbCS());\n        },\n\n        get cmyk() {\n          return (0, _util.shadow)(this, \"cmyk\", new DeviceCmykCS());\n        }\n\n      });\n    }\n  }]);\n\n  return ColorSpace;\n}();\n\nexports.ColorSpace = ColorSpace;\n\nvar AlternateCS = /*#__PURE__*/function (_ColorSpace) {\n  _inherits(AlternateCS, _ColorSpace);\n\n  var _super = _createSuper(AlternateCS);\n\n  function AlternateCS(numComps, base, tintFn) {\n    var _this;\n\n    _classCallCheck(this, AlternateCS);\n\n    _this = _super.call(this, \"Alternate\", numComps);\n    _this.base = base;\n    _this.tintFn = tintFn;\n    _this.tmpBuf = new Float32Array(base.numComps);\n    return _this;\n  }\n\n  _createClass(AlternateCS, [{\n    key: \"getRgbItem\",\n    value: function getRgbItem(src, srcOffset, dest, destOffset) {\n      var tmpBuf = this.tmpBuf;\n      this.tintFn(src, srcOffset, tmpBuf, 0);\n      this.base.getRgbItem(tmpBuf, 0, dest, destOffset);\n    }\n  }, {\n    key: \"getRgbBuffer\",\n    value: function getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n      var tintFn = this.tintFn;\n      var base = this.base;\n      var scale = 1 / ((1 << bits) - 1);\n      var baseNumComps = base.numComps;\n      var usesZeroToOneRange = base.usesZeroToOneRange;\n      var isPassthrough = (base.isPassthrough(8) || !usesZeroToOneRange) && alpha01 === 0;\n      var pos = isPassthrough ? destOffset : 0;\n      var baseBuf = isPassthrough ? dest : new Uint8ClampedArray(baseNumComps * count);\n      var numComps = this.numComps;\n      var scaled = new Float32Array(numComps);\n      var tinted = new Float32Array(baseNumComps);\n      var i, j;\n\n      for (i = 0; i < count; i++) {\n        for (j = 0; j < numComps; j++) {\n          scaled[j] = src[srcOffset++] * scale;\n        }\n\n        tintFn(scaled, 0, tinted, 0);\n\n        if (usesZeroToOneRange) {\n          for (j = 0; j < baseNumComps; j++) {\n            baseBuf[pos++] = tinted[j] * 255;\n          }\n        } else {\n          base.getRgbItem(tinted, 0, baseBuf, pos);\n          pos += baseNumComps;\n        }\n      }\n\n      if (!isPassthrough) {\n        base.getRgbBuffer(baseBuf, 0, count, dest, destOffset, 8, alpha01);\n      }\n    }\n  }, {\n    key: \"getOutputLength\",\n    value: function getOutputLength(inputLength, alpha01) {\n      return this.base.getOutputLength(inputLength * this.base.numComps / this.numComps, alpha01);\n    }\n  }]);\n\n  return AlternateCS;\n}(ColorSpace);\n\nvar PatternCS = /*#__PURE__*/function (_ColorSpace2) {\n  _inherits(PatternCS, _ColorSpace2);\n\n  var _super2 = _createSuper(PatternCS);\n\n  function PatternCS(baseCS) {\n    var _this2;\n\n    _classCallCheck(this, PatternCS);\n\n    _this2 = _super2.call(this, \"Pattern\", null);\n    _this2.base = baseCS;\n    return _this2;\n  }\n\n  _createClass(PatternCS, [{\n    key: \"isDefaultDecode\",\n    value: function isDefaultDecode(decodeMap, bpc) {\n      (0, _util.unreachable)(\"Should not call PatternCS.isDefaultDecode\");\n    }\n  }]);\n\n  return PatternCS;\n}(ColorSpace);\n\nvar IndexedCS = /*#__PURE__*/function (_ColorSpace3) {\n  _inherits(IndexedCS, _ColorSpace3);\n\n  var _super3 = _createSuper(IndexedCS);\n\n  function IndexedCS(base, highVal, lookup) {\n    var _this3;\n\n    _classCallCheck(this, IndexedCS);\n\n    _this3 = _super3.call(this, \"Indexed\", 1);\n    _this3.base = base;\n    _this3.highVal = highVal;\n    var baseNumComps = base.numComps;\n    var length = baseNumComps * highVal;\n\n    if ((0, _primitives.isStream)(lookup)) {\n      _this3.lookup = new Uint8Array(length);\n      var bytes = lookup.getBytes(length);\n\n      _this3.lookup.set(bytes);\n    } else if ((0, _util.isString)(lookup)) {\n      _this3.lookup = new Uint8Array(length);\n\n      for (var i = 0; i < length; ++i) {\n        _this3.lookup[i] = lookup.charCodeAt(i);\n      }\n    } else if (lookup instanceof Uint8Array) {\n      _this3.lookup = lookup;\n    } else {\n      throw new _util.FormatError(\"Unrecognized lookup table: \".concat(lookup));\n    }\n\n    return _this3;\n  }\n\n  _createClass(IndexedCS, [{\n    key: \"getRgbItem\",\n    value: function getRgbItem(src, srcOffset, dest, destOffset) {\n      var numComps = this.base.numComps;\n      var start = src[srcOffset] * numComps;\n      this.base.getRgbBuffer(this.lookup, start, 1, dest, destOffset, 8, 0);\n    }\n  }, {\n    key: \"getRgbBuffer\",\n    value: function getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n      var base = this.base;\n      var numComps = base.numComps;\n      var outputDelta = base.getOutputLength(numComps, alpha01);\n      var lookup = this.lookup;\n\n      for (var i = 0; i < count; ++i) {\n        var lookupPos = src[srcOffset++] * numComps;\n        base.getRgbBuffer(lookup, lookupPos, 1, dest, destOffset, 8, alpha01);\n        destOffset += outputDelta;\n      }\n    }\n  }, {\n    key: \"getOutputLength\",\n    value: function getOutputLength(inputLength, alpha01) {\n      return this.base.getOutputLength(inputLength * this.base.numComps, alpha01);\n    }\n  }, {\n    key: \"isDefaultDecode\",\n    value: function isDefaultDecode(decodeMap, bpc) {\n      if (!Array.isArray(decodeMap)) {\n        return true;\n      }\n\n      if (decodeMap.length !== 2) {\n        (0, _util.warn)(\"Decode map length is not correct\");\n        return true;\n      }\n\n      if (!Number.isInteger(bpc) || bpc < 1) {\n        (0, _util.warn)(\"Bits per component is not correct\");\n        return true;\n      }\n\n      return decodeMap[0] === 0 && decodeMap[1] === (1 << bpc) - 1;\n    }\n  }]);\n\n  return IndexedCS;\n}(ColorSpace);\n\nvar DeviceGrayCS = /*#__PURE__*/function (_ColorSpace4) {\n  _inherits(DeviceGrayCS, _ColorSpace4);\n\n  var _super4 = _createSuper(DeviceGrayCS);\n\n  function DeviceGrayCS() {\n    _classCallCheck(this, DeviceGrayCS);\n\n    return _super4.call(this, \"DeviceGray\", 1);\n  }\n\n  _createClass(DeviceGrayCS, [{\n    key: \"getRgbItem\",\n    value: function getRgbItem(src, srcOffset, dest, destOffset) {\n      var c = src[srcOffset] * 255;\n      dest[destOffset] = dest[destOffset + 1] = dest[destOffset + 2] = c;\n    }\n  }, {\n    key: \"getRgbBuffer\",\n    value: function getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n      var scale = 255 / ((1 << bits) - 1);\n      var j = srcOffset,\n          q = destOffset;\n\n      for (var i = 0; i < count; ++i) {\n        var c = scale * src[j++];\n        dest[q++] = c;\n        dest[q++] = c;\n        dest[q++] = c;\n        q += alpha01;\n      }\n    }\n  }, {\n    key: \"getOutputLength\",\n    value: function getOutputLength(inputLength, alpha01) {\n      return inputLength * (3 + alpha01);\n    }\n  }]);\n\n  return DeviceGrayCS;\n}(ColorSpace);\n\nvar DeviceRgbCS = /*#__PURE__*/function (_ColorSpace5) {\n  _inherits(DeviceRgbCS, _ColorSpace5);\n\n  var _super5 = _createSuper(DeviceRgbCS);\n\n  function DeviceRgbCS() {\n    _classCallCheck(this, DeviceRgbCS);\n\n    return _super5.call(this, \"DeviceRGB\", 3);\n  }\n\n  _createClass(DeviceRgbCS, [{\n    key: \"getRgbItem\",\n    value: function getRgbItem(src, srcOffset, dest, destOffset) {\n      dest[destOffset] = src[srcOffset] * 255;\n      dest[destOffset + 1] = src[srcOffset + 1] * 255;\n      dest[destOffset + 2] = src[srcOffset + 2] * 255;\n    }\n  }, {\n    key: \"getRgbBuffer\",\n    value: function getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n      if (bits === 8 && alpha01 === 0) {\n        dest.set(src.subarray(srcOffset, srcOffset + count * 3), destOffset);\n        return;\n      }\n\n      var scale = 255 / ((1 << bits) - 1);\n      var j = srcOffset,\n          q = destOffset;\n\n      for (var i = 0; i < count; ++i) {\n        dest[q++] = scale * src[j++];\n        dest[q++] = scale * src[j++];\n        dest[q++] = scale * src[j++];\n        q += alpha01;\n      }\n    }\n  }, {\n    key: \"getOutputLength\",\n    value: function getOutputLength(inputLength, alpha01) {\n      return inputLength * (3 + alpha01) / 3 | 0;\n    }\n  }, {\n    key: \"isPassthrough\",\n    value: function isPassthrough(bits) {\n      return bits === 8;\n    }\n  }]);\n\n  return DeviceRgbCS;\n}(ColorSpace);\n\nvar DeviceCmykCS = function DeviceCmykCSClosure() {\n  function convertToRgb(src, srcOffset, srcScale, dest, destOffset) {\n    var c = src[srcOffset] * srcScale;\n    var m = src[srcOffset + 1] * srcScale;\n    var y = src[srcOffset + 2] * srcScale;\n    var k = src[srcOffset + 3] * srcScale;\n    dest[destOffset] = 255 + c * (-4.387332384609988 * c + 54.48615194189176 * m + 18.82290502165302 * y + 212.25662451639585 * k + -285.2331026137004) + m * (1.7149763477362134 * m - 5.6096736904047315 * y + -17.873870861415444 * k - 5.497006427196366) + y * (-2.5217340131683033 * y - 21.248923337353073 * k + 17.5119270841813) + k * (-21.86122147463605 * k - 189.48180835922747);\n    dest[destOffset + 1] = 255 + c * (8.841041422036149 * c + 60.118027045597366 * m + 6.871425592049007 * y + 31.159100130055922 * k + -79.2970844816548) + m * (-15.310361306967817 * m + 17.575251261109482 * y + 131.35250912493976 * k - 190.9453302588951) + y * (4.444339102852739 * y + 9.8632861493405 * k - 24.86741582555878) + k * (-20.737325471181034 * k - 187.80453709719578);\n    dest[destOffset + 2] = 255 + c * (0.8842522430003296 * c + 8.078677503112928 * m + 30.89978309703729 * y - 0.23883238689178934 * k + -14.183576799673286) + m * (10.49593273432072 * m + 63.02378494754052 * y + 50.606957656360734 * k - 112.23884253719248) + y * (0.03296041114873217 * y + 115.60384449646641 * k + -193.58209356861505) + k * (-22.33816807309886 * k - 180.12613974708367);\n  }\n\n  var DeviceCmykCS = /*#__PURE__*/function (_ColorSpace6) {\n    _inherits(DeviceCmykCS, _ColorSpace6);\n\n    var _super6 = _createSuper(DeviceCmykCS);\n\n    function DeviceCmykCS() {\n      _classCallCheck(this, DeviceCmykCS);\n\n      return _super6.call(this, \"DeviceCMYK\", 4);\n    }\n\n    _createClass(DeviceCmykCS, [{\n      key: \"getRgbItem\",\n      value: function getRgbItem(src, srcOffset, dest, destOffset) {\n        convertToRgb(src, srcOffset, 1, dest, destOffset);\n      }\n    }, {\n      key: \"getRgbBuffer\",\n      value: function getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n        var scale = 1 / ((1 << bits) - 1);\n\n        for (var i = 0; i < count; i++) {\n          convertToRgb(src, srcOffset, scale, dest, destOffset);\n          srcOffset += 4;\n          destOffset += 3 + alpha01;\n        }\n      }\n    }, {\n      key: \"getOutputLength\",\n      value: function getOutputLength(inputLength, alpha01) {\n        return inputLength / 4 * (3 + alpha01) | 0;\n      }\n    }]);\n\n    return DeviceCmykCS;\n  }(ColorSpace);\n\n  return DeviceCmykCS;\n}();\n\nvar CalGrayCS = function CalGrayCSClosure() {\n  function convertToRgb(cs, src, srcOffset, dest, destOffset, scale) {\n    var A = src[srcOffset] * scale;\n    var AG = Math.pow(A, cs.G);\n    var L = cs.YW * AG;\n    var val = Math.max(295.8 * Math.pow(L, 0.333333333333333333) - 40.8, 0);\n    dest[destOffset] = val;\n    dest[destOffset + 1] = val;\n    dest[destOffset + 2] = val;\n  }\n\n  var CalGrayCS = /*#__PURE__*/function (_ColorSpace7) {\n    _inherits(CalGrayCS, _ColorSpace7);\n\n    var _super7 = _createSuper(CalGrayCS);\n\n    function CalGrayCS(whitePoint, blackPoint, gamma) {\n      var _this4;\n\n      _classCallCheck(this, CalGrayCS);\n\n      _this4 = _super7.call(this, \"CalGray\", 1);\n\n      if (!whitePoint) {\n        throw new _util.FormatError(\"WhitePoint missing - required for color space CalGray\");\n      }\n\n      blackPoint = blackPoint || [0, 0, 0];\n      gamma = gamma || 1;\n      _this4.XW = whitePoint[0];\n      _this4.YW = whitePoint[1];\n      _this4.ZW = whitePoint[2];\n      _this4.XB = blackPoint[0];\n      _this4.YB = blackPoint[1];\n      _this4.ZB = blackPoint[2];\n      _this4.G = gamma;\n\n      if (_this4.XW < 0 || _this4.ZW < 0 || _this4.YW !== 1) {\n        throw new _util.FormatError(\"Invalid WhitePoint components for \".concat(_this4.name) + \", no fallback available\");\n      }\n\n      if (_this4.XB < 0 || _this4.YB < 0 || _this4.ZB < 0) {\n        (0, _util.info)(\"Invalid BlackPoint for \".concat(_this4.name, \", falling back to default.\"));\n        _this4.XB = _this4.YB = _this4.ZB = 0;\n      }\n\n      if (_this4.XB !== 0 || _this4.YB !== 0 || _this4.ZB !== 0) {\n        (0, _util.warn)(\"\".concat(_this4.name, \", BlackPoint: XB: \").concat(_this4.XB, \", YB: \").concat(_this4.YB, \", \") + \"ZB: \".concat(_this4.ZB, \", only default values are supported.\"));\n      }\n\n      if (_this4.G < 1) {\n        (0, _util.info)(\"Invalid Gamma: \".concat(_this4.G, \" for \").concat(_this4.name, \", \") + \"falling back to default.\");\n        _this4.G = 1;\n      }\n\n      return _this4;\n    }\n\n    _createClass(CalGrayCS, [{\n      key: \"getRgbItem\",\n      value: function getRgbItem(src, srcOffset, dest, destOffset) {\n        convertToRgb(this, src, srcOffset, dest, destOffset, 1);\n      }\n    }, {\n      key: \"getRgbBuffer\",\n      value: function getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n        var scale = 1 / ((1 << bits) - 1);\n\n        for (var i = 0; i < count; ++i) {\n          convertToRgb(this, src, srcOffset, dest, destOffset, scale);\n          srcOffset += 1;\n          destOffset += 3 + alpha01;\n        }\n      }\n    }, {\n      key: \"getOutputLength\",\n      value: function getOutputLength(inputLength, alpha01) {\n        return inputLength * (3 + alpha01);\n      }\n    }]);\n\n    return CalGrayCS;\n  }(ColorSpace);\n\n  return CalGrayCS;\n}();\n\nvar CalRGBCS = function CalRGBCSClosure() {\n  var BRADFORD_SCALE_MATRIX = new Float32Array([0.8951, 0.2664, -0.1614, -0.7502, 1.7135, 0.0367, 0.0389, -0.0685, 1.0296]);\n  var BRADFORD_SCALE_INVERSE_MATRIX = new Float32Array([0.9869929, -0.1470543, 0.1599627, 0.4323053, 0.5183603, 0.0492912, -0.0085287, 0.0400428, 0.9684867]);\n  var SRGB_D65_XYZ_TO_RGB_MATRIX = new Float32Array([3.2404542, -1.5371385, -0.4985314, -0.9692660, 1.8760108, 0.0415560, 0.0556434, -0.2040259, 1.0572252]);\n  var FLAT_WHITEPOINT_MATRIX = new Float32Array([1, 1, 1]);\n  var tempNormalizeMatrix = new Float32Array(3);\n  var tempConvertMatrix1 = new Float32Array(3);\n  var tempConvertMatrix2 = new Float32Array(3);\n  var DECODE_L_CONSTANT = Math.pow((8 + 16) / 116, 3) / 8.0;\n\n  function matrixProduct(a, b, result) {\n    result[0] = a[0] * b[0] + a[1] * b[1] + a[2] * b[2];\n    result[1] = a[3] * b[0] + a[4] * b[1] + a[5] * b[2];\n    result[2] = a[6] * b[0] + a[7] * b[1] + a[8] * b[2];\n  }\n\n  function convertToFlat(sourceWhitePoint, LMS, result) {\n    result[0] = LMS[0] * 1 / sourceWhitePoint[0];\n    result[1] = LMS[1] * 1 / sourceWhitePoint[1];\n    result[2] = LMS[2] * 1 / sourceWhitePoint[2];\n  }\n\n  function convertToD65(sourceWhitePoint, LMS, result) {\n    var D65X = 0.95047;\n    var D65Y = 1;\n    var D65Z = 1.08883;\n    result[0] = LMS[0] * D65X / sourceWhitePoint[0];\n    result[1] = LMS[1] * D65Y / sourceWhitePoint[1];\n    result[2] = LMS[2] * D65Z / sourceWhitePoint[2];\n  }\n\n  function sRGBTransferFunction(color) {\n    if (color <= 0.0031308) {\n      return adjustToRange(0, 1, 12.92 * color);\n    }\n\n    return adjustToRange(0, 1, (1 + 0.055) * Math.pow(color, 1 / 2.4) - 0.055);\n  }\n\n  function adjustToRange(min, max, value) {\n    return Math.max(min, Math.min(max, value));\n  }\n\n  function decodeL(L) {\n    if (L < 0) {\n      return -decodeL(-L);\n    }\n\n    if (L > 8.0) {\n      return Math.pow((L + 16) / 116, 3);\n    }\n\n    return L * DECODE_L_CONSTANT;\n  }\n\n  function compensateBlackPoint(sourceBlackPoint, XYZ_Flat, result) {\n    if (sourceBlackPoint[0] === 0 && sourceBlackPoint[1] === 0 && sourceBlackPoint[2] === 0) {\n      result[0] = XYZ_Flat[0];\n      result[1] = XYZ_Flat[1];\n      result[2] = XYZ_Flat[2];\n      return;\n    }\n\n    var zeroDecodeL = decodeL(0);\n    var X_DST = zeroDecodeL;\n    var X_SRC = decodeL(sourceBlackPoint[0]);\n    var Y_DST = zeroDecodeL;\n    var Y_SRC = decodeL(sourceBlackPoint[1]);\n    var Z_DST = zeroDecodeL;\n    var Z_SRC = decodeL(sourceBlackPoint[2]);\n    var X_Scale = (1 - X_DST) / (1 - X_SRC);\n    var X_Offset = 1 - X_Scale;\n    var Y_Scale = (1 - Y_DST) / (1 - Y_SRC);\n    var Y_Offset = 1 - Y_Scale;\n    var Z_Scale = (1 - Z_DST) / (1 - Z_SRC);\n    var Z_Offset = 1 - Z_Scale;\n    result[0] = XYZ_Flat[0] * X_Scale + X_Offset;\n    result[1] = XYZ_Flat[1] * Y_Scale + Y_Offset;\n    result[2] = XYZ_Flat[2] * Z_Scale + Z_Offset;\n  }\n\n  function normalizeWhitePointToFlat(sourceWhitePoint, XYZ_In, result) {\n    if (sourceWhitePoint[0] === 1 && sourceWhitePoint[2] === 1) {\n      result[0] = XYZ_In[0];\n      result[1] = XYZ_In[1];\n      result[2] = XYZ_In[2];\n      return;\n    }\n\n    var LMS = result;\n    matrixProduct(BRADFORD_SCALE_MATRIX, XYZ_In, LMS);\n    var LMS_Flat = tempNormalizeMatrix;\n    convertToFlat(sourceWhitePoint, LMS, LMS_Flat);\n    matrixProduct(BRADFORD_SCALE_INVERSE_MATRIX, LMS_Flat, result);\n  }\n\n  function normalizeWhitePointToD65(sourceWhitePoint, XYZ_In, result) {\n    var LMS = result;\n    matrixProduct(BRADFORD_SCALE_MATRIX, XYZ_In, LMS);\n    var LMS_D65 = tempNormalizeMatrix;\n    convertToD65(sourceWhitePoint, LMS, LMS_D65);\n    matrixProduct(BRADFORD_SCALE_INVERSE_MATRIX, LMS_D65, result);\n  }\n\n  function convertToRgb(cs, src, srcOffset, dest, destOffset, scale) {\n    var A = adjustToRange(0, 1, src[srcOffset] * scale);\n    var B = adjustToRange(0, 1, src[srcOffset + 1] * scale);\n    var C = adjustToRange(0, 1, src[srcOffset + 2] * scale);\n    var AGR = Math.pow(A, cs.GR);\n    var BGG = Math.pow(B, cs.GG);\n    var CGB = Math.pow(C, cs.GB);\n    var X = cs.MXA * AGR + cs.MXB * BGG + cs.MXC * CGB;\n    var Y = cs.MYA * AGR + cs.MYB * BGG + cs.MYC * CGB;\n    var Z = cs.MZA * AGR + cs.MZB * BGG + cs.MZC * CGB;\n    var XYZ = tempConvertMatrix1;\n    XYZ[0] = X;\n    XYZ[1] = Y;\n    XYZ[2] = Z;\n    var XYZ_Flat = tempConvertMatrix2;\n    normalizeWhitePointToFlat(cs.whitePoint, XYZ, XYZ_Flat);\n    var XYZ_Black = tempConvertMatrix1;\n    compensateBlackPoint(cs.blackPoint, XYZ_Flat, XYZ_Black);\n    var XYZ_D65 = tempConvertMatrix2;\n    normalizeWhitePointToD65(FLAT_WHITEPOINT_MATRIX, XYZ_Black, XYZ_D65);\n    var SRGB = tempConvertMatrix1;\n    matrixProduct(SRGB_D65_XYZ_TO_RGB_MATRIX, XYZ_D65, SRGB);\n    dest[destOffset] = sRGBTransferFunction(SRGB[0]) * 255;\n    dest[destOffset + 1] = sRGBTransferFunction(SRGB[1]) * 255;\n    dest[destOffset + 2] = sRGBTransferFunction(SRGB[2]) * 255;\n  }\n\n  var CalRGBCS = /*#__PURE__*/function (_ColorSpace8) {\n    _inherits(CalRGBCS, _ColorSpace8);\n\n    var _super8 = _createSuper(CalRGBCS);\n\n    function CalRGBCS(whitePoint, blackPoint, gamma, matrix) {\n      var _this5;\n\n      _classCallCheck(this, CalRGBCS);\n\n      _this5 = _super8.call(this, \"CalRGB\", 3);\n\n      if (!whitePoint) {\n        throw new _util.FormatError(\"WhitePoint missing - required for color space CalRGB\");\n      }\n\n      blackPoint = blackPoint || new Float32Array(3);\n      gamma = gamma || new Float32Array([1, 1, 1]);\n      matrix = matrix || new Float32Array([1, 0, 0, 0, 1, 0, 0, 0, 1]);\n      var XW = whitePoint[0];\n      var YW = whitePoint[1];\n      var ZW = whitePoint[2];\n      _this5.whitePoint = whitePoint;\n      var XB = blackPoint[0];\n      var YB = blackPoint[1];\n      var ZB = blackPoint[2];\n      _this5.blackPoint = blackPoint;\n      _this5.GR = gamma[0];\n      _this5.GG = gamma[1];\n      _this5.GB = gamma[2];\n      _this5.MXA = matrix[0];\n      _this5.MYA = matrix[1];\n      _this5.MZA = matrix[2];\n      _this5.MXB = matrix[3];\n      _this5.MYB = matrix[4];\n      _this5.MZB = matrix[5];\n      _this5.MXC = matrix[6];\n      _this5.MYC = matrix[7];\n      _this5.MZC = matrix[8];\n\n      if (XW < 0 || ZW < 0 || YW !== 1) {\n        throw new _util.FormatError(\"Invalid WhitePoint components for \".concat(_this5.name) + \", no fallback available\");\n      }\n\n      if (XB < 0 || YB < 0 || ZB < 0) {\n        (0, _util.info)(\"Invalid BlackPoint for \".concat(_this5.name, \" [\").concat(XB, \", \").concat(YB, \", \").concat(ZB, \"], \") + \"falling back to default.\");\n        _this5.blackPoint = new Float32Array(3);\n      }\n\n      if (_this5.GR < 0 || _this5.GG < 0 || _this5.GB < 0) {\n        (0, _util.info)(\"Invalid Gamma [\".concat(_this5.GR, \", \").concat(_this5.GG, \", \").concat(_this5.GB, \"] for \") + \"\".concat(_this5.name, \", falling back to default.\"));\n        _this5.GR = _this5.GG = _this5.GB = 1;\n      }\n\n      return _this5;\n    }\n\n    _createClass(CalRGBCS, [{\n      key: \"getRgbItem\",\n      value: function getRgbItem(src, srcOffset, dest, destOffset) {\n        convertToRgb(this, src, srcOffset, dest, destOffset, 1);\n      }\n    }, {\n      key: \"getRgbBuffer\",\n      value: function getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n        var scale = 1 / ((1 << bits) - 1);\n\n        for (var i = 0; i < count; ++i) {\n          convertToRgb(this, src, srcOffset, dest, destOffset, scale);\n          srcOffset += 3;\n          destOffset += 3 + alpha01;\n        }\n      }\n    }, {\n      key: \"getOutputLength\",\n      value: function getOutputLength(inputLength, alpha01) {\n        return inputLength * (3 + alpha01) / 3 | 0;\n      }\n    }]);\n\n    return CalRGBCS;\n  }(ColorSpace);\n\n  return CalRGBCS;\n}();\n\nvar LabCS = function LabCSClosure() {\n  function fn_g(x) {\n    var result;\n\n    if (x >= 6 / 29) {\n      result = x * x * x;\n    } else {\n      result = 108 / 841 * (x - 4 / 29);\n    }\n\n    return result;\n  }\n\n  function decode(value, high1, low2, high2) {\n    return low2 + value * (high2 - low2) / high1;\n  }\n\n  function convertToRgb(cs, src, srcOffset, maxVal, dest, destOffset) {\n    var Ls = src[srcOffset];\n    var as = src[srcOffset + 1];\n    var bs = src[srcOffset + 2];\n\n    if (maxVal !== false) {\n      Ls = decode(Ls, maxVal, 0, 100);\n      as = decode(as, maxVal, cs.amin, cs.amax);\n      bs = decode(bs, maxVal, cs.bmin, cs.bmax);\n    }\n\n    if (as > cs.amax) {\n      as = cs.amax;\n    } else if (as < cs.amin) {\n      as = cs.amin;\n    }\n\n    if (bs > cs.bmax) {\n      bs = cs.bmax;\n    } else if (bs < cs.bmin) {\n      bs = cs.bmin;\n    }\n\n    var M = (Ls + 16) / 116;\n    var L = M + as / 500;\n    var N = M - bs / 200;\n    var X = cs.XW * fn_g(L);\n    var Y = cs.YW * fn_g(M);\n    var Z = cs.ZW * fn_g(N);\n    var r, g, b;\n\n    if (cs.ZW < 1) {\n      r = X * 3.1339 + Y * -1.617 + Z * -0.4906;\n      g = X * -0.9785 + Y * 1.916 + Z * 0.0333;\n      b = X * 0.072 + Y * -0.229 + Z * 1.4057;\n    } else {\n      r = X * 3.2406 + Y * -1.5372 + Z * -0.4986;\n      g = X * -0.9689 + Y * 1.8758 + Z * 0.0415;\n      b = X * 0.0557 + Y * -0.204 + Z * 1.057;\n    }\n\n    dest[destOffset] = Math.sqrt(r) * 255;\n    dest[destOffset + 1] = Math.sqrt(g) * 255;\n    dest[destOffset + 2] = Math.sqrt(b) * 255;\n  }\n\n  var LabCS = /*#__PURE__*/function (_ColorSpace9) {\n    _inherits(LabCS, _ColorSpace9);\n\n    var _super9 = _createSuper(LabCS);\n\n    function LabCS(whitePoint, blackPoint, range) {\n      var _this6;\n\n      _classCallCheck(this, LabCS);\n\n      _this6 = _super9.call(this, \"Lab\", 3);\n\n      if (!whitePoint) {\n        throw new _util.FormatError(\"WhitePoint missing - required for color space Lab\");\n      }\n\n      blackPoint = blackPoint || [0, 0, 0];\n      range = range || [-100, 100, -100, 100];\n      _this6.XW = whitePoint[0];\n      _this6.YW = whitePoint[1];\n      _this6.ZW = whitePoint[2];\n      _this6.amin = range[0];\n      _this6.amax = range[1];\n      _this6.bmin = range[2];\n      _this6.bmax = range[3];\n      _this6.XB = blackPoint[0];\n      _this6.YB = blackPoint[1];\n      _this6.ZB = blackPoint[2];\n\n      if (_this6.XW < 0 || _this6.ZW < 0 || _this6.YW !== 1) {\n        throw new _util.FormatError(\"Invalid WhitePoint components, no fallback available\");\n      }\n\n      if (_this6.XB < 0 || _this6.YB < 0 || _this6.ZB < 0) {\n        (0, _util.info)(\"Invalid BlackPoint, falling back to default\");\n        _this6.XB = _this6.YB = _this6.ZB = 0;\n      }\n\n      if (_this6.amin > _this6.amax || _this6.bmin > _this6.bmax) {\n        (0, _util.info)(\"Invalid Range, falling back to defaults\");\n        _this6.amin = -100;\n        _this6.amax = 100;\n        _this6.bmin = -100;\n        _this6.bmax = 100;\n      }\n\n      return _this6;\n    }\n\n    _createClass(LabCS, [{\n      key: \"getRgbItem\",\n      value: function getRgbItem(src, srcOffset, dest, destOffset) {\n        convertToRgb(this, src, srcOffset, false, dest, destOffset);\n      }\n    }, {\n      key: \"getRgbBuffer\",\n      value: function getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n        var maxVal = (1 << bits) - 1;\n\n        for (var i = 0; i < count; i++) {\n          convertToRgb(this, src, srcOffset, maxVal, dest, destOffset);\n          srcOffset += 3;\n          destOffset += 3 + alpha01;\n        }\n      }\n    }, {\n      key: \"getOutputLength\",\n      value: function getOutputLength(inputLength, alpha01) {\n        return inputLength * (3 + alpha01) / 3 | 0;\n      }\n    }, {\n      key: \"isDefaultDecode\",\n      value: function isDefaultDecode(decodeMap, bpc) {\n        return true;\n      }\n    }, {\n      key: \"usesZeroToOneRange\",\n      get: function get() {\n        return (0, _util.shadow)(this, \"usesZeroToOneRange\", false);\n      }\n    }]);\n\n    return LabCS;\n  }(ColorSpace);\n\n  return LabCS;\n}();\n\n/***/ }),\n/* 217 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.GlobalImageCache = exports.LocalImageCache = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _primitives = __w_pdfjs_require__(198);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar LocalImageCache = /*#__PURE__*/function () {\n  function LocalImageCache() {\n    _classCallCheck(this, LocalImageCache);\n\n    this._nameRefMap = new Map();\n    this._imageMap = new Map();\n    this._imageCache = new _primitives.RefSetCache();\n  }\n\n  _createClass(LocalImageCache, [{\n    key: \"getByName\",\n    value: function getByName(name) {\n      var ref = this._nameRefMap.get(name);\n\n      if (ref) {\n        return this.getByRef(ref);\n      }\n\n      return this._imageMap.get(name) || null;\n    }\n  }, {\n    key: \"getByRef\",\n    value: function getByRef(ref) {\n      return this._imageCache.get(ref) || null;\n    }\n  }, {\n    key: \"set\",\n    value: function set(name) {\n      var ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n      var data = arguments.length > 2 ? arguments[2] : undefined;\n\n      if (!name) {\n        throw new Error('LocalImageCache.set - expected \"name\" argument.');\n      }\n\n      if (ref) {\n        if (this._imageCache.has(ref)) {\n          return;\n        }\n\n        this._nameRefMap.set(name, ref);\n\n        this._imageCache.put(ref, data);\n\n        return;\n      }\n\n      if (this._imageMap.has(name)) {\n        return;\n      }\n\n      this._imageMap.set(name, data);\n    }\n  }]);\n\n  return LocalImageCache;\n}();\n\nexports.LocalImageCache = LocalImageCache;\n\nvar GlobalImageCache = /*#__PURE__*/function () {\n  _createClass(GlobalImageCache, null, [{\n    key: \"NUM_PAGES_THRESHOLD\",\n    get: function get() {\n      return (0, _util.shadow)(this, \"NUM_PAGES_THRESHOLD\", 2);\n    }\n  }, {\n    key: \"MAX_IMAGES_TO_CACHE\",\n    get: function get() {\n      return (0, _util.shadow)(this, \"MAX_IMAGES_TO_CACHE\", 10);\n    }\n  }]);\n\n  function GlobalImageCache() {\n    _classCallCheck(this, GlobalImageCache);\n\n    this._refCache = new _primitives.RefSetCache();\n    this._imageCache = new _primitives.RefSetCache();\n  }\n\n  _createClass(GlobalImageCache, [{\n    key: \"shouldCache\",\n    value: function shouldCache(ref, pageIndex) {\n      var pageIndexSet = this._refCache.get(ref);\n\n      var numPages = pageIndexSet ? pageIndexSet.size + (pageIndexSet.has(pageIndex) ? 0 : 1) : 1;\n\n      if (numPages < GlobalImageCache.NUM_PAGES_THRESHOLD) {\n        return false;\n      }\n\n      if (!this._imageCache.has(ref) && this._imageCache.size >= GlobalImageCache.MAX_IMAGES_TO_CACHE) {\n        return false;\n      }\n\n      return true;\n    }\n  }, {\n    key: \"addPageIndex\",\n    value: function addPageIndex(ref, pageIndex) {\n      var pageIndexSet = this._refCache.get(ref);\n\n      if (!pageIndexSet) {\n        pageIndexSet = new Set();\n\n        this._refCache.put(ref, pageIndexSet);\n      }\n\n      pageIndexSet.add(pageIndex);\n    }\n  }, {\n    key: \"getData\",\n    value: function getData(ref, pageIndex) {\n      if (!this._refCache.has(ref)) {\n        return null;\n      }\n\n      var pageIndexSet = this._refCache.get(ref);\n\n      if (pageIndexSet.size < GlobalImageCache.NUM_PAGES_THRESHOLD) {\n        return null;\n      }\n\n      if (!this._imageCache.has(ref)) {\n        return null;\n      }\n\n      pageIndexSet.add(pageIndex);\n      return this._imageCache.get(ref);\n    }\n  }, {\n    key: \"setData\",\n    value: function setData(ref, data) {\n      if (!this._refCache.has(ref)) {\n        throw new Error('GlobalImageCache.setData - expected \"addPageIndex\" to have been called.');\n      }\n\n      if (this._imageCache.has(ref)) {\n        return;\n      }\n\n      if (this._imageCache.size >= GlobalImageCache.MAX_IMAGES_TO_CACHE) {\n        (0, _util.info)(\"GlobalImageCache.setData - ignoring image above MAX_IMAGES_TO_CACHE.\");\n        return;\n      }\n\n      this._imageCache.put(ref, data);\n    }\n  }, {\n    key: \"clear\",\n    value: function clear() {\n      var onlyData = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n      if (!onlyData) {\n        this._refCache.clear();\n      }\n\n      this._imageCache.clear();\n    }\n  }]);\n\n  return GlobalImageCache;\n}();\n\nexports.GlobalImageCache = GlobalImageCache;\n\n/***/ }),\n/* 218 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.getQuadPoints = getQuadPoints;\nexports.MarkupAnnotation = exports.AnnotationFactory = exports.AnnotationBorderStyle = exports.Annotation = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _obj = __w_pdfjs_require__(203);\n\nvar _primitives = __w_pdfjs_require__(198);\n\nvar _colorspace = __w_pdfjs_require__(216);\n\nvar _core_utils = __w_pdfjs_require__(201);\n\nvar _operator_list = __w_pdfjs_require__(219);\n\nvar _stream = __w_pdfjs_require__(205);\n\nfunction _get(target, property, receiver) { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }\n\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar AnnotationFactory = /*#__PURE__*/function () {\n  function AnnotationFactory() {\n    _classCallCheck(this, AnnotationFactory);\n  }\n\n  _createClass(AnnotationFactory, null, [{\n    key: \"create\",\n    value: function create(xref, ref, pdfManager, idFactory) {\n      return pdfManager.ensure(this, \"_create\", [xref, ref, pdfManager, idFactory]);\n    }\n  }, {\n    key: \"_create\",\n    value: function _create(xref, ref, pdfManager, idFactory) {\n      var dict = xref.fetchIfRef(ref);\n\n      if (!(0, _primitives.isDict)(dict)) {\n        return undefined;\n      }\n\n      var id = (0, _primitives.isRef)(ref) ? ref.toString() : \"annot_\".concat(idFactory.createObjId());\n      var subtype = dict.get(\"Subtype\");\n      subtype = (0, _primitives.isName)(subtype) ? subtype.name : null;\n      var parameters = {\n        xref: xref,\n        dict: dict,\n        subtype: subtype,\n        id: id,\n        pdfManager: pdfManager\n      };\n\n      switch (subtype) {\n        case \"Link\":\n          return new LinkAnnotation(parameters);\n\n        case \"Text\":\n          return new TextAnnotation(parameters);\n\n        case \"Widget\":\n          var fieldType = (0, _core_utils.getInheritableProperty)({\n            dict: dict,\n            key: \"FT\"\n          });\n          fieldType = (0, _primitives.isName)(fieldType) ? fieldType.name : null;\n\n          switch (fieldType) {\n            case \"Tx\":\n              return new TextWidgetAnnotation(parameters);\n\n            case \"Btn\":\n              return new ButtonWidgetAnnotation(parameters);\n\n            case \"Ch\":\n              return new ChoiceWidgetAnnotation(parameters);\n          }\n\n          (0, _util.warn)('Unimplemented widget field type \"' + fieldType + '\", ' + \"falling back to base field type.\");\n          return new WidgetAnnotation(parameters);\n\n        case \"Popup\":\n          return new PopupAnnotation(parameters);\n\n        case \"FreeText\":\n          return new FreeTextAnnotation(parameters);\n\n        case \"Line\":\n          return new LineAnnotation(parameters);\n\n        case \"Square\":\n          return new SquareAnnotation(parameters);\n\n        case \"Circle\":\n          return new CircleAnnotation(parameters);\n\n        case \"PolyLine\":\n          return new PolylineAnnotation(parameters);\n\n        case \"Polygon\":\n          return new PolygonAnnotation(parameters);\n\n        case \"Caret\":\n          return new CaretAnnotation(parameters);\n\n        case \"Ink\":\n          return new InkAnnotation(parameters);\n\n        case \"Highlight\":\n          return new HighlightAnnotation(parameters);\n\n        case \"Underline\":\n          return new UnderlineAnnotation(parameters);\n\n        case \"Squiggly\":\n          return new SquigglyAnnotation(parameters);\n\n        case \"StrikeOut\":\n          return new StrikeOutAnnotation(parameters);\n\n        case \"Stamp\":\n          return new StampAnnotation(parameters);\n\n        case \"FileAttachment\":\n          return new FileAttachmentAnnotation(parameters);\n\n        default:\n          if (!subtype) {\n            (0, _util.warn)(\"Annotation is missing the required /Subtype.\");\n          } else {\n            (0, _util.warn)('Unimplemented annotation type \"' + subtype + '\", ' + \"falling back to base annotation.\");\n          }\n\n          return new Annotation(parameters);\n      }\n    }\n  }]);\n\n  return AnnotationFactory;\n}();\n\nexports.AnnotationFactory = AnnotationFactory;\n\nfunction getQuadPoints(dict, rect) {\n  if (!dict.has(\"QuadPoints\")) {\n    return null;\n  }\n\n  var quadPoints = dict.getArray(\"QuadPoints\");\n\n  if (!Array.isArray(quadPoints) || quadPoints.length % 8 > 0) {\n    return null;\n  }\n\n  var quadPointsLists = [];\n\n  for (var i = 0, ii = quadPoints.length / 8; i < ii; i++) {\n    quadPointsLists.push([]);\n\n    for (var j = i * 8, jj = i * 8 + 8; j < jj; j += 2) {\n      var x = quadPoints[j];\n      var y = quadPoints[j + 1];\n\n      if (x < rect[0] || x > rect[2] || y < rect[1] || y > rect[3]) {\n        return null;\n      }\n\n      quadPointsLists[i].push({\n        x: x,\n        y: y\n      });\n    }\n  }\n\n  return quadPointsLists;\n}\n\nfunction getTransformMatrix(rect, bbox, matrix) {\n  var _Util$getAxialAligned = _util.Util.getAxialAlignedBoundingBox(bbox, matrix),\n      _Util$getAxialAligned2 = _slicedToArray(_Util$getAxialAligned, 4),\n      minX = _Util$getAxialAligned2[0],\n      minY = _Util$getAxialAligned2[1],\n      maxX = _Util$getAxialAligned2[2],\n      maxY = _Util$getAxialAligned2[3];\n\n  if (minX === maxX || minY === maxY) {\n    return [1, 0, 0, 1, rect[0], rect[1]];\n  }\n\n  var xRatio = (rect[2] - rect[0]) / (maxX - minX);\n  var yRatio = (rect[3] - rect[1]) / (maxY - minY);\n  return [xRatio, 0, 0, yRatio, rect[0] - minX * xRatio, rect[1] - minY * yRatio];\n}\n\nvar Annotation = /*#__PURE__*/function () {\n  function Annotation(params) {\n    _classCallCheck(this, Annotation);\n\n    var dict = params.dict;\n    this.setContents(dict.get(\"Contents\"));\n    this.setModificationDate(dict.get(\"M\"));\n    this.setFlags(dict.get(\"F\"));\n    this.setRectangle(dict.getArray(\"Rect\"));\n    this.setColor(dict.getArray(\"C\"));\n    this.setBorderStyle(dict);\n    this.setAppearance(dict);\n    this.data = {\n      annotationFlags: this.flags,\n      borderStyle: this.borderStyle,\n      color: this.color,\n      contents: this.contents,\n      hasAppearance: !!this.appearance,\n      id: params.id,\n      modificationDate: this.modificationDate,\n      rect: this.rectangle,\n      subtype: params.subtype\n    };\n  }\n\n  _createClass(Annotation, [{\n    key: \"_hasFlag\",\n    value: function _hasFlag(flags, flag) {\n      return !!(flags & flag);\n    }\n  }, {\n    key: \"_isViewable\",\n    value: function _isViewable(flags) {\n      return !this._hasFlag(flags, _util.AnnotationFlag.INVISIBLE) && !this._hasFlag(flags, _util.AnnotationFlag.HIDDEN) && !this._hasFlag(flags, _util.AnnotationFlag.NOVIEW);\n    }\n  }, {\n    key: \"_isPrintable\",\n    value: function _isPrintable(flags) {\n      return this._hasFlag(flags, _util.AnnotationFlag.PRINT) && !this._hasFlag(flags, _util.AnnotationFlag.INVISIBLE) && !this._hasFlag(flags, _util.AnnotationFlag.HIDDEN);\n    }\n  }, {\n    key: \"setContents\",\n    value: function setContents(contents) {\n      this.contents = (0, _util.stringToPDFString)(contents || \"\");\n    }\n  }, {\n    key: \"setModificationDate\",\n    value: function setModificationDate(modificationDate) {\n      this.modificationDate = (0, _util.isString)(modificationDate) ? modificationDate : null;\n    }\n  }, {\n    key: \"setFlags\",\n    value: function setFlags(flags) {\n      this.flags = Number.isInteger(flags) && flags > 0 ? flags : 0;\n    }\n  }, {\n    key: \"hasFlag\",\n    value: function hasFlag(flag) {\n      return this._hasFlag(this.flags, flag);\n    }\n  }, {\n    key: \"setRectangle\",\n    value: function setRectangle(rectangle) {\n      if (Array.isArray(rectangle) && rectangle.length === 4) {\n        this.rectangle = _util.Util.normalizeRect(rectangle);\n      } else {\n        this.rectangle = [0, 0, 0, 0];\n      }\n    }\n  }, {\n    key: \"setColor\",\n    value: function setColor(color) {\n      var rgbColor = new Uint8ClampedArray(3);\n\n      if (!Array.isArray(color)) {\n        this.color = rgbColor;\n        return;\n      }\n\n      switch (color.length) {\n        case 0:\n          this.color = null;\n          break;\n\n        case 1:\n          _colorspace.ColorSpace.singletons.gray.getRgbItem(color, 0, rgbColor, 0);\n\n          this.color = rgbColor;\n          break;\n\n        case 3:\n          _colorspace.ColorSpace.singletons.rgb.getRgbItem(color, 0, rgbColor, 0);\n\n          this.color = rgbColor;\n          break;\n\n        case 4:\n          _colorspace.ColorSpace.singletons.cmyk.getRgbItem(color, 0, rgbColor, 0);\n\n          this.color = rgbColor;\n          break;\n\n        default:\n          this.color = rgbColor;\n          break;\n      }\n    }\n  }, {\n    key: \"setBorderStyle\",\n    value: function setBorderStyle(borderStyle) {\n      this.borderStyle = new AnnotationBorderStyle();\n\n      if (!(0, _primitives.isDict)(borderStyle)) {\n        return;\n      }\n\n      if (borderStyle.has(\"BS\")) {\n        var dict = borderStyle.get(\"BS\");\n        var dictType = dict.get(\"Type\");\n\n        if (!dictType || (0, _primitives.isName)(dictType, \"Border\")) {\n          this.borderStyle.setWidth(dict.get(\"W\"), this.rectangle);\n          this.borderStyle.setStyle(dict.get(\"S\"));\n          this.borderStyle.setDashArray(dict.getArray(\"D\"));\n        }\n      } else if (borderStyle.has(\"Border\")) {\n        var array = borderStyle.getArray(\"Border\");\n\n        if (Array.isArray(array) && array.length >= 3) {\n          this.borderStyle.setHorizontalCornerRadius(array[0]);\n          this.borderStyle.setVerticalCornerRadius(array[1]);\n          this.borderStyle.setWidth(array[2], this.rectangle);\n\n          if (array.length === 4) {\n            this.borderStyle.setDashArray(array[3]);\n          }\n        }\n      } else {\n        this.borderStyle.setWidth(0);\n      }\n    }\n  }, {\n    key: \"setAppearance\",\n    value: function setAppearance(dict) {\n      this.appearance = null;\n      var appearanceStates = dict.get(\"AP\");\n\n      if (!(0, _primitives.isDict)(appearanceStates)) {\n        return;\n      }\n\n      var normalAppearanceState = appearanceStates.get(\"N\");\n\n      if ((0, _primitives.isStream)(normalAppearanceState)) {\n        this.appearance = normalAppearanceState;\n        return;\n      }\n\n      if (!(0, _primitives.isDict)(normalAppearanceState)) {\n        return;\n      }\n\n      var as = dict.get(\"AS\");\n\n      if (!(0, _primitives.isName)(as) || !normalAppearanceState.has(as.name)) {\n        return;\n      }\n\n      this.appearance = normalAppearanceState.get(as.name);\n    }\n  }, {\n    key: \"loadResources\",\n    value: function loadResources(keys) {\n      return this.appearance.dict.getAsync(\"Resources\").then(function (resources) {\n        if (!resources) {\n          return undefined;\n        }\n\n        var objectLoader = new _obj.ObjectLoader(resources, keys, resources.xref);\n        return objectLoader.load().then(function () {\n          return resources;\n        });\n      });\n    }\n  }, {\n    key: \"getOperatorList\",\n    value: function getOperatorList(evaluator, task, renderForms) {\n      var _this = this;\n\n      if (!this.appearance) {\n        return Promise.resolve(new _operator_list.OperatorList());\n      }\n\n      var data = this.data;\n      var appearanceDict = this.appearance.dict;\n      var resourcesPromise = this.loadResources([\"ExtGState\", \"ColorSpace\", \"Pattern\", \"Shading\", \"XObject\", \"Font\"]);\n      var bbox = appearanceDict.getArray(\"BBox\") || [0, 0, 1, 1];\n      var matrix = appearanceDict.getArray(\"Matrix\") || [1, 0, 0, 1, 0, 0];\n      var transform = getTransformMatrix(data.rect, bbox, matrix);\n      return resourcesPromise.then(function (resources) {\n        var opList = new _operator_list.OperatorList();\n        opList.addOp(_util.OPS.beginAnnotation, [data.rect, transform, matrix]);\n        return evaluator.getOperatorList({\n          stream: _this.appearance,\n          task: task,\n          resources: resources,\n          operatorList: opList\n        }).then(function () {\n          opList.addOp(_util.OPS.endAnnotation, []);\n\n          _this.appearance.reset();\n\n          return opList;\n        });\n      });\n    }\n  }, {\n    key: \"viewable\",\n    get: function get() {\n      if (this.flags === 0) {\n        return true;\n      }\n\n      return this._isViewable(this.flags);\n    }\n  }, {\n    key: \"printable\",\n    get: function get() {\n      if (this.flags === 0) {\n        return false;\n      }\n\n      return this._isPrintable(this.flags);\n    }\n  }]);\n\n  return Annotation;\n}();\n\nexports.Annotation = Annotation;\n\nvar AnnotationBorderStyle = /*#__PURE__*/function () {\n  function AnnotationBorderStyle() {\n    _classCallCheck(this, AnnotationBorderStyle);\n\n    this.width = 1;\n    this.style = _util.AnnotationBorderStyleType.SOLID;\n    this.dashArray = [3];\n    this.horizontalCornerRadius = 0;\n    this.verticalCornerRadius = 0;\n  }\n\n  _createClass(AnnotationBorderStyle, [{\n    key: \"setWidth\",\n    value: function setWidth(width) {\n      var rect = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [0, 0, 0, 0];\n\n      if ((0, _primitives.isName)(width)) {\n        this.width = 0;\n        return;\n      }\n\n      if (Number.isInteger(width)) {\n        if (width > 0) {\n          var maxWidth = (rect[2] - rect[0]) / 2;\n          var maxHeight = (rect[3] - rect[1]) / 2;\n\n          if (maxWidth > 0 && maxHeight > 0 && (width > maxWidth || width > maxHeight)) {\n            (0, _util.warn)(\"AnnotationBorderStyle.setWidth - ignoring width: \".concat(width));\n            width = 1;\n          }\n        }\n\n        this.width = width;\n      }\n    }\n  }, {\n    key: \"setStyle\",\n    value: function setStyle(style) {\n      if (!(0, _primitives.isName)(style)) {\n        return;\n      }\n\n      switch (style.name) {\n        case \"S\":\n          this.style = _util.AnnotationBorderStyleType.SOLID;\n          break;\n\n        case \"D\":\n          this.style = _util.AnnotationBorderStyleType.DASHED;\n          break;\n\n        case \"B\":\n          this.style = _util.AnnotationBorderStyleType.BEVELED;\n          break;\n\n        case \"I\":\n          this.style = _util.AnnotationBorderStyleType.INSET;\n          break;\n\n        case \"U\":\n          this.style = _util.AnnotationBorderStyleType.UNDERLINE;\n          break;\n\n        default:\n          break;\n      }\n    }\n  }, {\n    key: \"setDashArray\",\n    value: function setDashArray(dashArray) {\n      if (Array.isArray(dashArray) && dashArray.length > 0) {\n        var isValid = true;\n        var allZeros = true;\n\n        var _iterator = _createForOfIteratorHelper(dashArray),\n            _step;\n\n        try {\n          for (_iterator.s(); !(_step = _iterator.n()).done;) {\n            var element = _step.value;\n            var validNumber = +element >= 0;\n\n            if (!validNumber) {\n              isValid = false;\n              break;\n            } else if (element > 0) {\n              allZeros = false;\n            }\n          }\n        } catch (err) {\n          _iterator.e(err);\n        } finally {\n          _iterator.f();\n        }\n\n        if (isValid && !allZeros) {\n          this.dashArray = dashArray;\n        } else {\n          this.width = 0;\n        }\n      } else if (dashArray) {\n        this.width = 0;\n      }\n    }\n  }, {\n    key: \"setHorizontalCornerRadius\",\n    value: function setHorizontalCornerRadius(radius) {\n      if (Number.isInteger(radius)) {\n        this.horizontalCornerRadius = radius;\n      }\n    }\n  }, {\n    key: \"setVerticalCornerRadius\",\n    value: function setVerticalCornerRadius(radius) {\n      if (Number.isInteger(radius)) {\n        this.verticalCornerRadius = radius;\n      }\n    }\n  }]);\n\n  return AnnotationBorderStyle;\n}();\n\nexports.AnnotationBorderStyle = AnnotationBorderStyle;\n\nvar MarkupAnnotation = /*#__PURE__*/function (_Annotation) {\n  _inherits(MarkupAnnotation, _Annotation);\n\n  var _super = _createSuper(MarkupAnnotation);\n\n  function MarkupAnnotation(parameters) {\n    var _this2;\n\n    _classCallCheck(this, MarkupAnnotation);\n\n    _this2 = _super.call(this, parameters);\n    var dict = parameters.dict;\n\n    if (dict.has(\"IRT\")) {\n      var rawIRT = dict.getRaw(\"IRT\");\n      _this2.data.inReplyTo = (0, _primitives.isRef)(rawIRT) ? rawIRT.toString() : null;\n      var rt = dict.get(\"RT\");\n      _this2.data.replyType = (0, _primitives.isName)(rt) ? rt.name : _util.AnnotationReplyType.REPLY;\n    }\n\n    if (_this2.data.replyType === _util.AnnotationReplyType.GROUP) {\n      var parent = dict.get(\"IRT\");\n      _this2.data.title = (0, _util.stringToPDFString)(parent.get(\"T\") || \"\");\n\n      _this2.setContents(parent.get(\"Contents\"));\n\n      _this2.data.contents = _this2.contents;\n\n      if (!parent.has(\"CreationDate\")) {\n        _this2.data.creationDate = null;\n      } else {\n        _this2.setCreationDate(parent.get(\"CreationDate\"));\n\n        _this2.data.creationDate = _this2.creationDate;\n      }\n\n      if (!parent.has(\"M\")) {\n        _this2.data.modificationDate = null;\n      } else {\n        _this2.setModificationDate(parent.get(\"M\"));\n\n        _this2.data.modificationDate = _this2.modificationDate;\n      }\n\n      _this2.data.hasPopup = parent.has(\"Popup\");\n\n      if (!parent.has(\"C\")) {\n        _this2.data.color = null;\n      } else {\n        _this2.setColor(parent.getArray(\"C\"));\n\n        _this2.data.color = _this2.color;\n      }\n    } else {\n      _this2.data.title = (0, _util.stringToPDFString)(dict.get(\"T\") || \"\");\n\n      _this2.setCreationDate(dict.get(\"CreationDate\"));\n\n      _this2.data.creationDate = _this2.creationDate;\n      _this2.data.hasPopup = dict.has(\"Popup\");\n\n      if (!dict.has(\"C\")) {\n        _this2.data.color = null;\n      }\n    }\n\n    return _this2;\n  }\n\n  _createClass(MarkupAnnotation, [{\n    key: \"setCreationDate\",\n    value: function setCreationDate(creationDate) {\n      this.creationDate = (0, _util.isString)(creationDate) ? creationDate : null;\n    }\n  }]);\n\n  return MarkupAnnotation;\n}(Annotation);\n\nexports.MarkupAnnotation = MarkupAnnotation;\n\nvar WidgetAnnotation = /*#__PURE__*/function (_Annotation2) {\n  _inherits(WidgetAnnotation, _Annotation2);\n\n  var _super2 = _createSuper(WidgetAnnotation);\n\n  function WidgetAnnotation(params) {\n    var _this3;\n\n    _classCallCheck(this, WidgetAnnotation);\n\n    _this3 = _super2.call(this, params);\n    var dict = params.dict;\n    var data = _this3.data;\n    data.annotationType = _util.AnnotationType.WIDGET;\n    data.fieldName = _this3._constructFieldName(dict);\n    data.fieldValue = (0, _core_utils.getInheritableProperty)({\n      dict: dict,\n      key: \"V\",\n      getArray: true\n    });\n    data.alternativeText = (0, _util.stringToPDFString)(dict.get(\"TU\") || \"\");\n    data.defaultAppearance = (0, _core_utils.getInheritableProperty)({\n      dict: dict,\n      key: \"DA\"\n    }) || \"\";\n    var fieldType = (0, _core_utils.getInheritableProperty)({\n      dict: dict,\n      key: \"FT\"\n    });\n    data.fieldType = (0, _primitives.isName)(fieldType) ? fieldType.name : null;\n    _this3.fieldResources = (0, _core_utils.getInheritableProperty)({\n      dict: dict,\n      key: \"DR\"\n    }) || _primitives.Dict.empty;\n    data.fieldFlags = (0, _core_utils.getInheritableProperty)({\n      dict: dict,\n      key: \"Ff\"\n    });\n\n    if (!Number.isInteger(data.fieldFlags) || data.fieldFlags < 0) {\n      data.fieldFlags = 0;\n    }\n\n    data.readOnly = _this3.hasFieldFlag(_util.AnnotationFieldFlag.READONLY);\n\n    if (data.fieldType === \"Sig\") {\n      data.fieldValue = null;\n\n      _this3.setFlags(_util.AnnotationFlag.HIDDEN);\n    }\n\n    return _this3;\n  }\n\n  _createClass(WidgetAnnotation, [{\n    key: \"_constructFieldName\",\n    value: function _constructFieldName(dict) {\n      if (!dict.has(\"T\") && !dict.has(\"Parent\")) {\n        (0, _util.warn)(\"Unknown field name, falling back to empty field name.\");\n        return \"\";\n      }\n\n      if (!dict.has(\"Parent\")) {\n        return (0, _util.stringToPDFString)(dict.get(\"T\"));\n      }\n\n      var fieldName = [];\n\n      if (dict.has(\"T\")) {\n        fieldName.unshift((0, _util.stringToPDFString)(dict.get(\"T\")));\n      }\n\n      var loopDict = dict;\n\n      while (loopDict.has(\"Parent\")) {\n        loopDict = loopDict.get(\"Parent\");\n\n        if (!(0, _primitives.isDict)(loopDict)) {\n          break;\n        }\n\n        if (loopDict.has(\"T\")) {\n          fieldName.unshift((0, _util.stringToPDFString)(loopDict.get(\"T\")));\n        }\n      }\n\n      return fieldName.join(\".\");\n    }\n  }, {\n    key: \"hasFieldFlag\",\n    value: function hasFieldFlag(flag) {\n      return !!(this.data.fieldFlags & flag);\n    }\n  }, {\n    key: \"getOperatorList\",\n    value: function getOperatorList(evaluator, task, renderForms) {\n      if (renderForms) {\n        return Promise.resolve(new _operator_list.OperatorList());\n      }\n\n      return _get(_getPrototypeOf(WidgetAnnotation.prototype), \"getOperatorList\", this).call(this, evaluator, task, renderForms);\n    }\n  }]);\n\n  return WidgetAnnotation;\n}(Annotation);\n\nvar TextWidgetAnnotation = /*#__PURE__*/function (_WidgetAnnotation) {\n  _inherits(TextWidgetAnnotation, _WidgetAnnotation);\n\n  var _super3 = _createSuper(TextWidgetAnnotation);\n\n  function TextWidgetAnnotation(params) {\n    var _this4;\n\n    _classCallCheck(this, TextWidgetAnnotation);\n\n    _this4 = _super3.call(this, params);\n    var dict = params.dict;\n    _this4.data.fieldValue = (0, _util.stringToPDFString)(_this4.data.fieldValue || \"\");\n    var alignment = (0, _core_utils.getInheritableProperty)({\n      dict: dict,\n      key: \"Q\"\n    });\n\n    if (!Number.isInteger(alignment) || alignment < 0 || alignment > 2) {\n      alignment = null;\n    }\n\n    _this4.data.textAlignment = alignment;\n    var maximumLength = (0, _core_utils.getInheritableProperty)({\n      dict: dict,\n      key: \"MaxLen\"\n    });\n\n    if (!Number.isInteger(maximumLength) || maximumLength < 0) {\n      maximumLength = null;\n    }\n\n    _this4.data.maxLen = maximumLength;\n    _this4.data.multiLine = _this4.hasFieldFlag(_util.AnnotationFieldFlag.MULTILINE);\n    _this4.data.comb = _this4.hasFieldFlag(_util.AnnotationFieldFlag.COMB) && !_this4.hasFieldFlag(_util.AnnotationFieldFlag.MULTILINE) && !_this4.hasFieldFlag(_util.AnnotationFieldFlag.PASSWORD) && !_this4.hasFieldFlag(_util.AnnotationFieldFlag.FILESELECT) && _this4.data.maxLen !== null;\n    return _this4;\n  }\n\n  _createClass(TextWidgetAnnotation, [{\n    key: \"getOperatorList\",\n    value: function getOperatorList(evaluator, task, renderForms) {\n      if (renderForms || this.appearance) {\n        return _get(_getPrototypeOf(TextWidgetAnnotation.prototype), \"getOperatorList\", this).call(this, evaluator, task, renderForms);\n      }\n\n      var operatorList = new _operator_list.OperatorList();\n\n      if (!this.data.defaultAppearance) {\n        return Promise.resolve(operatorList);\n      }\n\n      var stream = new _stream.Stream((0, _util.stringToBytes)(this.data.defaultAppearance));\n      return evaluator.getOperatorList({\n        stream: stream,\n        task: task,\n        resources: this.fieldResources,\n        operatorList: operatorList\n      }).then(function () {\n        return operatorList;\n      });\n    }\n  }]);\n\n  return TextWidgetAnnotation;\n}(WidgetAnnotation);\n\nvar ButtonWidgetAnnotation = /*#__PURE__*/function (_WidgetAnnotation2) {\n  _inherits(ButtonWidgetAnnotation, _WidgetAnnotation2);\n\n  var _super4 = _createSuper(ButtonWidgetAnnotation);\n\n  function ButtonWidgetAnnotation(params) {\n    var _this5;\n\n    _classCallCheck(this, ButtonWidgetAnnotation);\n\n    _this5 = _super4.call(this, params);\n    _this5.data.checkBox = !_this5.hasFieldFlag(_util.AnnotationFieldFlag.RADIO) && !_this5.hasFieldFlag(_util.AnnotationFieldFlag.PUSHBUTTON);\n    _this5.data.radioButton = _this5.hasFieldFlag(_util.AnnotationFieldFlag.RADIO) && !_this5.hasFieldFlag(_util.AnnotationFieldFlag.PUSHBUTTON);\n    _this5.data.pushButton = _this5.hasFieldFlag(_util.AnnotationFieldFlag.PUSHBUTTON);\n\n    if (_this5.data.checkBox) {\n      _this5._processCheckBox(params);\n    } else if (_this5.data.radioButton) {\n      _this5._processRadioButton(params);\n    } else if (_this5.data.pushButton) {\n      _this5._processPushButton(params);\n    } else {\n      (0, _util.warn)(\"Invalid field flags for button widget annotation\");\n    }\n\n    return _this5;\n  }\n\n  _createClass(ButtonWidgetAnnotation, [{\n    key: \"_processCheckBox\",\n    value: function _processCheckBox(params) {\n      if ((0, _primitives.isName)(this.data.fieldValue)) {\n        this.data.fieldValue = this.data.fieldValue.name;\n      }\n\n      var customAppearance = params.dict.get(\"AP\");\n\n      if (!(0, _primitives.isDict)(customAppearance)) {\n        return;\n      }\n\n      var exportValueOptionsDict = customAppearance.get(\"D\");\n\n      if (!(0, _primitives.isDict)(exportValueOptionsDict)) {\n        return;\n      }\n\n      var exportValues = exportValueOptionsDict.getKeys();\n      var hasCorrectOptionCount = exportValues.length === 2;\n\n      if (!hasCorrectOptionCount) {\n        return;\n      }\n\n      this.data.exportValue = exportValues[0] === \"Off\" ? exportValues[1] : exportValues[0];\n    }\n  }, {\n    key: \"_processRadioButton\",\n    value: function _processRadioButton(params) {\n      this.data.fieldValue = this.data.buttonValue = null;\n      var fieldParent = params.dict.get(\"Parent\");\n\n      if ((0, _primitives.isDict)(fieldParent) && fieldParent.has(\"V\")) {\n        var fieldParentValue = fieldParent.get(\"V\");\n\n        if ((0, _primitives.isName)(fieldParentValue)) {\n          this.data.fieldValue = fieldParentValue.name;\n        }\n      }\n\n      var appearanceStates = params.dict.get(\"AP\");\n\n      if (!(0, _primitives.isDict)(appearanceStates)) {\n        return;\n      }\n\n      var normalAppearanceState = appearanceStates.get(\"N\");\n\n      if (!(0, _primitives.isDict)(normalAppearanceState)) {\n        return;\n      }\n\n      var _iterator2 = _createForOfIteratorHelper(normalAppearanceState.getKeys()),\n          _step2;\n\n      try {\n        for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n          var key = _step2.value;\n\n          if (key !== \"Off\") {\n            this.data.buttonValue = key;\n            break;\n          }\n        }\n      } catch (err) {\n        _iterator2.e(err);\n      } finally {\n        _iterator2.f();\n      }\n    }\n  }, {\n    key: \"_processPushButton\",\n    value: function _processPushButton(params) {\n      if (!params.dict.has(\"A\")) {\n        (0, _util.warn)(\"Push buttons without action dictionaries are not supported\");\n        return;\n      }\n\n      _obj.Catalog.parseDestDictionary({\n        destDict: params.dict,\n        resultObj: this.data,\n        docBaseUrl: params.pdfManager.docBaseUrl\n      });\n    }\n  }]);\n\n  return ButtonWidgetAnnotation;\n}(WidgetAnnotation);\n\nvar ChoiceWidgetAnnotation = /*#__PURE__*/function (_WidgetAnnotation3) {\n  _inherits(ChoiceWidgetAnnotation, _WidgetAnnotation3);\n\n  var _super5 = _createSuper(ChoiceWidgetAnnotation);\n\n  function ChoiceWidgetAnnotation(params) {\n    var _this6;\n\n    _classCallCheck(this, ChoiceWidgetAnnotation);\n\n    _this6 = _super5.call(this, params);\n    _this6.data.options = [];\n    var options = (0, _core_utils.getInheritableProperty)({\n      dict: params.dict,\n      key: \"Opt\"\n    });\n\n    if (Array.isArray(options)) {\n      var xref = params.xref;\n\n      for (var i = 0, ii = options.length; i < ii; i++) {\n        var option = xref.fetchIfRef(options[i]);\n        var isOptionArray = Array.isArray(option);\n        _this6.data.options[i] = {\n          exportValue: isOptionArray ? xref.fetchIfRef(option[0]) : option,\n          displayValue: (0, _util.stringToPDFString)(isOptionArray ? xref.fetchIfRef(option[1]) : option)\n        };\n      }\n    }\n\n    if (!Array.isArray(_this6.data.fieldValue)) {\n      _this6.data.fieldValue = [_this6.data.fieldValue];\n    }\n\n    _this6.data.combo = _this6.hasFieldFlag(_util.AnnotationFieldFlag.COMBO);\n    _this6.data.multiSelect = _this6.hasFieldFlag(_util.AnnotationFieldFlag.MULTISELECT);\n    return _this6;\n  }\n\n  return ChoiceWidgetAnnotation;\n}(WidgetAnnotation);\n\nvar TextAnnotation = /*#__PURE__*/function (_MarkupAnnotation) {\n  _inherits(TextAnnotation, _MarkupAnnotation);\n\n  var _super6 = _createSuper(TextAnnotation);\n\n  function TextAnnotation(parameters) {\n    var _this7;\n\n    _classCallCheck(this, TextAnnotation);\n\n    var DEFAULT_ICON_SIZE = 22;\n    _this7 = _super6.call(this, parameters);\n    var dict = parameters.dict;\n    _this7.data.annotationType = _util.AnnotationType.TEXT;\n\n    if (_this7.data.hasAppearance) {\n      _this7.data.name = \"NoIcon\";\n    } else {\n      _this7.data.rect[1] = _this7.data.rect[3] - DEFAULT_ICON_SIZE;\n      _this7.data.rect[2] = _this7.data.rect[0] + DEFAULT_ICON_SIZE;\n      _this7.data.name = dict.has(\"Name\") ? dict.get(\"Name\").name : \"Note\";\n    }\n\n    if (dict.has(\"State\")) {\n      _this7.data.state = dict.get(\"State\") || null;\n      _this7.data.stateModel = dict.get(\"StateModel\") || null;\n    } else {\n      _this7.data.state = null;\n      _this7.data.stateModel = null;\n    }\n\n    return _this7;\n  }\n\n  return TextAnnotation;\n}(MarkupAnnotation);\n\nvar LinkAnnotation = /*#__PURE__*/function (_Annotation3) {\n  _inherits(LinkAnnotation, _Annotation3);\n\n  var _super7 = _createSuper(LinkAnnotation);\n\n  function LinkAnnotation(params) {\n    var _this8;\n\n    _classCallCheck(this, LinkAnnotation);\n\n    _this8 = _super7.call(this, params);\n    _this8.data.annotationType = _util.AnnotationType.LINK;\n    var quadPoints = getQuadPoints(params.dict, _this8.rectangle);\n\n    if (quadPoints) {\n      _this8.data.quadPoints = quadPoints;\n    }\n\n    _obj.Catalog.parseDestDictionary({\n      destDict: params.dict,\n      resultObj: _this8.data,\n      docBaseUrl: params.pdfManager.docBaseUrl\n    });\n\n    return _this8;\n  }\n\n  return LinkAnnotation;\n}(Annotation);\n\nvar PopupAnnotation = /*#__PURE__*/function (_Annotation4) {\n  _inherits(PopupAnnotation, _Annotation4);\n\n  var _super8 = _createSuper(PopupAnnotation);\n\n  function PopupAnnotation(parameters) {\n    var _this9;\n\n    _classCallCheck(this, PopupAnnotation);\n\n    _this9 = _super8.call(this, parameters);\n    _this9.data.annotationType = _util.AnnotationType.POPUP;\n    var parentItem = parameters.dict.get(\"Parent\");\n\n    if (!parentItem) {\n      (0, _util.warn)(\"Popup annotation has a missing or invalid parent annotation.\");\n      return _possibleConstructorReturn(_this9);\n    }\n\n    var parentSubtype = parentItem.get(\"Subtype\");\n    _this9.data.parentType = (0, _primitives.isName)(parentSubtype) ? parentSubtype.name : null;\n    var rawParent = parameters.dict.getRaw(\"Parent\");\n    _this9.data.parentId = (0, _primitives.isRef)(rawParent) ? rawParent.toString() : null;\n    var rt = parentItem.get(\"RT\");\n\n    if ((0, _primitives.isName)(rt, _util.AnnotationReplyType.GROUP)) {\n      parentItem = parentItem.get(\"IRT\");\n    }\n\n    if (!parentItem.has(\"M\")) {\n      _this9.data.modificationDate = null;\n    } else {\n      _this9.setModificationDate(parentItem.get(\"M\"));\n\n      _this9.data.modificationDate = _this9.modificationDate;\n    }\n\n    if (!parentItem.has(\"C\")) {\n      _this9.data.color = null;\n    } else {\n      _this9.setColor(parentItem.getArray(\"C\"));\n\n      _this9.data.color = _this9.color;\n    }\n\n    if (!_this9.viewable) {\n      var parentFlags = parentItem.get(\"F\");\n\n      if (_this9._isViewable(parentFlags)) {\n        _this9.setFlags(parentFlags);\n      }\n    }\n\n    _this9.data.title = (0, _util.stringToPDFString)(parentItem.get(\"T\") || \"\");\n    _this9.data.contents = (0, _util.stringToPDFString)(parentItem.get(\"Contents\") || \"\");\n    return _this9;\n  }\n\n  return PopupAnnotation;\n}(Annotation);\n\nvar FreeTextAnnotation = /*#__PURE__*/function (_MarkupAnnotation2) {\n  _inherits(FreeTextAnnotation, _MarkupAnnotation2);\n\n  var _super9 = _createSuper(FreeTextAnnotation);\n\n  function FreeTextAnnotation(parameters) {\n    var _this10;\n\n    _classCallCheck(this, FreeTextAnnotation);\n\n    _this10 = _super9.call(this, parameters);\n    _this10.data.annotationType = _util.AnnotationType.FREETEXT;\n    return _this10;\n  }\n\n  return FreeTextAnnotation;\n}(MarkupAnnotation);\n\nvar LineAnnotation = /*#__PURE__*/function (_MarkupAnnotation3) {\n  _inherits(LineAnnotation, _MarkupAnnotation3);\n\n  var _super10 = _createSuper(LineAnnotation);\n\n  function LineAnnotation(parameters) {\n    var _this11;\n\n    _classCallCheck(this, LineAnnotation);\n\n    _this11 = _super10.call(this, parameters);\n    _this11.data.annotationType = _util.AnnotationType.LINE;\n    _this11.data.lineCoordinates = _util.Util.normalizeRect(parameters.dict.getArray(\"L\"));\n    return _this11;\n  }\n\n  return LineAnnotation;\n}(MarkupAnnotation);\n\nvar SquareAnnotation = /*#__PURE__*/function (_MarkupAnnotation4) {\n  _inherits(SquareAnnotation, _MarkupAnnotation4);\n\n  var _super11 = _createSuper(SquareAnnotation);\n\n  function SquareAnnotation(parameters) {\n    var _this12;\n\n    _classCallCheck(this, SquareAnnotation);\n\n    _this12 = _super11.call(this, parameters);\n    _this12.data.annotationType = _util.AnnotationType.SQUARE;\n    return _this12;\n  }\n\n  return SquareAnnotation;\n}(MarkupAnnotation);\n\nvar CircleAnnotation = /*#__PURE__*/function (_MarkupAnnotation5) {\n  _inherits(CircleAnnotation, _MarkupAnnotation5);\n\n  var _super12 = _createSuper(CircleAnnotation);\n\n  function CircleAnnotation(parameters) {\n    var _this13;\n\n    _classCallCheck(this, CircleAnnotation);\n\n    _this13 = _super12.call(this, parameters);\n    _this13.data.annotationType = _util.AnnotationType.CIRCLE;\n    return _this13;\n  }\n\n  return CircleAnnotation;\n}(MarkupAnnotation);\n\nvar PolylineAnnotation = /*#__PURE__*/function (_MarkupAnnotation6) {\n  _inherits(PolylineAnnotation, _MarkupAnnotation6);\n\n  var _super13 = _createSuper(PolylineAnnotation);\n\n  function PolylineAnnotation(parameters) {\n    var _this14;\n\n    _classCallCheck(this, PolylineAnnotation);\n\n    _this14 = _super13.call(this, parameters);\n    _this14.data.annotationType = _util.AnnotationType.POLYLINE;\n    var rawVertices = parameters.dict.getArray(\"Vertices\");\n    _this14.data.vertices = [];\n\n    for (var i = 0, ii = rawVertices.length; i < ii; i += 2) {\n      _this14.data.vertices.push({\n        x: rawVertices[i],\n        y: rawVertices[i + 1]\n      });\n    }\n\n    return _this14;\n  }\n\n  return PolylineAnnotation;\n}(MarkupAnnotation);\n\nvar PolygonAnnotation = /*#__PURE__*/function (_PolylineAnnotation) {\n  _inherits(PolygonAnnotation, _PolylineAnnotation);\n\n  var _super14 = _createSuper(PolygonAnnotation);\n\n  function PolygonAnnotation(parameters) {\n    var _this15;\n\n    _classCallCheck(this, PolygonAnnotation);\n\n    _this15 = _super14.call(this, parameters);\n    _this15.data.annotationType = _util.AnnotationType.POLYGON;\n    return _this15;\n  }\n\n  return PolygonAnnotation;\n}(PolylineAnnotation);\n\nvar CaretAnnotation = /*#__PURE__*/function (_MarkupAnnotation7) {\n  _inherits(CaretAnnotation, _MarkupAnnotation7);\n\n  var _super15 = _createSuper(CaretAnnotation);\n\n  function CaretAnnotation(parameters) {\n    var _this16;\n\n    _classCallCheck(this, CaretAnnotation);\n\n    _this16 = _super15.call(this, parameters);\n    _this16.data.annotationType = _util.AnnotationType.CARET;\n    return _this16;\n  }\n\n  return CaretAnnotation;\n}(MarkupAnnotation);\n\nvar InkAnnotation = /*#__PURE__*/function (_MarkupAnnotation8) {\n  _inherits(InkAnnotation, _MarkupAnnotation8);\n\n  var _super16 = _createSuper(InkAnnotation);\n\n  function InkAnnotation(parameters) {\n    var _this17;\n\n    _classCallCheck(this, InkAnnotation);\n\n    _this17 = _super16.call(this, parameters);\n    _this17.data.annotationType = _util.AnnotationType.INK;\n    var xref = parameters.xref;\n    var originalInkLists = parameters.dict.getArray(\"InkList\");\n    _this17.data.inkLists = [];\n\n    for (var i = 0, ii = originalInkLists.length; i < ii; ++i) {\n      _this17.data.inkLists.push([]);\n\n      for (var j = 0, jj = originalInkLists[i].length; j < jj; j += 2) {\n        _this17.data.inkLists[i].push({\n          x: xref.fetchIfRef(originalInkLists[i][j]),\n          y: xref.fetchIfRef(originalInkLists[i][j + 1])\n        });\n      }\n    }\n\n    return _this17;\n  }\n\n  return InkAnnotation;\n}(MarkupAnnotation);\n\nvar HighlightAnnotation = /*#__PURE__*/function (_MarkupAnnotation9) {\n  _inherits(HighlightAnnotation, _MarkupAnnotation9);\n\n  var _super17 = _createSuper(HighlightAnnotation);\n\n  function HighlightAnnotation(parameters) {\n    var _this18;\n\n    _classCallCheck(this, HighlightAnnotation);\n\n    _this18 = _super17.call(this, parameters);\n    _this18.data.annotationType = _util.AnnotationType.HIGHLIGHT;\n    var quadPoints = getQuadPoints(parameters.dict, _this18.rectangle);\n\n    if (quadPoints) {\n      _this18.data.quadPoints = quadPoints;\n    }\n\n    return _this18;\n  }\n\n  return HighlightAnnotation;\n}(MarkupAnnotation);\n\nvar UnderlineAnnotation = /*#__PURE__*/function (_MarkupAnnotation10) {\n  _inherits(UnderlineAnnotation, _MarkupAnnotation10);\n\n  var _super18 = _createSuper(UnderlineAnnotation);\n\n  function UnderlineAnnotation(parameters) {\n    var _this19;\n\n    _classCallCheck(this, UnderlineAnnotation);\n\n    _this19 = _super18.call(this, parameters);\n    _this19.data.annotationType = _util.AnnotationType.UNDERLINE;\n    var quadPoints = getQuadPoints(parameters.dict, _this19.rectangle);\n\n    if (quadPoints) {\n      _this19.data.quadPoints = quadPoints;\n    }\n\n    return _this19;\n  }\n\n  return UnderlineAnnotation;\n}(MarkupAnnotation);\n\nvar SquigglyAnnotation = /*#__PURE__*/function (_MarkupAnnotation11) {\n  _inherits(SquigglyAnnotation, _MarkupAnnotation11);\n\n  var _super19 = _createSuper(SquigglyAnnotation);\n\n  function SquigglyAnnotation(parameters) {\n    var _this20;\n\n    _classCallCheck(this, SquigglyAnnotation);\n\n    _this20 = _super19.call(this, parameters);\n    _this20.data.annotationType = _util.AnnotationType.SQUIGGLY;\n    var quadPoints = getQuadPoints(parameters.dict, _this20.rectangle);\n\n    if (quadPoints) {\n      _this20.data.quadPoints = quadPoints;\n    }\n\n    return _this20;\n  }\n\n  return SquigglyAnnotation;\n}(MarkupAnnotation);\n\nvar StrikeOutAnnotation = /*#__PURE__*/function (_MarkupAnnotation12) {\n  _inherits(StrikeOutAnnotation, _MarkupAnnotation12);\n\n  var _super20 = _createSuper(StrikeOutAnnotation);\n\n  function StrikeOutAnnotation(parameters) {\n    var _this21;\n\n    _classCallCheck(this, StrikeOutAnnotation);\n\n    _this21 = _super20.call(this, parameters);\n    _this21.data.annotationType = _util.AnnotationType.STRIKEOUT;\n    var quadPoints = getQuadPoints(parameters.dict, _this21.rectangle);\n\n    if (quadPoints) {\n      _this21.data.quadPoints = quadPoints;\n    }\n\n    return _this21;\n  }\n\n  return StrikeOutAnnotation;\n}(MarkupAnnotation);\n\nvar StampAnnotation = /*#__PURE__*/function (_MarkupAnnotation13) {\n  _inherits(StampAnnotation, _MarkupAnnotation13);\n\n  var _super21 = _createSuper(StampAnnotation);\n\n  function StampAnnotation(parameters) {\n    var _this22;\n\n    _classCallCheck(this, StampAnnotation);\n\n    _this22 = _super21.call(this, parameters);\n    _this22.data.annotationType = _util.AnnotationType.STAMP;\n    return _this22;\n  }\n\n  return StampAnnotation;\n}(MarkupAnnotation);\n\nvar FileAttachmentAnnotation = /*#__PURE__*/function (_MarkupAnnotation14) {\n  _inherits(FileAttachmentAnnotation, _MarkupAnnotation14);\n\n  var _super22 = _createSuper(FileAttachmentAnnotation);\n\n  function FileAttachmentAnnotation(parameters) {\n    var _this23;\n\n    _classCallCheck(this, FileAttachmentAnnotation);\n\n    _this23 = _super22.call(this, parameters);\n    var file = new _obj.FileSpec(parameters.dict.get(\"FS\"), parameters.xref);\n    _this23.data.annotationType = _util.AnnotationType.FILEATTACHMENT;\n    _this23.data.file = file.serializable;\n    return _this23;\n  }\n\n  return FileAttachmentAnnotation;\n}(MarkupAnnotation);\n\n/***/ }),\n/* 219 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.OperatorList = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar QueueOptimizer = function QueueOptimizerClosure() {\n  function addState(parentState, pattern, checkFn, iterateFn, processFn) {\n    var state = parentState;\n\n    for (var i = 0, ii = pattern.length - 1; i < ii; i++) {\n      var item = pattern[i];\n      state = state[item] || (state[item] = []);\n    }\n\n    state[pattern[pattern.length - 1]] = {\n      checkFn: checkFn,\n      iterateFn: iterateFn,\n      processFn: processFn\n    };\n  }\n\n  function handlePaintSolidColorImageMask(iFirstSave, count, fnArray, argsArray) {\n    var iFirstPIMXO = iFirstSave + 2;\n\n    for (var i = 0; i < count; i++) {\n      var arg = argsArray[iFirstPIMXO + 4 * i];\n      var imageMask = arg.length === 1 && arg[0];\n\n      if (imageMask && imageMask.width === 1 && imageMask.height === 1 && (!imageMask.data.length || imageMask.data.length === 1 && imageMask.data[0] === 0)) {\n        fnArray[iFirstPIMXO + 4 * i] = _util.OPS.paintSolidColorImageMask;\n        continue;\n      }\n\n      break;\n    }\n\n    return count - i;\n  }\n\n  var InitialState = [];\n  addState(InitialState, [_util.OPS.save, _util.OPS.transform, _util.OPS.paintInlineImageXObject, _util.OPS.restore], null, function iterateInlineImageGroup(context, i) {\n    var fnArray = context.fnArray;\n    var iFirstSave = context.iCurr - 3;\n    var pos = (i - iFirstSave) % 4;\n\n    switch (pos) {\n      case 0:\n        return fnArray[i] === _util.OPS.save;\n\n      case 1:\n        return fnArray[i] === _util.OPS.transform;\n\n      case 2:\n        return fnArray[i] === _util.OPS.paintInlineImageXObject;\n\n      case 3:\n        return fnArray[i] === _util.OPS.restore;\n    }\n\n    throw new Error(\"iterateInlineImageGroup - invalid pos: \".concat(pos));\n  }, function foundInlineImageGroup(context, i) {\n    var MIN_IMAGES_IN_INLINE_IMAGES_BLOCK = 10;\n    var MAX_IMAGES_IN_INLINE_IMAGES_BLOCK = 200;\n    var MAX_WIDTH = 1000;\n    var IMAGE_PADDING = 1;\n    var fnArray = context.fnArray,\n        argsArray = context.argsArray;\n    var curr = context.iCurr;\n    var iFirstSave = curr - 3;\n    var iFirstTransform = curr - 2;\n    var iFirstPIIXO = curr - 1;\n    var count = Math.min(Math.floor((i - iFirstSave) / 4), MAX_IMAGES_IN_INLINE_IMAGES_BLOCK);\n\n    if (count < MIN_IMAGES_IN_INLINE_IMAGES_BLOCK) {\n      return i - (i - iFirstSave) % 4;\n    }\n\n    var maxX = 0;\n    var map = [],\n        maxLineHeight = 0;\n    var currentX = IMAGE_PADDING,\n        currentY = IMAGE_PADDING;\n    var q;\n\n    for (q = 0; q < count; q++) {\n      var transform = argsArray[iFirstTransform + (q << 2)];\n      var img = argsArray[iFirstPIIXO + (q << 2)][0];\n\n      if (currentX + img.width > MAX_WIDTH) {\n        maxX = Math.max(maxX, currentX);\n        currentY += maxLineHeight + 2 * IMAGE_PADDING;\n        currentX = 0;\n        maxLineHeight = 0;\n      }\n\n      map.push({\n        transform: transform,\n        x: currentX,\n        y: currentY,\n        w: img.width,\n        h: img.height\n      });\n      currentX += img.width + 2 * IMAGE_PADDING;\n      maxLineHeight = Math.max(maxLineHeight, img.height);\n    }\n\n    var imgWidth = Math.max(maxX, currentX) + IMAGE_PADDING;\n    var imgHeight = currentY + maxLineHeight + IMAGE_PADDING;\n    var imgData = new Uint8ClampedArray(imgWidth * imgHeight * 4);\n    var imgRowSize = imgWidth << 2;\n\n    for (q = 0; q < count; q++) {\n      var data = argsArray[iFirstPIIXO + (q << 2)][0].data;\n      var rowSize = map[q].w << 2;\n      var dataOffset = 0;\n      var offset = map[q].x + map[q].y * imgWidth << 2;\n      imgData.set(data.subarray(0, rowSize), offset - imgRowSize);\n\n      for (var k = 0, kk = map[q].h; k < kk; k++) {\n        imgData.set(data.subarray(dataOffset, dataOffset + rowSize), offset);\n        dataOffset += rowSize;\n        offset += imgRowSize;\n      }\n\n      imgData.set(data.subarray(dataOffset - rowSize, dataOffset), offset);\n\n      while (offset >= 0) {\n        data[offset - 4] = data[offset];\n        data[offset - 3] = data[offset + 1];\n        data[offset - 2] = data[offset + 2];\n        data[offset - 1] = data[offset + 3];\n        data[offset + rowSize] = data[offset + rowSize - 4];\n        data[offset + rowSize + 1] = data[offset + rowSize - 3];\n        data[offset + rowSize + 2] = data[offset + rowSize - 2];\n        data[offset + rowSize + 3] = data[offset + rowSize - 1];\n        offset -= imgRowSize;\n      }\n    }\n\n    fnArray.splice(iFirstSave, count * 4, _util.OPS.paintInlineImageXObjectGroup);\n    argsArray.splice(iFirstSave, count * 4, [{\n      width: imgWidth,\n      height: imgHeight,\n      kind: _util.ImageKind.RGBA_32BPP,\n      data: imgData\n    }, map]);\n    return iFirstSave + 1;\n  });\n  addState(InitialState, [_util.OPS.save, _util.OPS.transform, _util.OPS.paintImageMaskXObject, _util.OPS.restore], null, function iterateImageMaskGroup(context, i) {\n    var fnArray = context.fnArray;\n    var iFirstSave = context.iCurr - 3;\n    var pos = (i - iFirstSave) % 4;\n\n    switch (pos) {\n      case 0:\n        return fnArray[i] === _util.OPS.save;\n\n      case 1:\n        return fnArray[i] === _util.OPS.transform;\n\n      case 2:\n        return fnArray[i] === _util.OPS.paintImageMaskXObject;\n\n      case 3:\n        return fnArray[i] === _util.OPS.restore;\n    }\n\n    throw new Error(\"iterateImageMaskGroup - invalid pos: \".concat(pos));\n  }, function foundImageMaskGroup(context, i) {\n    var MIN_IMAGES_IN_MASKS_BLOCK = 10;\n    var MAX_IMAGES_IN_MASKS_BLOCK = 100;\n    var MAX_SAME_IMAGES_IN_MASKS_BLOCK = 1000;\n    var fnArray = context.fnArray,\n        argsArray = context.argsArray;\n    var curr = context.iCurr;\n    var iFirstSave = curr - 3;\n    var iFirstTransform = curr - 2;\n    var iFirstPIMXO = curr - 1;\n    var count = Math.floor((i - iFirstSave) / 4);\n    count = handlePaintSolidColorImageMask(iFirstSave, count, fnArray, argsArray);\n\n    if (count < MIN_IMAGES_IN_MASKS_BLOCK) {\n      return i - (i - iFirstSave) % 4;\n    }\n\n    var q;\n    var isSameImage = false;\n    var iTransform, transformArgs;\n    var firstPIMXOArg0 = argsArray[iFirstPIMXO][0];\n\n    if (argsArray[iFirstTransform][1] === 0 && argsArray[iFirstTransform][2] === 0) {\n      isSameImage = true;\n      var firstTransformArg0 = argsArray[iFirstTransform][0];\n      var firstTransformArg3 = argsArray[iFirstTransform][3];\n      iTransform = iFirstTransform + 4;\n      var iPIMXO = iFirstPIMXO + 4;\n\n      for (q = 1; q < count; q++, iTransform += 4, iPIMXO += 4) {\n        transformArgs = argsArray[iTransform];\n\n        if (argsArray[iPIMXO][0] !== firstPIMXOArg0 || transformArgs[0] !== firstTransformArg0 || transformArgs[1] !== 0 || transformArgs[2] !== 0 || transformArgs[3] !== firstTransformArg3) {\n          if (q < MIN_IMAGES_IN_MASKS_BLOCK) {\n            isSameImage = false;\n          } else {\n            count = q;\n          }\n\n          break;\n        }\n      }\n    }\n\n    if (isSameImage) {\n      count = Math.min(count, MAX_SAME_IMAGES_IN_MASKS_BLOCK);\n      var positions = new Float32Array(count * 2);\n      iTransform = iFirstTransform;\n\n      for (q = 0; q < count; q++, iTransform += 4) {\n        transformArgs = argsArray[iTransform];\n        positions[q << 1] = transformArgs[4];\n        positions[(q << 1) + 1] = transformArgs[5];\n      }\n\n      fnArray.splice(iFirstSave, count * 4, _util.OPS.paintImageMaskXObjectRepeat);\n      argsArray.splice(iFirstSave, count * 4, [firstPIMXOArg0, firstTransformArg0, firstTransformArg3, positions]);\n    } else {\n      count = Math.min(count, MAX_IMAGES_IN_MASKS_BLOCK);\n      var images = [];\n\n      for (q = 0; q < count; q++) {\n        transformArgs = argsArray[iFirstTransform + (q << 2)];\n        var maskParams = argsArray[iFirstPIMXO + (q << 2)][0];\n        images.push({\n          data: maskParams.data,\n          width: maskParams.width,\n          height: maskParams.height,\n          transform: transformArgs\n        });\n      }\n\n      fnArray.splice(iFirstSave, count * 4, _util.OPS.paintImageMaskXObjectGroup);\n      argsArray.splice(iFirstSave, count * 4, [images]);\n    }\n\n    return iFirstSave + 1;\n  });\n  addState(InitialState, [_util.OPS.save, _util.OPS.transform, _util.OPS.paintImageXObject, _util.OPS.restore], function (context) {\n    var argsArray = context.argsArray;\n    var iFirstTransform = context.iCurr - 2;\n    return argsArray[iFirstTransform][1] === 0 && argsArray[iFirstTransform][2] === 0;\n  }, function iterateImageGroup(context, i) {\n    var fnArray = context.fnArray,\n        argsArray = context.argsArray;\n    var iFirstSave = context.iCurr - 3;\n    var pos = (i - iFirstSave) % 4;\n\n    switch (pos) {\n      case 0:\n        return fnArray[i] === _util.OPS.save;\n\n      case 1:\n        if (fnArray[i] !== _util.OPS.transform) {\n          return false;\n        }\n\n        var iFirstTransform = context.iCurr - 2;\n        var firstTransformArg0 = argsArray[iFirstTransform][0];\n        var firstTransformArg3 = argsArray[iFirstTransform][3];\n\n        if (argsArray[i][0] !== firstTransformArg0 || argsArray[i][1] !== 0 || argsArray[i][2] !== 0 || argsArray[i][3] !== firstTransformArg3) {\n          return false;\n        }\n\n        return true;\n\n      case 2:\n        if (fnArray[i] !== _util.OPS.paintImageXObject) {\n          return false;\n        }\n\n        var iFirstPIXO = context.iCurr - 1;\n        var firstPIXOArg0 = argsArray[iFirstPIXO][0];\n\n        if (argsArray[i][0] !== firstPIXOArg0) {\n          return false;\n        }\n\n        return true;\n\n      case 3:\n        return fnArray[i] === _util.OPS.restore;\n    }\n\n    throw new Error(\"iterateImageGroup - invalid pos: \".concat(pos));\n  }, function (context, i) {\n    var MIN_IMAGES_IN_BLOCK = 3;\n    var MAX_IMAGES_IN_BLOCK = 1000;\n    var fnArray = context.fnArray,\n        argsArray = context.argsArray;\n    var curr = context.iCurr;\n    var iFirstSave = curr - 3;\n    var iFirstTransform = curr - 2;\n    var iFirstPIXO = curr - 1;\n    var firstPIXOArg0 = argsArray[iFirstPIXO][0];\n    var firstTransformArg0 = argsArray[iFirstTransform][0];\n    var firstTransformArg3 = argsArray[iFirstTransform][3];\n    var count = Math.min(Math.floor((i - iFirstSave) / 4), MAX_IMAGES_IN_BLOCK);\n\n    if (count < MIN_IMAGES_IN_BLOCK) {\n      return i - (i - iFirstSave) % 4;\n    }\n\n    var positions = new Float32Array(count * 2);\n    var iTransform = iFirstTransform;\n\n    for (var q = 0; q < count; q++, iTransform += 4) {\n      var transformArgs = argsArray[iTransform];\n      positions[q << 1] = transformArgs[4];\n      positions[(q << 1) + 1] = transformArgs[5];\n    }\n\n    var args = [firstPIXOArg0, firstTransformArg0, firstTransformArg3, positions];\n    fnArray.splice(iFirstSave, count * 4, _util.OPS.paintImageXObjectRepeat);\n    argsArray.splice(iFirstSave, count * 4, args);\n    return iFirstSave + 1;\n  });\n  addState(InitialState, [_util.OPS.beginText, _util.OPS.setFont, _util.OPS.setTextMatrix, _util.OPS.showText, _util.OPS.endText], null, function iterateShowTextGroup(context, i) {\n    var fnArray = context.fnArray,\n        argsArray = context.argsArray;\n    var iFirstSave = context.iCurr - 4;\n    var pos = (i - iFirstSave) % 5;\n\n    switch (pos) {\n      case 0:\n        return fnArray[i] === _util.OPS.beginText;\n\n      case 1:\n        return fnArray[i] === _util.OPS.setFont;\n\n      case 2:\n        return fnArray[i] === _util.OPS.setTextMatrix;\n\n      case 3:\n        if (fnArray[i] !== _util.OPS.showText) {\n          return false;\n        }\n\n        var iFirstSetFont = context.iCurr - 3;\n        var firstSetFontArg0 = argsArray[iFirstSetFont][0];\n        var firstSetFontArg1 = argsArray[iFirstSetFont][1];\n\n        if (argsArray[i][0] !== firstSetFontArg0 || argsArray[i][1] !== firstSetFontArg1) {\n          return false;\n        }\n\n        return true;\n\n      case 4:\n        return fnArray[i] === _util.OPS.endText;\n    }\n\n    throw new Error(\"iterateShowTextGroup - invalid pos: \".concat(pos));\n  }, function (context, i) {\n    var MIN_CHARS_IN_BLOCK = 3;\n    var MAX_CHARS_IN_BLOCK = 1000;\n    var fnArray = context.fnArray,\n        argsArray = context.argsArray;\n    var curr = context.iCurr;\n    var iFirstBeginText = curr - 4;\n    var iFirstSetFont = curr - 3;\n    var iFirstSetTextMatrix = curr - 2;\n    var iFirstShowText = curr - 1;\n    var iFirstEndText = curr;\n    var firstSetFontArg0 = argsArray[iFirstSetFont][0];\n    var firstSetFontArg1 = argsArray[iFirstSetFont][1];\n    var count = Math.min(Math.floor((i - iFirstBeginText) / 5), MAX_CHARS_IN_BLOCK);\n\n    if (count < MIN_CHARS_IN_BLOCK) {\n      return i - (i - iFirstBeginText) % 5;\n    }\n\n    var iFirst = iFirstBeginText;\n\n    if (iFirstBeginText >= 4 && fnArray[iFirstBeginText - 4] === fnArray[iFirstSetFont] && fnArray[iFirstBeginText - 3] === fnArray[iFirstSetTextMatrix] && fnArray[iFirstBeginText - 2] === fnArray[iFirstShowText] && fnArray[iFirstBeginText - 1] === fnArray[iFirstEndText] && argsArray[iFirstBeginText - 4][0] === firstSetFontArg0 && argsArray[iFirstBeginText - 4][1] === firstSetFontArg1) {\n      count++;\n      iFirst -= 5;\n    }\n\n    var iEndText = iFirst + 4;\n\n    for (var q = 1; q < count; q++) {\n      fnArray.splice(iEndText, 3);\n      argsArray.splice(iEndText, 3);\n      iEndText += 2;\n    }\n\n    return iEndText + 1;\n  });\n\n  function QueueOptimizer(queue) {\n    this.queue = queue;\n    this.state = null;\n    this.context = {\n      iCurr: 0,\n      fnArray: queue.fnArray,\n      argsArray: queue.argsArray\n    };\n    this.match = null;\n    this.lastProcessed = 0;\n  }\n\n  QueueOptimizer.prototype = {\n    _optimize: function _optimize() {\n      var fnArray = this.queue.fnArray;\n      var i = this.lastProcessed,\n          ii = fnArray.length;\n      var state = this.state;\n      var match = this.match;\n\n      if (!state && !match && i + 1 === ii && !InitialState[fnArray[i]]) {\n        this.lastProcessed = ii;\n        return;\n      }\n\n      var context = this.context;\n\n      while (i < ii) {\n        if (match) {\n          var iterate = (0, match.iterateFn)(context, i);\n\n          if (iterate) {\n            i++;\n            continue;\n          }\n\n          i = (0, match.processFn)(context, i + 1);\n          ii = fnArray.length;\n          match = null;\n          state = null;\n\n          if (i >= ii) {\n            break;\n          }\n        }\n\n        state = (state || InitialState)[fnArray[i]];\n\n        if (!state || Array.isArray(state)) {\n          i++;\n          continue;\n        }\n\n        context.iCurr = i;\n        i++;\n\n        if (state.checkFn && !(0, state.checkFn)(context)) {\n          state = null;\n          continue;\n        }\n\n        match = state;\n        state = null;\n      }\n\n      this.state = state;\n      this.match = match;\n      this.lastProcessed = i;\n    },\n    push: function push(fn, args) {\n      this.queue.fnArray.push(fn);\n      this.queue.argsArray.push(args);\n\n      this._optimize();\n    },\n    flush: function flush() {\n      while (this.match) {\n        var length = this.queue.fnArray.length;\n        this.lastProcessed = (0, this.match.processFn)(this.context, length);\n        this.match = null;\n        this.state = null;\n\n        this._optimize();\n      }\n    },\n    reset: function reset() {\n      this.state = null;\n      this.match = null;\n      this.lastProcessed = 0;\n    }\n  };\n  return QueueOptimizer;\n}();\n\nvar NullOptimizer = function NullOptimizerClosure() {\n  function NullOptimizer(queue) {\n    this.queue = queue;\n  }\n\n  NullOptimizer.prototype = {\n    push: function push(fn, args) {\n      this.queue.fnArray.push(fn);\n      this.queue.argsArray.push(args);\n    },\n    flush: function flush() {},\n    reset: function reset() {}\n  };\n  return NullOptimizer;\n}();\n\nvar OperatorList = function OperatorListClosure() {\n  var CHUNK_SIZE = 1000;\n  var CHUNK_SIZE_ABOUT = CHUNK_SIZE - 5;\n\n  function OperatorList(intent, streamSink, pageIndex) {\n    this._streamSink = streamSink;\n    this.fnArray = [];\n    this.argsArray = [];\n\n    if (streamSink && intent !== \"oplist\") {\n      this.optimizer = new QueueOptimizer(this);\n    } else {\n      this.optimizer = new NullOptimizer(this);\n    }\n\n    this.dependencies = Object.create(null);\n    this._totalLength = 0;\n    this.pageIndex = pageIndex;\n    this.intent = intent;\n    this.weight = 0;\n    this._resolved = streamSink ? null : Promise.resolve();\n  }\n\n  OperatorList.prototype = {\n    get length() {\n      return this.argsArray.length;\n    },\n\n    get ready() {\n      return this._resolved || this._streamSink.ready;\n    },\n\n    get totalLength() {\n      return this._totalLength + this.length;\n    },\n\n    addOp: function addOp(fn, args) {\n      this.optimizer.push(fn, args);\n      this.weight++;\n\n      if (this._streamSink) {\n        if (this.weight >= CHUNK_SIZE) {\n          this.flush();\n        } else if (this.weight >= CHUNK_SIZE_ABOUT && (fn === _util.OPS.restore || fn === _util.OPS.endText)) {\n          this.flush();\n        }\n      }\n    },\n    addDependency: function addDependency(dependency) {\n      if (dependency in this.dependencies) {\n        return;\n      }\n\n      this.dependencies[dependency] = true;\n      this.addOp(_util.OPS.dependency, [dependency]);\n    },\n    addDependencies: function addDependencies(dependencies) {\n      for (var key in dependencies) {\n        this.addDependency(key);\n      }\n    },\n    addOpList: function addOpList(opList) {\n      if (!(opList instanceof OperatorList)) {\n        (0, _util.warn)('addOpList - ignoring invalid \"opList\" parameter.');\n        return;\n      }\n\n      Object.assign(this.dependencies, opList.dependencies);\n\n      for (var i = 0, ii = opList.length; i < ii; i++) {\n        this.addOp(opList.fnArray[i], opList.argsArray[i]);\n      }\n    },\n    getIR: function getIR() {\n      return {\n        fnArray: this.fnArray,\n        argsArray: this.argsArray,\n        length: this.length\n      };\n    },\n\n    get _transfers() {\n      var transfers = [];\n      var fnArray = this.fnArray,\n          argsArray = this.argsArray,\n          length = this.length;\n\n      for (var i = 0; i < length; i++) {\n        switch (fnArray[i]) {\n          case _util.OPS.paintInlineImageXObject:\n          case _util.OPS.paintInlineImageXObjectGroup:\n          case _util.OPS.paintImageMaskXObject:\n            var arg = argsArray[i][0];\n            ;\n\n            if (!arg.cached) {\n              transfers.push(arg.data.buffer);\n            }\n\n            break;\n        }\n      }\n\n      return transfers;\n    },\n\n    flush: function flush() {\n      var lastChunk = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n      this.optimizer.flush();\n      var length = this.length;\n      this._totalLength += length;\n\n      this._streamSink.enqueue({\n        fnArray: this.fnArray,\n        argsArray: this.argsArray,\n        lastChunk: lastChunk,\n        length: length\n      }, 1, this._transfers);\n\n      this.dependencies = Object.create(null);\n      this.fnArray.length = 0;\n      this.argsArray.length = 0;\n      this.weight = 0;\n      this.optimizer.reset();\n    }\n  };\n  return OperatorList;\n}();\n\nexports.OperatorList = OperatorList;\n\n/***/ }),\n/* 220 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.PartialEvaluator = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _cmap = __w_pdfjs_require__(221);\n\nvar _primitives = __w_pdfjs_require__(198);\n\nvar _fonts = __w_pdfjs_require__(222);\n\nvar _encodings = __w_pdfjs_require__(225);\n\nvar _core_utils = __w_pdfjs_require__(201);\n\nvar _unicode = __w_pdfjs_require__(228);\n\nvar _standard_fonts = __w_pdfjs_require__(227);\n\nvar _pattern = __w_pdfjs_require__(231);\n\nvar _parser = __w_pdfjs_require__(204);\n\nvar _bidi = __w_pdfjs_require__(232);\n\nvar _colorspace = __w_pdfjs_require__(216);\n\nvar _stream = __w_pdfjs_require__(205);\n\nvar _glyphlist = __w_pdfjs_require__(226);\n\nvar _metrics = __w_pdfjs_require__(233);\n\nvar _function = __w_pdfjs_require__(234);\n\nvar _image_utils = __w_pdfjs_require__(217);\n\nvar _murmurhash = __w_pdfjs_require__(236);\n\nvar _operator_list = __w_pdfjs_require__(219);\n\nvar _image = __w_pdfjs_require__(237);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nvar PartialEvaluator = function PartialEvaluatorClosure() {\n  var DefaultPartialEvaluatorOptions = {\n    maxImageSize: -1,\n    disableFontFace: false,\n    ignoreErrors: false,\n    isEvalSupported: true,\n    fontExtraProperties: false\n  };\n\n  function PartialEvaluator(_ref) {\n    var _this = this;\n\n    var xref = _ref.xref,\n        handler = _ref.handler,\n        pageIndex = _ref.pageIndex,\n        idFactory = _ref.idFactory,\n        fontCache = _ref.fontCache,\n        builtInCMapCache = _ref.builtInCMapCache,\n        globalImageCache = _ref.globalImageCache,\n        _ref$options = _ref.options,\n        options = _ref$options === void 0 ? null : _ref$options,\n        pdfFunctionFactory = _ref.pdfFunctionFactory;\n    this.xref = xref;\n    this.handler = handler;\n    this.pageIndex = pageIndex;\n    this.idFactory = idFactory;\n    this.fontCache = fontCache;\n    this.builtInCMapCache = builtInCMapCache;\n    this.globalImageCache = globalImageCache;\n    this.options = options || DefaultPartialEvaluatorOptions;\n    this.pdfFunctionFactory = pdfFunctionFactory;\n    this.parsingType3Font = false;\n\n    this.fetchBuiltInCMap = /*#__PURE__*/function () {\n      var _ref2 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee(name) {\n        var readableStream, reader, data;\n        return _regenerator[\"default\"].wrap(function _callee$(_context) {\n          while (1) {\n            switch (_context.prev = _context.next) {\n              case 0:\n                if (!_this.builtInCMapCache.has(name)) {\n                  _context.next = 2;\n                  break;\n                }\n\n                return _context.abrupt(\"return\", _this.builtInCMapCache.get(name));\n\n              case 2:\n                readableStream = _this.handler.sendWithStream(\"FetchBuiltInCMap\", {\n                  name: name\n                });\n                reader = readableStream.getReader();\n                _context.next = 6;\n                return new Promise(function (resolve, reject) {\n                  function pump() {\n                    reader.read().then(function (_ref3) {\n                      var value = _ref3.value,\n                          done = _ref3.done;\n\n                      if (done) {\n                        return;\n                      }\n\n                      resolve(value);\n                      pump();\n                    }, reject);\n                  }\n\n                  pump();\n                });\n\n              case 6:\n                data = _context.sent;\n\n                if (data.compressionType !== _util.CMapCompressionType.NONE) {\n                  _this.builtInCMapCache.set(name, data);\n                }\n\n                return _context.abrupt(\"return\", data);\n\n              case 9:\n              case \"end\":\n                return _context.stop();\n            }\n          }\n        }, _callee);\n      }));\n\n      return function (_x) {\n        return _ref2.apply(this, arguments);\n      };\n    }();\n  }\n\n  var TIME_SLOT_DURATION_MS = 20;\n  var CHECK_TIME_EVERY = 100;\n\n  function TimeSlotManager() {\n    this.reset();\n  }\n\n  TimeSlotManager.prototype = {\n    check: function TimeSlotManager_check() {\n      if (++this.checked < CHECK_TIME_EVERY) {\n        return false;\n      }\n\n      this.checked = 0;\n      return this.endTime <= Date.now();\n    },\n    reset: function TimeSlotManager_reset() {\n      this.endTime = Date.now() + TIME_SLOT_DURATION_MS;\n      this.checked = 0;\n    }\n  };\n\n  function normalizeBlendMode(value) {\n    var parsingArray = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n    if (Array.isArray(value)) {\n      for (var i = 0, ii = value.length; i < ii; i++) {\n        var maybeBM = normalizeBlendMode(value[i], true);\n\n        if (maybeBM) {\n          return maybeBM;\n        }\n      }\n\n      (0, _util.warn)(\"Unsupported blend mode Array: \".concat(value));\n      return \"source-over\";\n    }\n\n    if (!(0, _primitives.isName)(value)) {\n      if (parsingArray) {\n        return null;\n      }\n\n      return \"source-over\";\n    }\n\n    switch (value.name) {\n      case \"Normal\":\n      case \"Compatible\":\n        return \"source-over\";\n\n      case \"Multiply\":\n        return \"multiply\";\n\n      case \"Screen\":\n        return \"screen\";\n\n      case \"Overlay\":\n        return \"overlay\";\n\n      case \"Darken\":\n        return \"darken\";\n\n      case \"Lighten\":\n        return \"lighten\";\n\n      case \"ColorDodge\":\n        return \"color-dodge\";\n\n      case \"ColorBurn\":\n        return \"color-burn\";\n\n      case \"HardLight\":\n        return \"hard-light\";\n\n      case \"SoftLight\":\n        return \"soft-light\";\n\n      case \"Difference\":\n        return \"difference\";\n\n      case \"Exclusion\":\n        return \"exclusion\";\n\n      case \"Hue\":\n        return \"hue\";\n\n      case \"Saturation\":\n        return \"saturation\";\n\n      case \"Color\":\n        return \"color\";\n\n      case \"Luminosity\":\n        return \"luminosity\";\n    }\n\n    if (parsingArray) {\n      return null;\n    }\n\n    (0, _util.warn)(\"Unsupported blend mode: \".concat(value.name));\n    return \"source-over\";\n  }\n\n  var deferred = Promise.resolve();\n  var TILING_PATTERN = 1,\n      SHADING_PATTERN = 2;\n  PartialEvaluator.prototype = {\n    clone: function clone() {\n      var newOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : DefaultPartialEvaluatorOptions;\n      var newEvaluator = Object.create(this);\n      newEvaluator.options = newOptions;\n      return newEvaluator;\n    },\n    hasBlendModes: function PartialEvaluator_hasBlendModes(resources) {\n      if (!(resources instanceof _primitives.Dict)) {\n        return false;\n      }\n\n      var processed = Object.create(null);\n\n      if (resources.objId) {\n        processed[resources.objId] = true;\n      }\n\n      var nodes = [resources],\n          xref = this.xref;\n\n      while (nodes.length) {\n        var node = nodes.shift();\n        var graphicStates = node.get(\"ExtGState\");\n\n        if (graphicStates instanceof _primitives.Dict) {\n          var graphicStatesKeys = graphicStates.getKeys();\n\n          for (var i = 0, ii = graphicStatesKeys.length; i < ii; i++) {\n            var key = graphicStatesKeys[i];\n            var graphicState = graphicStates.getRaw(key);\n\n            if (graphicState instanceof _primitives.Ref) {\n              if (processed[graphicState.toString()]) {\n                continue;\n              }\n\n              try {\n                graphicState = xref.fetch(graphicState);\n              } catch (ex) {\n                if (ex instanceof _core_utils.MissingDataException) {\n                  throw ex;\n                }\n\n                if (this.options.ignoreErrors) {\n                  if (graphicState instanceof _primitives.Ref) {\n                    processed[graphicState.toString()] = true;\n                  }\n\n                  this.handler.send(\"UnsupportedFeature\", {\n                    featureId: _util.UNSUPPORTED_FEATURES.errorExtGState\n                  });\n                  (0, _util.warn)(\"hasBlendModes - ignoring ExtGState: \\\"\".concat(ex, \"\\\".\"));\n                  continue;\n                }\n\n                throw ex;\n              }\n            }\n\n            if (!(graphicState instanceof _primitives.Dict)) {\n              continue;\n            }\n\n            if (graphicState.objId) {\n              processed[graphicState.objId] = true;\n            }\n\n            var bm = graphicState.get(\"BM\");\n\n            if (bm instanceof _primitives.Name) {\n              if (bm.name !== \"Normal\") {\n                return true;\n              }\n\n              continue;\n            }\n\n            if (bm !== undefined && Array.isArray(bm)) {\n              for (var j = 0, jj = bm.length; j < jj; j++) {\n                if (bm[j] instanceof _primitives.Name && bm[j].name !== \"Normal\") {\n                  return true;\n                }\n              }\n            }\n          }\n        }\n\n        var xObjects = node.get(\"XObject\");\n\n        if (!(xObjects instanceof _primitives.Dict)) {\n          continue;\n        }\n\n        var xObjectsKeys = xObjects.getKeys();\n\n        for (var _i = 0, _ii = xObjectsKeys.length; _i < _ii; _i++) {\n          var _key = xObjectsKeys[_i];\n          var xObject = xObjects.getRaw(_key);\n\n          if (xObject instanceof _primitives.Ref) {\n            if (processed[xObject.toString()]) {\n              continue;\n            }\n\n            try {\n              xObject = xref.fetch(xObject);\n            } catch (ex) {\n              if (ex instanceof _core_utils.MissingDataException) {\n                throw ex;\n              }\n\n              if (this.options.ignoreErrors) {\n                if (xObject instanceof _primitives.Ref) {\n                  processed[xObject.toString()] = true;\n                }\n\n                this.handler.send(\"UnsupportedFeature\", {\n                  featureId: _util.UNSUPPORTED_FEATURES.errorXObject\n                });\n                (0, _util.warn)(\"hasBlendModes - ignoring XObject: \\\"\".concat(ex, \"\\\".\"));\n                continue;\n              }\n\n              throw ex;\n            }\n          }\n\n          if (!(0, _primitives.isStream)(xObject)) {\n            continue;\n          }\n\n          if (xObject.dict.objId) {\n            if (processed[xObject.dict.objId]) {\n              continue;\n            }\n\n            processed[xObject.dict.objId] = true;\n          }\n\n          var xResources = xObject.dict.get(\"Resources\");\n\n          if (xResources instanceof _primitives.Dict && (!xResources.objId || !processed[xResources.objId])) {\n            nodes.push(xResources);\n\n            if (xResources.objId) {\n              processed[xResources.objId] = true;\n            }\n          }\n        }\n      }\n\n      return false;\n    },\n    buildFormXObject: function buildFormXObject(resources, xobj, smask, operatorList, task, initialState) {\n      var _this2 = this;\n\n      return _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2() {\n        var dict, matrix, bbox, group, groupOptions, groupSubtype, colorSpace;\n        return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n          while (1) {\n            switch (_context2.prev = _context2.next) {\n              case 0:\n                dict = xobj.dict;\n                matrix = dict.getArray(\"Matrix\");\n                bbox = dict.getArray(\"BBox\");\n\n                if (Array.isArray(bbox) && bbox.length === 4) {\n                  bbox = _util.Util.normalizeRect(bbox);\n                } else {\n                  bbox = null;\n                }\n\n                group = dict.get(\"Group\");\n\n                if (!group) {\n                  _context2.next = 18;\n                  break;\n                }\n\n                groupOptions = {\n                  matrix: matrix,\n                  bbox: bbox,\n                  smask: smask,\n                  isolated: false,\n                  knockout: false\n                };\n                groupSubtype = group.get(\"S\");\n                colorSpace = null;\n\n                if (!(0, _primitives.isName)(groupSubtype, \"Transparency\")) {\n                  _context2.next = 16;\n                  break;\n                }\n\n                groupOptions.isolated = group.get(\"I\") || false;\n                groupOptions.knockout = group.get(\"K\") || false;\n\n                if (!group.has(\"CS\")) {\n                  _context2.next = 16;\n                  break;\n                }\n\n                _context2.next = 15;\n                return _this2.parseColorSpace({\n                  cs: group.get(\"CS\"),\n                  resources: resources\n                });\n\n              case 15:\n                colorSpace = _context2.sent;\n\n              case 16:\n                if (smask && smask.backdrop) {\n                  colorSpace = colorSpace || _colorspace.ColorSpace.singletons.rgb;\n                  smask.backdrop = colorSpace.getRgb(smask.backdrop, 0);\n                }\n\n                operatorList.addOp(_util.OPS.beginGroup, [groupOptions]);\n\n              case 18:\n                operatorList.addOp(_util.OPS.paintFormXObjectBegin, [matrix, bbox]);\n                return _context2.abrupt(\"return\", _this2.getOperatorList({\n                  stream: xobj,\n                  task: task,\n                  resources: dict.get(\"Resources\") || resources,\n                  operatorList: operatorList,\n                  initialState: initialState\n                }).then(function () {\n                  operatorList.addOp(_util.OPS.paintFormXObjectEnd, []);\n\n                  if (group) {\n                    operatorList.addOp(_util.OPS.endGroup, [groupOptions]);\n                  }\n                }));\n\n              case 20:\n              case \"end\":\n                return _context2.stop();\n            }\n          }\n        }, _callee2);\n      }))();\n    },\n    buildPaintImageXObject: function buildPaintImageXObject(_ref4) {\n      var _this3 = this;\n\n      return _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee3() {\n        var resources, image, _ref4$isInline, isInline, operatorList, cacheKey, localImageCache, dict, imageRef, w, h, maxImageSize, imageMask, imgData, args, width, height, bitStrideLength, imgArray, decode, softMask, mask, SMALL_IMAGE_DIMENSIONS, imageObj, objId, cacheGlobally, imgPromise;\n\n        return _regenerator[\"default\"].wrap(function _callee3$(_context3) {\n          while (1) {\n            switch (_context3.prev = _context3.next) {\n              case 0:\n                resources = _ref4.resources, image = _ref4.image, _ref4$isInline = _ref4.isInline, isInline = _ref4$isInline === void 0 ? false : _ref4$isInline, operatorList = _ref4.operatorList, cacheKey = _ref4.cacheKey, localImageCache = _ref4.localImageCache;\n                dict = image.dict;\n                imageRef = dict.objId;\n                w = dict.get(\"Width\", \"W\");\n                h = dict.get(\"Height\", \"H\");\n\n                if (!(!(w && (0, _util.isNum)(w)) || !(h && (0, _util.isNum)(h)))) {\n                  _context3.next = 8;\n                  break;\n                }\n\n                (0, _util.warn)(\"Image dimensions are missing, or not numbers.\");\n                return _context3.abrupt(\"return\", undefined);\n\n              case 8:\n                maxImageSize = _this3.options.maxImageSize;\n\n                if (!(maxImageSize !== -1 && w * h > maxImageSize)) {\n                  _context3.next = 12;\n                  break;\n                }\n\n                (0, _util.warn)(\"Image exceeded maximum allowed size and was removed.\");\n                return _context3.abrupt(\"return\", undefined);\n\n              case 12:\n                imageMask = dict.get(\"ImageMask\", \"IM\") || false;\n\n                if (!imageMask) {\n                  _context3.next = 25;\n                  break;\n                }\n\n                width = dict.get(\"Width\", \"W\");\n                height = dict.get(\"Height\", \"H\");\n                bitStrideLength = width + 7 >> 3;\n                imgArray = image.getBytes(bitStrideLength * height, true);\n                decode = dict.getArray(\"Decode\", \"D\");\n                imgData = _image.PDFImage.createMask({\n                  imgArray: imgArray,\n                  width: width,\n                  height: height,\n                  imageIsFromDecodeStream: image instanceof _stream.DecodeStream,\n                  inverseDecode: !!decode && decode[0] > 0\n                });\n                imgData.cached = !!cacheKey;\n                args = [imgData];\n                operatorList.addOp(_util.OPS.paintImageMaskXObject, args);\n\n                if (cacheKey) {\n                  localImageCache.set(cacheKey, imageRef, {\n                    fn: _util.OPS.paintImageMaskXObject,\n                    args: args\n                  });\n                }\n\n                return _context3.abrupt(\"return\", undefined);\n\n              case 25:\n                softMask = dict.get(\"SMask\", \"SM\") || false;\n                mask = dict.get(\"Mask\") || false;\n                SMALL_IMAGE_DIMENSIONS = 200;\n\n                if (!(isInline && !softMask && !mask && w + h < SMALL_IMAGE_DIMENSIONS)) {\n                  _context3.next = 33;\n                  break;\n                }\n\n                imageObj = new _image.PDFImage({\n                  xref: _this3.xref,\n                  res: resources,\n                  image: image,\n                  isInline: isInline,\n                  pdfFunctionFactory: _this3.pdfFunctionFactory\n                });\n                imgData = imageObj.createImageData(true);\n                operatorList.addOp(_util.OPS.paintInlineImageXObject, [imgData]);\n                return _context3.abrupt(\"return\", undefined);\n\n              case 33:\n                objId = \"img_\".concat(_this3.idFactory.createObjId()), cacheGlobally = false;\n\n                if (_this3.parsingType3Font) {\n                  objId = \"\".concat(_this3.idFactory.getDocId(), \"_type3res_\").concat(objId);\n                } else if (imageRef) {\n                  cacheGlobally = _this3.globalImageCache.shouldCache(imageRef, _this3.pageIndex);\n\n                  if (cacheGlobally) {\n                    objId = \"\".concat(_this3.idFactory.getDocId(), \"_\").concat(objId);\n                  }\n                }\n\n                operatorList.addDependency(objId);\n                args = [objId, w, h];\n                imgPromise = _image.PDFImage.buildImage({\n                  xref: _this3.xref,\n                  res: resources,\n                  image: image,\n                  isInline: isInline,\n                  pdfFunctionFactory: _this3.pdfFunctionFactory\n                }).then(function (imageObj) {\n                  imgData = imageObj.createImageData(false);\n\n                  if (_this3.parsingType3Font) {\n                    return _this3.handler.sendWithPromise(\"commonobj\", [objId, \"FontType3Res\", imgData], [imgData.data.buffer]);\n                  } else if (cacheGlobally) {\n                    _this3.handler.send(\"commonobj\", [objId, \"Image\", imgData], [imgData.data.buffer]);\n\n                    return undefined;\n                  }\n\n                  _this3.handler.send(\"obj\", [objId, _this3.pageIndex, \"Image\", imgData], [imgData.data.buffer]);\n\n                  return undefined;\n                })[\"catch\"](function (reason) {\n                  (0, _util.warn)(\"Unable to decode image: \" + reason);\n\n                  if (_this3.parsingType3Font) {\n                    return _this3.handler.sendWithPromise(\"commonobj\", [objId, \"FontType3Res\", null]);\n                  } else if (cacheGlobally) {\n                    _this3.handler.send(\"commonobj\", [objId, \"Image\", null]);\n\n                    return undefined;\n                  }\n\n                  _this3.handler.send(\"obj\", [objId, _this3.pageIndex, \"Image\", null]);\n\n                  return undefined;\n                });\n\n                if (!_this3.parsingType3Font) {\n                  _context3.next = 41;\n                  break;\n                }\n\n                _context3.next = 41;\n                return imgPromise;\n\n              case 41:\n                operatorList.addOp(_util.OPS.paintImageXObject, args);\n\n                if (cacheKey) {\n                  localImageCache.set(cacheKey, imageRef, {\n                    fn: _util.OPS.paintImageXObject,\n                    args: args\n                  });\n\n                  if (imageRef) {\n                    (0, _util.assert)(!isInline, \"Cannot cache an inline image globally.\");\n\n                    _this3.globalImageCache.addPageIndex(imageRef, _this3.pageIndex);\n\n                    if (cacheGlobally) {\n                      _this3.globalImageCache.setData(imageRef, {\n                        objId: objId,\n                        fn: _util.OPS.paintImageXObject,\n                        args: args\n                      });\n                    }\n                  }\n                }\n\n                return _context3.abrupt(\"return\", undefined);\n\n              case 44:\n              case \"end\":\n                return _context3.stop();\n            }\n          }\n        }, _callee3);\n      }))();\n    },\n    handleSMask: function PartialEvaluator_handleSmask(smask, resources, operatorList, task, stateManager) {\n      var smaskContent = smask.get(\"G\");\n      var smaskOptions = {\n        subtype: smask.get(\"S\").name,\n        backdrop: smask.get(\"BC\")\n      };\n      var transferObj = smask.get(\"TR\");\n\n      if ((0, _function.isPDFFunction)(transferObj)) {\n        var transferFn = this.pdfFunctionFactory.create(transferObj);\n        var transferMap = new Uint8Array(256);\n        var tmp = new Float32Array(1);\n\n        for (var i = 0; i < 256; i++) {\n          tmp[0] = i / 255;\n          transferFn(tmp, 0, tmp, 0);\n          transferMap[i] = tmp[0] * 255 | 0;\n        }\n\n        smaskOptions.transferMap = transferMap;\n      }\n\n      return this.buildFormXObject(resources, smaskContent, smaskOptions, operatorList, task, stateManager.state.clone());\n    },\n    handleTilingType: function handleTilingType(fn, args, resources, pattern, patternDict, operatorList, task) {\n      var _this4 = this;\n\n      var tilingOpList = new _operator_list.OperatorList();\n      var resourcesArray = [patternDict.get(\"Resources\"), resources];\n\n      var patternResources = _primitives.Dict.merge(this.xref, resourcesArray);\n\n      return this.getOperatorList({\n        stream: pattern,\n        task: task,\n        resources: patternResources,\n        operatorList: tilingOpList\n      }).then(function () {\n        return (0, _pattern.getTilingPatternIR)({\n          fnArray: tilingOpList.fnArray,\n          argsArray: tilingOpList.argsArray\n        }, patternDict, args);\n      }).then(function (tilingPatternIR) {\n        operatorList.addDependencies(tilingOpList.dependencies);\n        operatorList.addOp(fn, tilingPatternIR);\n      }, function (reason) {\n        if (reason instanceof _util.AbortException) {\n          return;\n        }\n\n        if (_this4.options.ignoreErrors) {\n          _this4.handler.send(\"UnsupportedFeature\", {\n            featureId: _util.UNSUPPORTED_FEATURES.errorTilingPattern\n          });\n\n          (0, _util.warn)(\"handleTilingType - ignoring pattern: \\\"\".concat(reason, \"\\\".\"));\n          return;\n        }\n\n        throw reason;\n      });\n    },\n    handleSetFont: function PartialEvaluator_handleSetFont(resources, fontArgs, fontRef, operatorList, task, state) {\n      var _this5 = this;\n\n      var fontName;\n\n      if (fontArgs) {\n        fontArgs = fontArgs.slice();\n        fontName = fontArgs[0].name;\n      }\n\n      return this.loadFont(fontName, fontRef, resources).then(function (translated) {\n        if (!translated.font.isType3Font) {\n          return translated;\n        }\n\n        return translated.loadType3Data(_this5, resources, operatorList, task).then(function () {\n          return translated;\n        })[\"catch\"](function (reason) {\n          _this5.handler.send(\"UnsupportedFeature\", {\n            featureId: _util.UNSUPPORTED_FEATURES.errorFontLoadType3\n          });\n\n          return new TranslatedFont({\n            loadedName: \"g_font_error\",\n            font: new _fonts.ErrorFont(\"Type3 font load error: \".concat(reason)),\n            dict: translated.font,\n            extraProperties: _this5.options.fontExtraProperties\n          });\n        });\n      }).then(function (translated) {\n        state.font = translated.font;\n        translated.send(_this5.handler);\n        return translated.loadedName;\n      });\n    },\n    handleText: function handleText(chars, state) {\n      var font = state.font;\n      var glyphs = font.charsToGlyphs(chars);\n\n      if (font.data) {\n        var isAddToPathSet = !!(state.textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG);\n\n        if (isAddToPathSet || state.fillColorSpace.name === \"Pattern\" || font.disableFontFace || this.options.disableFontFace) {\n          PartialEvaluator.buildFontPaths(font, glyphs, this.handler);\n        }\n      }\n\n      return glyphs;\n    },\n    ensureStateFont: function ensureStateFont(state) {\n      if (state.font) {\n        return;\n      }\n\n      var reason = new _util.FormatError(\"Missing setFont (Tf) operator before text rendering operator.\");\n\n      if (this.options.ignoreErrors) {\n        this.handler.send(\"UnsupportedFeature\", {\n          featureId: _util.UNSUPPORTED_FEATURES.errorFontState\n        });\n        (0, _util.warn)(\"ensureStateFont: \\\"\".concat(reason, \"\\\".\"));\n        return;\n      }\n\n      throw reason;\n    },\n    setGState: function PartialEvaluator_setGState(resources, gState, operatorList, task, stateManager) {\n      var _this6 = this;\n\n      var gStateObj = [];\n      var gStateKeys = gState.getKeys();\n      var promise = Promise.resolve();\n\n      var _loop = function _loop() {\n        var key = gStateKeys[i];\n        var value = gState.get(key);\n\n        switch (key) {\n          case \"Type\":\n            break;\n\n          case \"LW\":\n          case \"LC\":\n          case \"LJ\":\n          case \"ML\":\n          case \"D\":\n          case \"RI\":\n          case \"FL\":\n          case \"CA\":\n          case \"ca\":\n            gStateObj.push([key, value]);\n            break;\n\n          case \"Font\":\n            promise = promise.then(function () {\n              return _this6.handleSetFont(resources, null, value[0], operatorList, task, stateManager.state).then(function (loadedName) {\n                operatorList.addDependency(loadedName);\n                gStateObj.push([key, [loadedName, value[1]]]);\n              });\n            });\n            break;\n\n          case \"BM\":\n            gStateObj.push([key, normalizeBlendMode(value)]);\n            break;\n\n          case \"SMask\":\n            if ((0, _primitives.isName)(value, \"None\")) {\n              gStateObj.push([key, false]);\n              break;\n            }\n\n            if ((0, _primitives.isDict)(value)) {\n              promise = promise.then(function () {\n                return _this6.handleSMask(value, resources, operatorList, task, stateManager);\n              });\n              gStateObj.push([key, true]);\n            } else {\n              (0, _util.warn)(\"Unsupported SMask type\");\n            }\n\n            break;\n\n          case \"OP\":\n          case \"op\":\n          case \"OPM\":\n          case \"BG\":\n          case \"BG2\":\n          case \"UCR\":\n          case \"UCR2\":\n          case \"TR\":\n          case \"TR2\":\n          case \"HT\":\n          case \"SM\":\n          case \"SA\":\n          case \"AIS\":\n          case \"TK\":\n            (0, _util.info)(\"graphic state operator \" + key);\n            break;\n\n          default:\n            (0, _util.info)(\"Unknown graphic state operator \" + key);\n            break;\n        }\n      };\n\n      for (var i = 0, ii = gStateKeys.length; i < ii; i++) {\n        _loop();\n      }\n\n      return promise.then(function () {\n        if (gStateObj.length > 0) {\n          operatorList.addOp(_util.OPS.setGState, [gStateObj]);\n        }\n      });\n    },\n    loadFont: function PartialEvaluator_loadFont(fontName, font, resources) {\n      var _this7 = this;\n\n      var errorFont = function errorFont() {\n        return Promise.resolve(new TranslatedFont({\n          loadedName: \"g_font_error\",\n          font: new _fonts.ErrorFont(\"Font \\\"\".concat(fontName, \"\\\" is not available.\")),\n          dict: font,\n          extraProperties: _this7.options.fontExtraProperties\n        }));\n      };\n\n      var fontRef,\n          xref = this.xref;\n\n      if (font) {\n        if (!(0, _primitives.isRef)(font)) {\n          throw new _util.FormatError('The \"font\" object should be a reference.');\n        }\n\n        fontRef = font;\n      } else {\n        var fontRes = resources.get(\"Font\");\n\n        if (fontRes) {\n          fontRef = fontRes.getRaw(fontName);\n        }\n      }\n\n      if (!fontRef) {\n        var partialMsg = \"Font \\\"\".concat(fontName || font && font.toString(), \"\\\" is not available\");\n\n        if (!this.options.ignoreErrors && !this.parsingType3Font) {\n          (0, _util.warn)(\"\".concat(partialMsg, \".\"));\n          return errorFont();\n        }\n\n        this.handler.send(\"UnsupportedFeature\", {\n          featureId: _util.UNSUPPORTED_FEATURES.errorFontMissing\n        });\n        (0, _util.warn)(\"\".concat(partialMsg, \" -- attempting to fallback to a default font.\"));\n        fontRef = PartialEvaluator.getFallbackFontDict();\n      }\n\n      if (this.fontCache.has(fontRef)) {\n        return this.fontCache.get(fontRef);\n      }\n\n      font = xref.fetchIfRef(fontRef);\n\n      if (!(0, _primitives.isDict)(font)) {\n        return errorFont();\n      }\n\n      if (font.translated) {\n        return font.translated;\n      }\n\n      var fontCapability = (0, _util.createPromiseCapability)();\n      var preEvaluatedFont = this.preEvaluateFont(font);\n      var descriptor = preEvaluatedFont.descriptor,\n          hash = preEvaluatedFont.hash;\n      var fontRefIsRef = (0, _primitives.isRef)(fontRef),\n          fontID;\n\n      if (fontRefIsRef) {\n        fontID = fontRef.toString();\n      }\n\n      if (hash && (0, _primitives.isDict)(descriptor)) {\n        if (!descriptor.fontAliases) {\n          descriptor.fontAliases = Object.create(null);\n        }\n\n        var fontAliases = descriptor.fontAliases;\n\n        if (fontAliases[hash]) {\n          var aliasFontRef = fontAliases[hash].aliasRef;\n\n          if (fontRefIsRef && aliasFontRef && this.fontCache.has(aliasFontRef)) {\n            this.fontCache.putAlias(fontRef, aliasFontRef);\n            return this.fontCache.get(fontRef);\n          }\n        } else {\n          fontAliases[hash] = {\n            fontID: _fonts.Font.getFontID()\n          };\n        }\n\n        if (fontRefIsRef) {\n          fontAliases[hash].aliasRef = fontRef;\n        }\n\n        fontID = fontAliases[hash].fontID;\n      }\n\n      if (fontRefIsRef) {\n        this.fontCache.put(fontRef, fontCapability.promise);\n      } else {\n        if (!fontID) {\n          fontID = this.idFactory.createObjId();\n        }\n\n        this.fontCache.put(\"id_\".concat(fontID), fontCapability.promise);\n      }\n\n      (0, _util.assert)(fontID, 'The \"fontID\" must be defined.');\n      font.loadedName = \"\".concat(this.idFactory.getDocId(), \"_f\").concat(fontID);\n      font.translated = fontCapability.promise;\n      var translatedPromise;\n\n      try {\n        translatedPromise = this.translateFont(preEvaluatedFont);\n      } catch (e) {\n        translatedPromise = Promise.reject(e);\n      }\n\n      translatedPromise.then(function (translatedFont) {\n        if (translatedFont.fontType !== undefined) {\n          var xrefFontStats = xref.stats.fontTypes;\n          xrefFontStats[translatedFont.fontType] = true;\n        }\n\n        fontCapability.resolve(new TranslatedFont({\n          loadedName: font.loadedName,\n          font: translatedFont,\n          dict: font,\n          extraProperties: _this7.options.fontExtraProperties\n        }));\n      })[\"catch\"](function (reason) {\n        _this7.handler.send(\"UnsupportedFeature\", {\n          featureId: _util.UNSUPPORTED_FEATURES.errorFontTranslate\n        });\n\n        try {\n          var fontFile3 = descriptor && descriptor.get(\"FontFile3\");\n          var subtype = fontFile3 && fontFile3.get(\"Subtype\");\n          var fontType = (0, _fonts.getFontType)(preEvaluatedFont.type, subtype && subtype.name);\n          var xrefFontStats = xref.stats.fontTypes;\n          xrefFontStats[fontType] = true;\n        } catch (ex) {}\n\n        fontCapability.resolve(new TranslatedFont({\n          loadedName: font.loadedName,\n          font: new _fonts.ErrorFont(reason instanceof Error ? reason.message : reason),\n          dict: font,\n          extraProperties: _this7.options.fontExtraProperties\n        }));\n      });\n      return fontCapability.promise;\n    },\n    buildPath: function buildPath(operatorList, fn, args) {\n      var parsingText = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n      var lastIndex = operatorList.length - 1;\n\n      if (!args) {\n        args = [];\n      }\n\n      if (lastIndex < 0 || operatorList.fnArray[lastIndex] !== _util.OPS.constructPath) {\n        if (parsingText) {\n          (0, _util.warn)(\"Encountered path operator \\\"\".concat(fn, \"\\\" inside of a text object.\"));\n          operatorList.addOp(_util.OPS.save, null);\n        }\n\n        operatorList.addOp(_util.OPS.constructPath, [[fn], args]);\n\n        if (parsingText) {\n          operatorList.addOp(_util.OPS.restore, null);\n        }\n      } else {\n        var opArgs = operatorList.argsArray[lastIndex];\n        opArgs[0].push(fn);\n        Array.prototype.push.apply(opArgs[1], args);\n      }\n    },\n    parseColorSpace: function parseColorSpace(_ref5) {\n      var _this8 = this;\n\n      var cs = _ref5.cs,\n          resources = _ref5.resources;\n      return new Promise(function (resolve) {\n        resolve(_colorspace.ColorSpace.parse(cs, _this8.xref, resources, _this8.pdfFunctionFactory));\n      })[\"catch\"](function (reason) {\n        if (reason instanceof _util.AbortException) {\n          return null;\n        }\n\n        if (_this8.options.ignoreErrors) {\n          _this8.handler.send(\"UnsupportedFeature\", {\n            featureId: _util.UNSUPPORTED_FEATURES.errorColorSpace\n          });\n\n          (0, _util.warn)(\"parseColorSpace - ignoring ColorSpace: \\\"\".concat(reason, \"\\\".\"));\n          return null;\n        }\n\n        throw reason;\n      });\n    },\n    handleColorN: function handleColorN(operatorList, fn, args, cs, patterns, resources, task) {\n      var _this9 = this;\n\n      return _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee4() {\n        var patternName, pattern, dict, typeNum, color, shading, matrix;\n        return _regenerator[\"default\"].wrap(function _callee4$(_context4) {\n          while (1) {\n            switch (_context4.prev = _context4.next) {\n              case 0:\n                patternName = args[args.length - 1];\n\n                if (!((0, _primitives.isName)(patternName) && (pattern = patterns.get(patternName.name)))) {\n                  _context4.next = 16;\n                  break;\n                }\n\n                dict = (0, _primitives.isStream)(pattern) ? pattern.dict : pattern;\n                typeNum = dict.get(\"PatternType\");\n\n                if (!(typeNum === TILING_PATTERN)) {\n                  _context4.next = 9;\n                  break;\n                }\n\n                color = cs.base ? cs.base.getRgb(args, 0) : null;\n                return _context4.abrupt(\"return\", _this9.handleTilingType(fn, color, resources, pattern, dict, operatorList, task));\n\n              case 9:\n                if (!(typeNum === SHADING_PATTERN)) {\n                  _context4.next = 15;\n                  break;\n                }\n\n                shading = dict.get(\"Shading\");\n                matrix = dict.getArray(\"Matrix\");\n                pattern = _pattern.Pattern.parseShading(shading, matrix, _this9.xref, resources, _this9.handler, _this9.pdfFunctionFactory);\n                operatorList.addOp(fn, pattern.getIR());\n                return _context4.abrupt(\"return\", undefined);\n\n              case 15:\n                throw new _util.FormatError(\"Unknown PatternType: \".concat(typeNum));\n\n              case 16:\n                throw new _util.FormatError(\"Unknown PatternName: \".concat(patternName));\n\n              case 17:\n              case \"end\":\n                return _context4.stop();\n            }\n          }\n        }, _callee4);\n      }))();\n    },\n    getOperatorList: function getOperatorList(_ref6) {\n      var _this10 = this;\n\n      var stream = _ref6.stream,\n          task = _ref6.task,\n          resources = _ref6.resources,\n          operatorList = _ref6.operatorList,\n          _ref6$initialState = _ref6.initialState,\n          initialState = _ref6$initialState === void 0 ? null : _ref6$initialState;\n      resources = resources || _primitives.Dict.empty;\n      initialState = initialState || new EvalState();\n\n      if (!operatorList) {\n        throw new Error('getOperatorList: missing \"operatorList\" parameter');\n      }\n\n      var self = this;\n      var xref = this.xref;\n      var parsingText = false;\n      var localImageCache = new _image_utils.LocalImageCache();\n\n      var xobjs = resources.get(\"XObject\") || _primitives.Dict.empty;\n\n      var patterns = resources.get(\"Pattern\") || _primitives.Dict.empty;\n\n      var stateManager = new StateManager(initialState);\n      var preprocessor = new EvaluatorPreprocessor(stream, xref, stateManager);\n      var timeSlotManager = new TimeSlotManager();\n\n      function closePendingRestoreOPS(argument) {\n        for (var i = 0, ii = preprocessor.savedStatesDepth; i < ii; i++) {\n          operatorList.addOp(_util.OPS.restore, []);\n        }\n      }\n\n      return new Promise(function promiseBody(resolve, reject) {\n        var next = function next(promise) {\n          Promise.all([promise, operatorList.ready]).then(function () {\n            try {\n              promiseBody(resolve, reject);\n            } catch (ex) {\n              reject(ex);\n            }\n          }, reject);\n        };\n\n        task.ensureNotTerminated();\n        timeSlotManager.reset();\n        var stop,\n            operation = {},\n            i,\n            ii,\n            cs;\n\n        while (!(stop = timeSlotManager.check())) {\n          operation.args = null;\n\n          if (!preprocessor.read(operation)) {\n            break;\n          }\n\n          var args = operation.args;\n          var fn = operation.fn;\n\n          switch (fn | 0) {\n            case _util.OPS.paintXObject:\n              var name = args[0].name;\n\n              if (name) {\n                var localImage = localImageCache.getByName(name);\n\n                if (localImage) {\n                  operatorList.addOp(localImage.fn, localImage.args);\n                  args = null;\n                  continue;\n                }\n              }\n\n              next(new Promise(function (resolveXObject, rejectXObject) {\n                if (!name) {\n                  throw new _util.FormatError(\"XObject must be referred to by name.\");\n                }\n\n                var xobj = xobjs.getRaw(name);\n\n                if (xobj instanceof _primitives.Ref) {\n                  var _localImage = localImageCache.getByRef(xobj);\n\n                  if (_localImage) {\n                    operatorList.addOp(_localImage.fn, _localImage.args);\n                    resolveXObject();\n                    return;\n                  }\n\n                  var globalImage = self.globalImageCache.getData(xobj, self.pageIndex);\n\n                  if (globalImage) {\n                    operatorList.addDependency(globalImage.objId);\n                    operatorList.addOp(globalImage.fn, globalImage.args);\n                    resolveXObject();\n                    return;\n                  }\n\n                  xobj = xref.fetch(xobj);\n                }\n\n                if (!xobj) {\n                  operatorList.addOp(fn, args);\n                  resolveXObject();\n                  return;\n                }\n\n                if (!(0, _primitives.isStream)(xobj)) {\n                  throw new _util.FormatError(\"XObject should be a stream\");\n                }\n\n                var type = xobj.dict.get(\"Subtype\");\n\n                if (!(0, _primitives.isName)(type)) {\n                  throw new _util.FormatError(\"XObject should have a Name subtype\");\n                }\n\n                if (type.name === \"Form\") {\n                  stateManager.save();\n                  self.buildFormXObject(resources, xobj, null, operatorList, task, stateManager.state.clone()).then(function () {\n                    stateManager.restore();\n                    resolveXObject();\n                  }, rejectXObject);\n                  return;\n                } else if (type.name === \"Image\") {\n                  self.buildPaintImageXObject({\n                    resources: resources,\n                    image: xobj,\n                    operatorList: operatorList,\n                    cacheKey: name,\n                    localImageCache: localImageCache\n                  }).then(resolveXObject, rejectXObject);\n                  return;\n                } else if (type.name === \"PS\") {\n                  (0, _util.info)(\"Ignored XObject subtype PS\");\n                } else {\n                  throw new _util.FormatError(\"Unhandled XObject subtype \".concat(type.name));\n                }\n\n                resolveXObject();\n              })[\"catch\"](function (reason) {\n                if (reason instanceof _util.AbortException) {\n                  return;\n                }\n\n                if (self.options.ignoreErrors) {\n                  self.handler.send(\"UnsupportedFeature\", {\n                    featureId: _util.UNSUPPORTED_FEATURES.errorXObject\n                  });\n                  (0, _util.warn)(\"getOperatorList - ignoring XObject: \\\"\".concat(reason, \"\\\".\"));\n                  return;\n                }\n\n                throw reason;\n              }));\n              return;\n\n            case _util.OPS.setFont:\n              var fontSize = args[1];\n              next(self.handleSetFont(resources, args, null, operatorList, task, stateManager.state).then(function (loadedName) {\n                operatorList.addDependency(loadedName);\n                operatorList.addOp(_util.OPS.setFont, [loadedName, fontSize]);\n              }));\n              return;\n\n            case _util.OPS.beginText:\n              parsingText = true;\n              break;\n\n            case _util.OPS.endText:\n              parsingText = false;\n              break;\n\n            case _util.OPS.endInlineImage:\n              var cacheKey = args[0].cacheKey;\n\n              if (cacheKey) {\n                var _localImage2 = localImageCache.getByName(cacheKey);\n\n                if (_localImage2) {\n                  operatorList.addOp(_localImage2.fn, _localImage2.args);\n                  args = null;\n                  continue;\n                }\n              }\n\n              next(self.buildPaintImageXObject({\n                resources: resources,\n                image: args[0],\n                isInline: true,\n                operatorList: operatorList,\n                cacheKey: cacheKey,\n                localImageCache: localImageCache\n              }));\n              return;\n\n            case _util.OPS.showText:\n              if (!stateManager.state.font) {\n                self.ensureStateFont(stateManager.state);\n                continue;\n              }\n\n              args[0] = self.handleText(args[0], stateManager.state);\n              break;\n\n            case _util.OPS.showSpacedText:\n              if (!stateManager.state.font) {\n                self.ensureStateFont(stateManager.state);\n                continue;\n              }\n\n              var arr = args[0];\n              var combinedGlyphs = [];\n              var arrLength = arr.length;\n              var state = stateManager.state;\n\n              for (i = 0; i < arrLength; ++i) {\n                var arrItem = arr[i];\n\n                if ((0, _util.isString)(arrItem)) {\n                  Array.prototype.push.apply(combinedGlyphs, self.handleText(arrItem, state));\n                } else if ((0, _util.isNum)(arrItem)) {\n                  combinedGlyphs.push(arrItem);\n                }\n              }\n\n              args[0] = combinedGlyphs;\n              fn = _util.OPS.showText;\n              break;\n\n            case _util.OPS.nextLineShowText:\n              if (!stateManager.state.font) {\n                self.ensureStateFont(stateManager.state);\n                continue;\n              }\n\n              operatorList.addOp(_util.OPS.nextLine);\n              args[0] = self.handleText(args[0], stateManager.state);\n              fn = _util.OPS.showText;\n              break;\n\n            case _util.OPS.nextLineSetSpacingShowText:\n              if (!stateManager.state.font) {\n                self.ensureStateFont(stateManager.state);\n                continue;\n              }\n\n              operatorList.addOp(_util.OPS.nextLine);\n              operatorList.addOp(_util.OPS.setWordSpacing, [args.shift()]);\n              operatorList.addOp(_util.OPS.setCharSpacing, [args.shift()]);\n              args[0] = self.handleText(args[0], stateManager.state);\n              fn = _util.OPS.showText;\n              break;\n\n            case _util.OPS.setTextRenderingMode:\n              stateManager.state.textRenderingMode = args[0];\n              break;\n\n            case _util.OPS.setFillColorSpace:\n              next(self.parseColorSpace({\n                cs: args[0],\n                resources: resources\n              }).then(function (colorSpace) {\n                if (colorSpace) {\n                  stateManager.state.fillColorSpace = colorSpace;\n                }\n              }));\n              return;\n\n            case _util.OPS.setStrokeColorSpace:\n              next(self.parseColorSpace({\n                cs: args[0],\n                resources: resources\n              }).then(function (colorSpace) {\n                if (colorSpace) {\n                  stateManager.state.strokeColorSpace = colorSpace;\n                }\n              }));\n              return;\n\n            case _util.OPS.setFillColor:\n              cs = stateManager.state.fillColorSpace;\n              args = cs.getRgb(args, 0);\n              fn = _util.OPS.setFillRGBColor;\n              break;\n\n            case _util.OPS.setStrokeColor:\n              cs = stateManager.state.strokeColorSpace;\n              args = cs.getRgb(args, 0);\n              fn = _util.OPS.setStrokeRGBColor;\n              break;\n\n            case _util.OPS.setFillGray:\n              stateManager.state.fillColorSpace = _colorspace.ColorSpace.singletons.gray;\n              args = _colorspace.ColorSpace.singletons.gray.getRgb(args, 0);\n              fn = _util.OPS.setFillRGBColor;\n              break;\n\n            case _util.OPS.setStrokeGray:\n              stateManager.state.strokeColorSpace = _colorspace.ColorSpace.singletons.gray;\n              args = _colorspace.ColorSpace.singletons.gray.getRgb(args, 0);\n              fn = _util.OPS.setStrokeRGBColor;\n              break;\n\n            case _util.OPS.setFillCMYKColor:\n              stateManager.state.fillColorSpace = _colorspace.ColorSpace.singletons.cmyk;\n              args = _colorspace.ColorSpace.singletons.cmyk.getRgb(args, 0);\n              fn = _util.OPS.setFillRGBColor;\n              break;\n\n            case _util.OPS.setStrokeCMYKColor:\n              stateManager.state.strokeColorSpace = _colorspace.ColorSpace.singletons.cmyk;\n              args = _colorspace.ColorSpace.singletons.cmyk.getRgb(args, 0);\n              fn = _util.OPS.setStrokeRGBColor;\n              break;\n\n            case _util.OPS.setFillRGBColor:\n              stateManager.state.fillColorSpace = _colorspace.ColorSpace.singletons.rgb;\n              args = _colorspace.ColorSpace.singletons.rgb.getRgb(args, 0);\n              break;\n\n            case _util.OPS.setStrokeRGBColor:\n              stateManager.state.strokeColorSpace = _colorspace.ColorSpace.singletons.rgb;\n              args = _colorspace.ColorSpace.singletons.rgb.getRgb(args, 0);\n              break;\n\n            case _util.OPS.setFillColorN:\n              cs = stateManager.state.fillColorSpace;\n\n              if (cs.name === \"Pattern\") {\n                next(self.handleColorN(operatorList, _util.OPS.setFillColorN, args, cs, patterns, resources, task));\n                return;\n              }\n\n              args = cs.getRgb(args, 0);\n              fn = _util.OPS.setFillRGBColor;\n              break;\n\n            case _util.OPS.setStrokeColorN:\n              cs = stateManager.state.strokeColorSpace;\n\n              if (cs.name === \"Pattern\") {\n                next(self.handleColorN(operatorList, _util.OPS.setStrokeColorN, args, cs, patterns, resources, task));\n                return;\n              }\n\n              args = cs.getRgb(args, 0);\n              fn = _util.OPS.setStrokeRGBColor;\n              break;\n\n            case _util.OPS.shadingFill:\n              var shadingRes = resources.get(\"Shading\");\n\n              if (!shadingRes) {\n                throw new _util.FormatError(\"No shading resource found\");\n              }\n\n              var shading = shadingRes.get(args[0].name);\n\n              if (!shading) {\n                throw new _util.FormatError(\"No shading object found\");\n              }\n\n              var shadingFill = _pattern.Pattern.parseShading(shading, null, xref, resources, self.handler, self.pdfFunctionFactory);\n\n              var patternIR = shadingFill.getIR();\n              args = [patternIR];\n              fn = _util.OPS.shadingFill;\n              break;\n\n            case _util.OPS.setGState:\n              var dictName = args[0];\n              var extGState = resources.get(\"ExtGState\");\n\n              if (!(0, _primitives.isDict)(extGState) || !extGState.has(dictName.name)) {\n                break;\n              }\n\n              var gState = extGState.get(dictName.name);\n              next(self.setGState(resources, gState, operatorList, task, stateManager));\n              return;\n\n            case _util.OPS.moveTo:\n            case _util.OPS.lineTo:\n            case _util.OPS.curveTo:\n            case _util.OPS.curveTo2:\n            case _util.OPS.curveTo3:\n            case _util.OPS.closePath:\n            case _util.OPS.rectangle:\n              self.buildPath(operatorList, fn, args, parsingText);\n              continue;\n\n            case _util.OPS.markPoint:\n            case _util.OPS.markPointProps:\n            case _util.OPS.beginMarkedContent:\n            case _util.OPS.beginMarkedContentProps:\n            case _util.OPS.endMarkedContent:\n            case _util.OPS.beginCompat:\n            case _util.OPS.endCompat:\n              continue;\n\n            default:\n              if (args !== null) {\n                for (i = 0, ii = args.length; i < ii; i++) {\n                  if (args[i] instanceof _primitives.Dict) {\n                    break;\n                  }\n                }\n\n                if (i < ii) {\n                  (0, _util.warn)(\"getOperatorList - ignoring operator: \" + fn);\n                  continue;\n                }\n              }\n\n          }\n\n          operatorList.addOp(fn, args);\n        }\n\n        if (stop) {\n          next(deferred);\n          return;\n        }\n\n        closePendingRestoreOPS();\n        resolve();\n      })[\"catch\"](function (reason) {\n        if (reason instanceof _util.AbortException) {\n          return;\n        }\n\n        if (_this10.options.ignoreErrors) {\n          _this10.handler.send(\"UnsupportedFeature\", {\n            featureId: _util.UNSUPPORTED_FEATURES.errorOperatorList\n          });\n\n          (0, _util.warn)(\"getOperatorList - ignoring errors during \\\"\".concat(task.name, \"\\\" \") + \"task: \\\"\".concat(reason, \"\\\".\"));\n          closePendingRestoreOPS();\n          return;\n        }\n\n        throw reason;\n      });\n    },\n    getTextContent: function getTextContent(_ref7) {\n      var _this11 = this;\n\n      var stream = _ref7.stream,\n          task = _ref7.task,\n          resources = _ref7.resources,\n          _ref7$stateManager = _ref7.stateManager,\n          stateManager = _ref7$stateManager === void 0 ? null : _ref7$stateManager,\n          _ref7$normalizeWhites = _ref7.normalizeWhitespace,\n          normalizeWhitespace = _ref7$normalizeWhites === void 0 ? false : _ref7$normalizeWhites,\n          _ref7$combineTextItem = _ref7.combineTextItems,\n          combineTextItems = _ref7$combineTextItem === void 0 ? false : _ref7$combineTextItem,\n          sink = _ref7.sink,\n          _ref7$seenStyles = _ref7.seenStyles,\n          seenStyles = _ref7$seenStyles === void 0 ? Object.create(null) : _ref7$seenStyles;\n      resources = resources || _primitives.Dict.empty;\n      stateManager = stateManager || new StateManager(new TextState());\n      var WhitespaceRegexp = /\\s/g;\n      var textContent = {\n        items: [],\n        styles: Object.create(null)\n      };\n      var textContentItem = {\n        initialized: false,\n        str: [],\n        width: 0,\n        height: 0,\n        vertical: false,\n        lastAdvanceWidth: 0,\n        lastAdvanceHeight: 0,\n        textAdvanceScale: 0,\n        spaceWidth: 0,\n        fakeSpaceMin: Infinity,\n        fakeMultiSpaceMin: Infinity,\n        fakeMultiSpaceMax: -0,\n        textRunBreakAllowed: false,\n        transform: null,\n        fontName: null\n      };\n      var SPACE_FACTOR = 0.3;\n      var MULTI_SPACE_FACTOR = 1.5;\n      var MULTI_SPACE_FACTOR_MAX = 4;\n      var self = this;\n      var xref = this.xref;\n      var xobjs = null;\n      var emptyXObjectCache = new _image_utils.LocalImageCache();\n      var preprocessor = new EvaluatorPreprocessor(stream, xref, stateManager);\n      var textState;\n\n      function ensureTextContentItem() {\n        if (textContentItem.initialized) {\n          return textContentItem;\n        }\n\n        var font = textState.font;\n\n        if (!(font.loadedName in seenStyles)) {\n          seenStyles[font.loadedName] = true;\n          textContent.styles[font.loadedName] = {\n            fontFamily: font.fallbackName,\n            ascent: font.ascent,\n            descent: font.descent,\n            vertical: font.vertical\n          };\n        }\n\n        textContentItem.fontName = font.loadedName;\n        var tsm = [textState.fontSize * textState.textHScale, 0, 0, textState.fontSize, 0, textState.textRise];\n\n        if (font.isType3Font && textState.fontSize <= 1 && !(0, _util.isArrayEqual)(textState.fontMatrix, _util.FONT_IDENTITY_MATRIX)) {\n          var glyphHeight = font.bbox[3] - font.bbox[1];\n\n          if (glyphHeight > 0) {\n            tsm[3] *= glyphHeight * textState.fontMatrix[3];\n          }\n        }\n\n        var trm = _util.Util.transform(textState.ctm, _util.Util.transform(textState.textMatrix, tsm));\n\n        textContentItem.transform = trm;\n\n        if (!font.vertical) {\n          textContentItem.width = 0;\n          textContentItem.height = Math.sqrt(trm[2] * trm[2] + trm[3] * trm[3]);\n          textContentItem.vertical = false;\n        } else {\n          textContentItem.width = Math.sqrt(trm[0] * trm[0] + trm[1] * trm[1]);\n          textContentItem.height = 0;\n          textContentItem.vertical = true;\n        }\n\n        var a = textState.textLineMatrix[0];\n        var b = textState.textLineMatrix[1];\n        var scaleLineX = Math.sqrt(a * a + b * b);\n        a = textState.ctm[0];\n        b = textState.ctm[1];\n        var scaleCtmX = Math.sqrt(a * a + b * b);\n        textContentItem.textAdvanceScale = scaleCtmX * scaleLineX;\n        textContentItem.lastAdvanceWidth = 0;\n        textContentItem.lastAdvanceHeight = 0;\n        var spaceWidth = font.spaceWidth / 1000 * textState.fontSize;\n\n        if (spaceWidth) {\n          textContentItem.spaceWidth = spaceWidth;\n          textContentItem.fakeSpaceMin = spaceWidth * SPACE_FACTOR;\n          textContentItem.fakeMultiSpaceMin = spaceWidth * MULTI_SPACE_FACTOR;\n          textContentItem.fakeMultiSpaceMax = spaceWidth * MULTI_SPACE_FACTOR_MAX;\n          textContentItem.textRunBreakAllowed = !font.isMonospace;\n        } else {\n          textContentItem.spaceWidth = 0;\n          textContentItem.fakeSpaceMin = Infinity;\n          textContentItem.fakeMultiSpaceMin = Infinity;\n          textContentItem.fakeMultiSpaceMax = 0;\n          textContentItem.textRunBreakAllowed = false;\n        }\n\n        textContentItem.initialized = true;\n        return textContentItem;\n      }\n\n      function replaceWhitespace(str) {\n        var i = 0,\n            ii = str.length,\n            code;\n\n        while (i < ii && (code = str.charCodeAt(i)) >= 0x20 && code <= 0x7f) {\n          i++;\n        }\n\n        return i < ii ? str.replace(WhitespaceRegexp, \" \") : str;\n      }\n\n      function runBidiTransform(textChunk) {\n        var str = textChunk.str.join(\"\");\n        var bidiResult = (0, _bidi.bidi)(str, -1, textChunk.vertical);\n        return {\n          str: normalizeWhitespace ? replaceWhitespace(bidiResult.str) : bidiResult.str,\n          dir: bidiResult.dir,\n          width: textChunk.width,\n          height: textChunk.height,\n          transform: textChunk.transform,\n          fontName: textChunk.fontName\n        };\n      }\n\n      function handleSetFont(fontName, fontRef) {\n        return self.loadFont(fontName, fontRef, resources).then(function (translated) {\n          textState.font = translated.font;\n          textState.fontMatrix = translated.font.fontMatrix || _util.FONT_IDENTITY_MATRIX;\n        });\n      }\n\n      function buildTextContentItem(chars) {\n        var font = textState.font;\n        var textChunk = ensureTextContentItem();\n        var width = 0;\n        var height = 0;\n        var glyphs = font.charsToGlyphs(chars);\n\n        for (var i = 0; i < glyphs.length; i++) {\n          var glyph = glyphs[i];\n          var glyphWidth = null;\n\n          if (font.vertical && glyph.vmetric) {\n            glyphWidth = glyph.vmetric[0];\n          } else {\n            glyphWidth = glyph.width;\n          }\n\n          var glyphUnicode = glyph.unicode;\n          var NormalizedUnicodes = (0, _unicode.getNormalizedUnicodes)();\n\n          if (NormalizedUnicodes[glyphUnicode] !== undefined) {\n            glyphUnicode = NormalizedUnicodes[glyphUnicode];\n          }\n\n          glyphUnicode = (0, _unicode.reverseIfRtl)(glyphUnicode);\n          var charSpacing = textState.charSpacing;\n\n          if (glyph.isSpace) {\n            var wordSpacing = textState.wordSpacing;\n            charSpacing += wordSpacing;\n\n            if (wordSpacing > 0) {\n              addFakeSpaces(wordSpacing, textChunk.str);\n            }\n          }\n\n          var tx = 0;\n          var ty = 0;\n\n          if (!font.vertical) {\n            var w0 = glyphWidth * textState.fontMatrix[0];\n            tx = (w0 * textState.fontSize + charSpacing) * textState.textHScale;\n            width += tx;\n          } else {\n            var w1 = glyphWidth * textState.fontMatrix[0];\n            ty = w1 * textState.fontSize + charSpacing;\n            height += ty;\n          }\n\n          textState.translateTextMatrix(tx, ty);\n          textChunk.str.push(glyphUnicode);\n        }\n\n        if (!font.vertical) {\n          textChunk.lastAdvanceWidth = width;\n          textChunk.width += width;\n        } else {\n          textChunk.lastAdvanceHeight = height;\n          textChunk.height += Math.abs(height);\n        }\n\n        return textChunk;\n      }\n\n      function addFakeSpaces(width, strBuf) {\n        if (width < textContentItem.fakeSpaceMin) {\n          return;\n        }\n\n        if (width < textContentItem.fakeMultiSpaceMin) {\n          strBuf.push(\" \");\n          return;\n        }\n\n        var fakeSpaces = Math.round(width / textContentItem.spaceWidth);\n\n        while (fakeSpaces-- > 0) {\n          strBuf.push(\" \");\n        }\n      }\n\n      function flushTextContentItem() {\n        if (!textContentItem.initialized) {\n          return;\n        }\n\n        if (!textContentItem.vertical) {\n          textContentItem.width *= textContentItem.textAdvanceScale;\n        } else {\n          textContentItem.height *= textContentItem.textAdvanceScale;\n        }\n\n        textContent.items.push(runBidiTransform(textContentItem));\n        textContentItem.initialized = false;\n        textContentItem.str.length = 0;\n      }\n\n      function enqueueChunk() {\n        var length = textContent.items.length;\n\n        if (length > 0) {\n          sink.enqueue(textContent, length);\n          textContent.items = [];\n          textContent.styles = Object.create(null);\n        }\n      }\n\n      var timeSlotManager = new TimeSlotManager();\n      return new Promise(function promiseBody(resolve, reject) {\n        var next = function next(promise) {\n          enqueueChunk();\n          Promise.all([promise, sink.ready]).then(function () {\n            try {\n              promiseBody(resolve, reject);\n            } catch (ex) {\n              reject(ex);\n            }\n          }, reject);\n        };\n\n        task.ensureNotTerminated();\n        timeSlotManager.reset();\n        var stop,\n            operation = {},\n            args = [];\n\n        while (!(stop = timeSlotManager.check())) {\n          args.length = 0;\n          operation.args = args;\n\n          if (!preprocessor.read(operation)) {\n            break;\n          }\n\n          textState = stateManager.state;\n          var fn = operation.fn;\n          args = operation.args;\n          var advance, diff;\n\n          switch (fn | 0) {\n            case _util.OPS.setFont:\n              var fontNameArg = args[0].name,\n                  fontSizeArg = args[1];\n\n              if (textState.font && fontNameArg === textState.fontName && fontSizeArg === textState.fontSize) {\n                break;\n              }\n\n              flushTextContentItem();\n              textState.fontName = fontNameArg;\n              textState.fontSize = fontSizeArg;\n              next(handleSetFont(fontNameArg, null));\n              return;\n\n            case _util.OPS.setTextRise:\n              flushTextContentItem();\n              textState.textRise = args[0];\n              break;\n\n            case _util.OPS.setHScale:\n              flushTextContentItem();\n              textState.textHScale = args[0] / 100;\n              break;\n\n            case _util.OPS.setLeading:\n              flushTextContentItem();\n              textState.leading = args[0];\n              break;\n\n            case _util.OPS.moveText:\n              var isSameTextLine = !textState.font ? false : (textState.font.vertical ? args[0] : args[1]) === 0;\n              advance = args[0] - args[1];\n\n              if (combineTextItems && isSameTextLine && textContentItem.initialized && advance > 0 && advance <= textContentItem.fakeMultiSpaceMax) {\n                textState.translateTextLineMatrix(args[0], args[1]);\n                textContentItem.width += args[0] - textContentItem.lastAdvanceWidth;\n                textContentItem.height += args[1] - textContentItem.lastAdvanceHeight;\n                diff = args[0] - textContentItem.lastAdvanceWidth - (args[1] - textContentItem.lastAdvanceHeight);\n                addFakeSpaces(diff, textContentItem.str);\n                break;\n              }\n\n              flushTextContentItem();\n              textState.translateTextLineMatrix(args[0], args[1]);\n              textState.textMatrix = textState.textLineMatrix.slice();\n              break;\n\n            case _util.OPS.setLeadingMoveText:\n              flushTextContentItem();\n              textState.leading = -args[1];\n              textState.translateTextLineMatrix(args[0], args[1]);\n              textState.textMatrix = textState.textLineMatrix.slice();\n              break;\n\n            case _util.OPS.nextLine:\n              flushTextContentItem();\n              textState.carriageReturn();\n              break;\n\n            case _util.OPS.setTextMatrix:\n              advance = textState.calcTextLineMatrixAdvance(args[0], args[1], args[2], args[3], args[4], args[5]);\n\n              if (combineTextItems && advance !== null && textContentItem.initialized && advance.value > 0 && advance.value <= textContentItem.fakeMultiSpaceMax) {\n                textState.translateTextLineMatrix(advance.width, advance.height);\n                textContentItem.width += advance.width - textContentItem.lastAdvanceWidth;\n                textContentItem.height += advance.height - textContentItem.lastAdvanceHeight;\n                diff = advance.width - textContentItem.lastAdvanceWidth - (advance.height - textContentItem.lastAdvanceHeight);\n                addFakeSpaces(diff, textContentItem.str);\n                break;\n              }\n\n              flushTextContentItem();\n              textState.setTextMatrix(args[0], args[1], args[2], args[3], args[4], args[5]);\n              textState.setTextLineMatrix(args[0], args[1], args[2], args[3], args[4], args[5]);\n              break;\n\n            case _util.OPS.setCharSpacing:\n              textState.charSpacing = args[0];\n              break;\n\n            case _util.OPS.setWordSpacing:\n              textState.wordSpacing = args[0];\n              break;\n\n            case _util.OPS.beginText:\n              flushTextContentItem();\n              textState.textMatrix = _util.IDENTITY_MATRIX.slice();\n              textState.textLineMatrix = _util.IDENTITY_MATRIX.slice();\n              break;\n\n            case _util.OPS.showSpacedText:\n              if (!stateManager.state.font) {\n                self.ensureStateFont(stateManager.state);\n                continue;\n              }\n\n              var items = args[0];\n              var offset;\n\n              for (var j = 0, jj = items.length; j < jj; j++) {\n                if (typeof items[j] === \"string\") {\n                  buildTextContentItem(items[j]);\n                } else if ((0, _util.isNum)(items[j])) {\n                  ensureTextContentItem();\n                  advance = items[j] * textState.fontSize / 1000;\n                  var breakTextRun = false;\n\n                  if (textState.font.vertical) {\n                    offset = advance;\n                    textState.translateTextMatrix(0, offset);\n                    breakTextRun = textContentItem.textRunBreakAllowed && advance > textContentItem.fakeMultiSpaceMax;\n\n                    if (!breakTextRun) {\n                      textContentItem.height += offset;\n                    }\n                  } else {\n                    advance = -advance;\n                    offset = advance * textState.textHScale;\n                    textState.translateTextMatrix(offset, 0);\n                    breakTextRun = textContentItem.textRunBreakAllowed && advance > textContentItem.fakeMultiSpaceMax;\n\n                    if (!breakTextRun) {\n                      textContentItem.width += offset;\n                    }\n                  }\n\n                  if (breakTextRun) {\n                    flushTextContentItem();\n                  } else if (advance > 0) {\n                    addFakeSpaces(advance, textContentItem.str);\n                  }\n                }\n              }\n\n              break;\n\n            case _util.OPS.showText:\n              if (!stateManager.state.font) {\n                self.ensureStateFont(stateManager.state);\n                continue;\n              }\n\n              buildTextContentItem(args[0]);\n              break;\n\n            case _util.OPS.nextLineShowText:\n              if (!stateManager.state.font) {\n                self.ensureStateFont(stateManager.state);\n                continue;\n              }\n\n              flushTextContentItem();\n              textState.carriageReturn();\n              buildTextContentItem(args[0]);\n              break;\n\n            case _util.OPS.nextLineSetSpacingShowText:\n              if (!stateManager.state.font) {\n                self.ensureStateFont(stateManager.state);\n                continue;\n              }\n\n              flushTextContentItem();\n              textState.wordSpacing = args[0];\n              textState.charSpacing = args[1];\n              textState.carriageReturn();\n              buildTextContentItem(args[2]);\n              break;\n\n            case _util.OPS.paintXObject:\n              flushTextContentItem();\n\n              if (!xobjs) {\n                xobjs = resources.get(\"XObject\") || _primitives.Dict.empty;\n              }\n\n              var name = args[0].name;\n\n              if (name && emptyXObjectCache.getByName(name)) {\n                break;\n              }\n\n              next(new Promise(function (resolveXObject, rejectXObject) {\n                if (!name) {\n                  throw new _util.FormatError(\"XObject must be referred to by name.\");\n                }\n\n                var xobj = xobjs.getRaw(name);\n\n                if (xobj instanceof _primitives.Ref) {\n                  if (emptyXObjectCache.getByRef(xobj)) {\n                    resolveXObject();\n                    return;\n                  }\n\n                  xobj = xref.fetch(xobj);\n                }\n\n                if (!xobj) {\n                  resolveXObject();\n                  return;\n                }\n\n                if (!(0, _primitives.isStream)(xobj)) {\n                  throw new _util.FormatError(\"XObject should be a stream\");\n                }\n\n                var type = xobj.dict.get(\"Subtype\");\n\n                if (!(0, _primitives.isName)(type)) {\n                  throw new _util.FormatError(\"XObject should have a Name subtype\");\n                }\n\n                if (type.name !== \"Form\") {\n                  emptyXObjectCache.set(name, xobj.dict.objId, true);\n                  resolveXObject();\n                  return;\n                }\n\n                var currentState = stateManager.state.clone();\n                var xObjStateManager = new StateManager(currentState);\n                var matrix = xobj.dict.getArray(\"Matrix\");\n\n                if (Array.isArray(matrix) && matrix.length === 6) {\n                  xObjStateManager.transform(matrix);\n                }\n\n                enqueueChunk();\n                var sinkWrapper = {\n                  enqueueInvoked: false,\n                  enqueue: function enqueue(chunk, size) {\n                    this.enqueueInvoked = true;\n                    sink.enqueue(chunk, size);\n                  },\n\n                  get desiredSize() {\n                    return sink.desiredSize;\n                  },\n\n                  get ready() {\n                    return sink.ready;\n                  }\n\n                };\n                self.getTextContent({\n                  stream: xobj,\n                  task: task,\n                  resources: xobj.dict.get(\"Resources\") || resources,\n                  stateManager: xObjStateManager,\n                  normalizeWhitespace: normalizeWhitespace,\n                  combineTextItems: combineTextItems,\n                  sink: sinkWrapper,\n                  seenStyles: seenStyles\n                }).then(function () {\n                  if (!sinkWrapper.enqueueInvoked) {\n                    emptyXObjectCache.set(name, xobj.dict.objId, true);\n                  }\n\n                  resolveXObject();\n                }, rejectXObject);\n              })[\"catch\"](function (reason) {\n                if (reason instanceof _util.AbortException) {\n                  return;\n                }\n\n                if (self.options.ignoreErrors) {\n                  (0, _util.warn)(\"getTextContent - ignoring XObject: \\\"\".concat(reason, \"\\\".\"));\n                  return;\n                }\n\n                throw reason;\n              }));\n              return;\n\n            case _util.OPS.setGState:\n              flushTextContentItem();\n              var dictName = args[0];\n              var extGState = resources.get(\"ExtGState\");\n\n              if (!(0, _primitives.isDict)(extGState) || !(0, _primitives.isName)(dictName)) {\n                break;\n              }\n\n              var gState = extGState.get(dictName.name);\n\n              if (!(0, _primitives.isDict)(gState)) {\n                break;\n              }\n\n              var gStateFont = gState.get(\"Font\");\n\n              if (gStateFont) {\n                textState.fontName = null;\n                textState.fontSize = gStateFont[1];\n                next(handleSetFont(null, gStateFont[0]));\n                return;\n              }\n\n              break;\n          }\n\n          if (textContent.items.length >= sink.desiredSize) {\n            stop = true;\n            break;\n          }\n        }\n\n        if (stop) {\n          next(deferred);\n          return;\n        }\n\n        flushTextContentItem();\n        enqueueChunk();\n        resolve();\n      })[\"catch\"](function (reason) {\n        if (reason instanceof _util.AbortException) {\n          return;\n        }\n\n        if (_this11.options.ignoreErrors) {\n          (0, _util.warn)(\"getTextContent - ignoring errors during \\\"\".concat(task.name, \"\\\" \") + \"task: \\\"\".concat(reason, \"\\\".\"));\n          flushTextContentItem();\n          enqueueChunk();\n          return;\n        }\n\n        throw reason;\n      });\n    },\n    extractDataStructures: function PartialEvaluator_extractDataStructures(dict, baseDict, properties) {\n      var _this12 = this;\n\n      var xref = this.xref;\n      var cidToGidBytes;\n      var toUnicode = dict.get(\"ToUnicode\") || baseDict.get(\"ToUnicode\");\n      var toUnicodePromise = toUnicode ? this.readToUnicode(toUnicode) : Promise.resolve(undefined);\n\n      if (properties.composite) {\n        var cidSystemInfo = dict.get(\"CIDSystemInfo\");\n\n        if ((0, _primitives.isDict)(cidSystemInfo)) {\n          properties.cidSystemInfo = {\n            registry: (0, _util.stringToPDFString)(cidSystemInfo.get(\"Registry\")),\n            ordering: (0, _util.stringToPDFString)(cidSystemInfo.get(\"Ordering\")),\n            supplement: cidSystemInfo.get(\"Supplement\")\n          };\n        }\n\n        var cidToGidMap = dict.get(\"CIDToGIDMap\");\n\n        if ((0, _primitives.isStream)(cidToGidMap)) {\n          cidToGidBytes = cidToGidMap.getBytes();\n        }\n      }\n\n      var differences = [];\n      var baseEncodingName = null;\n      var encoding;\n\n      if (dict.has(\"Encoding\")) {\n        encoding = dict.get(\"Encoding\");\n\n        if ((0, _primitives.isDict)(encoding)) {\n          baseEncodingName = encoding.get(\"BaseEncoding\");\n          baseEncodingName = (0, _primitives.isName)(baseEncodingName) ? baseEncodingName.name : null;\n\n          if (encoding.has(\"Differences\")) {\n            var diffEncoding = encoding.get(\"Differences\");\n            var index = 0;\n\n            for (var j = 0, jj = diffEncoding.length; j < jj; j++) {\n              var data = xref.fetchIfRef(diffEncoding[j]);\n\n              if ((0, _util.isNum)(data)) {\n                index = data;\n              } else if ((0, _primitives.isName)(data)) {\n                differences[index++] = data.name;\n              } else {\n                throw new _util.FormatError(\"Invalid entry in 'Differences' array: \".concat(data));\n              }\n            }\n          }\n        } else if ((0, _primitives.isName)(encoding)) {\n          baseEncodingName = encoding.name;\n        } else {\n          throw new _util.FormatError(\"Encoding is not a Name nor a Dict\");\n        }\n\n        if (baseEncodingName !== \"MacRomanEncoding\" && baseEncodingName !== \"MacExpertEncoding\" && baseEncodingName !== \"WinAnsiEncoding\") {\n          baseEncodingName = null;\n        }\n      }\n\n      if (baseEncodingName) {\n        properties.defaultEncoding = (0, _encodings.getEncoding)(baseEncodingName).slice();\n      } else {\n        var isSymbolicFont = !!(properties.flags & _fonts.FontFlags.Symbolic);\n        var isNonsymbolicFont = !!(properties.flags & _fonts.FontFlags.Nonsymbolic);\n        encoding = _encodings.StandardEncoding;\n\n        if (properties.type === \"TrueType\" && !isNonsymbolicFont) {\n          encoding = _encodings.WinAnsiEncoding;\n        }\n\n        if (isSymbolicFont) {\n          encoding = _encodings.MacRomanEncoding;\n\n          if (!properties.file) {\n            if (/Symbol/i.test(properties.name)) {\n              encoding = _encodings.SymbolSetEncoding;\n            } else if (/Dingbats|Wingdings/i.test(properties.name)) {\n              encoding = _encodings.ZapfDingbatsEncoding;\n            }\n          }\n        }\n\n        properties.defaultEncoding = encoding;\n      }\n\n      properties.differences = differences;\n      properties.baseEncodingName = baseEncodingName;\n      properties.hasEncoding = !!baseEncodingName || differences.length > 0;\n      properties.dict = dict;\n      return toUnicodePromise.then(function (readToUnicode) {\n        properties.toUnicode = readToUnicode;\n        return _this12.buildToUnicode(properties);\n      }).then(function (builtToUnicode) {\n        properties.toUnicode = builtToUnicode;\n\n        if (cidToGidBytes) {\n          properties.cidToGidMap = _this12.readCidToGidMap(cidToGidBytes, builtToUnicode);\n        }\n\n        return properties;\n      });\n    },\n    _buildSimpleFontToUnicode: function _buildSimpleFontToUnicode(properties) {\n      var forceGlyphs = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n      (0, _util.assert)(!properties.composite, \"Must be a simple font.\");\n      var toUnicode = [];\n      var encoding = properties.defaultEncoding.slice();\n      var baseEncodingName = properties.baseEncodingName;\n      var differences = properties.differences;\n\n      for (var charcode in differences) {\n        var glyphName = differences[charcode];\n\n        if (glyphName === \".notdef\") {\n          continue;\n        }\n\n        encoding[charcode] = glyphName;\n      }\n\n      var glyphsUnicodeMap = (0, _glyphlist.getGlyphsUnicode)();\n\n      for (var _charcode in encoding) {\n        var _glyphName = encoding[_charcode];\n\n        if (_glyphName === \"\") {\n          continue;\n        } else if (glyphsUnicodeMap[_glyphName] === undefined) {\n          var code = 0;\n\n          switch (_glyphName[0]) {\n            case \"G\":\n              if (_glyphName.length === 3) {\n                code = parseInt(_glyphName.substring(1), 16);\n              }\n\n              break;\n\n            case \"g\":\n              if (_glyphName.length === 5) {\n                code = parseInt(_glyphName.substring(1), 16);\n              }\n\n              break;\n\n            case \"C\":\n            case \"c\":\n              if (_glyphName.length >= 3 && _glyphName.length <= 4) {\n                var codeStr = _glyphName.substring(1);\n\n                if (forceGlyphs) {\n                  code = parseInt(codeStr, 16);\n                  break;\n                }\n\n                code = +codeStr;\n\n                if (Number.isNaN(code) && Number.isInteger(parseInt(codeStr, 16))) {\n                  return this._buildSimpleFontToUnicode(properties, true);\n                }\n              }\n\n              break;\n\n            default:\n              var unicode = (0, _unicode.getUnicodeForGlyph)(_glyphName, glyphsUnicodeMap);\n\n              if (unicode !== -1) {\n                code = unicode;\n              }\n\n          }\n\n          if (code > 0 && code <= 0x10ffff && Number.isInteger(code)) {\n            if (baseEncodingName && code === +_charcode) {\n              var baseEncoding = (0, _encodings.getEncoding)(baseEncodingName);\n\n              if (baseEncoding && (_glyphName = baseEncoding[_charcode])) {\n                toUnicode[_charcode] = String.fromCharCode(glyphsUnicodeMap[_glyphName]);\n                continue;\n              }\n            }\n\n            toUnicode[_charcode] = String.fromCodePoint(code);\n          }\n\n          continue;\n        }\n\n        toUnicode[_charcode] = String.fromCharCode(glyphsUnicodeMap[_glyphName]);\n      }\n\n      return new _fonts.ToUnicodeMap(toUnicode);\n    },\n    buildToUnicode: function buildToUnicode(properties) {\n      properties.hasIncludedToUnicodeMap = !!properties.toUnicode && properties.toUnicode.length > 0;\n\n      if (properties.hasIncludedToUnicodeMap) {\n        if (!properties.composite && properties.hasEncoding) {\n          properties.fallbackToUnicode = this._buildSimpleFontToUnicode(properties);\n        }\n\n        return Promise.resolve(properties.toUnicode);\n      }\n\n      if (!properties.composite) {\n        return Promise.resolve(this._buildSimpleFontToUnicode(properties));\n      }\n\n      if (properties.composite && (properties.cMap.builtInCMap && !(properties.cMap instanceof _cmap.IdentityCMap) || properties.cidSystemInfo.registry === \"Adobe\" && (properties.cidSystemInfo.ordering === \"GB1\" || properties.cidSystemInfo.ordering === \"CNS1\" || properties.cidSystemInfo.ordering === \"Japan1\" || properties.cidSystemInfo.ordering === \"Korea1\"))) {\n        var registry = properties.cidSystemInfo.registry;\n        var ordering = properties.cidSystemInfo.ordering;\n\n        var ucs2CMapName = _primitives.Name.get(registry + \"-\" + ordering + \"-UCS2\");\n\n        return _cmap.CMapFactory.create({\n          encoding: ucs2CMapName,\n          fetchBuiltInCMap: this.fetchBuiltInCMap,\n          useCMap: null\n        }).then(function (ucs2CMap) {\n          var cMap = properties.cMap;\n          var toUnicode = [];\n          cMap.forEach(function (charcode, cid) {\n            if (cid > 0xffff) {\n              throw new _util.FormatError(\"Max size of CID is 65,535\");\n            }\n\n            var ucs2 = ucs2CMap.lookup(cid);\n\n            if (ucs2) {\n              toUnicode[charcode] = String.fromCharCode((ucs2.charCodeAt(0) << 8) + ucs2.charCodeAt(1));\n            }\n          });\n          return new _fonts.ToUnicodeMap(toUnicode);\n        });\n      }\n\n      return Promise.resolve(new _fonts.IdentityToUnicodeMap(properties.firstChar, properties.lastChar));\n    },\n    readToUnicode: function PartialEvaluator_readToUnicode(toUnicode) {\n      var _this13 = this;\n\n      var cmapObj = toUnicode;\n\n      if ((0, _primitives.isName)(cmapObj)) {\n        return _cmap.CMapFactory.create({\n          encoding: cmapObj,\n          fetchBuiltInCMap: this.fetchBuiltInCMap,\n          useCMap: null\n        }).then(function (cmap) {\n          if (cmap instanceof _cmap.IdentityCMap) {\n            return new _fonts.IdentityToUnicodeMap(0, 0xffff);\n          }\n\n          return new _fonts.ToUnicodeMap(cmap.getMap());\n        });\n      } else if ((0, _primitives.isStream)(cmapObj)) {\n        return _cmap.CMapFactory.create({\n          encoding: cmapObj,\n          fetchBuiltInCMap: this.fetchBuiltInCMap,\n          useCMap: null\n        }).then(function (cmap) {\n          if (cmap instanceof _cmap.IdentityCMap) {\n            return new _fonts.IdentityToUnicodeMap(0, 0xffff);\n          }\n\n          var map = new Array(cmap.length);\n          cmap.forEach(function (charCode, token) {\n            var str = [];\n\n            for (var k = 0; k < token.length; k += 2) {\n              var w1 = token.charCodeAt(k) << 8 | token.charCodeAt(k + 1);\n\n              if ((w1 & 0xf800) !== 0xd800) {\n                str.push(w1);\n                continue;\n              }\n\n              k += 2;\n              var w2 = token.charCodeAt(k) << 8 | token.charCodeAt(k + 1);\n              str.push(((w1 & 0x3ff) << 10) + (w2 & 0x3ff) + 0x10000);\n            }\n\n            map[charCode] = String.fromCodePoint.apply(String, str);\n          });\n          return new _fonts.ToUnicodeMap(map);\n        }, function (reason) {\n          if (reason instanceof _util.AbortException) {\n            return null;\n          }\n\n          if (_this13.options.ignoreErrors) {\n            _this13.handler.send(\"UnsupportedFeature\", {\n              featureId: _util.UNSUPPORTED_FEATURES.errorFontToUnicode\n            });\n\n            (0, _util.warn)(\"readToUnicode - ignoring ToUnicode data: \\\"\".concat(reason, \"\\\".\"));\n            return null;\n          }\n\n          throw reason;\n        });\n      }\n\n      return Promise.resolve(null);\n    },\n    readCidToGidMap: function readCidToGidMap(glyphsData, toUnicode) {\n      var result = [];\n\n      for (var j = 0, jj = glyphsData.length; j < jj; j++) {\n        var glyphID = glyphsData[j++] << 8 | glyphsData[j];\n        var code = j >> 1;\n\n        if (glyphID === 0 && !toUnicode.has(code)) {\n          continue;\n        }\n\n        result[code] = glyphID;\n      }\n\n      return result;\n    },\n    extractWidths: function PartialEvaluator_extractWidths(dict, descriptor, properties) {\n      var xref = this.xref;\n      var glyphsWidths = [];\n      var defaultWidth = 0;\n      var glyphsVMetrics = [];\n      var defaultVMetrics;\n      var i, ii, j, jj, start, code, widths;\n\n      if (properties.composite) {\n        defaultWidth = dict.has(\"DW\") ? dict.get(\"DW\") : 1000;\n        widths = dict.get(\"W\");\n\n        if (widths) {\n          for (i = 0, ii = widths.length; i < ii; i++) {\n            start = xref.fetchIfRef(widths[i++]);\n            code = xref.fetchIfRef(widths[i]);\n\n            if (Array.isArray(code)) {\n              for (j = 0, jj = code.length; j < jj; j++) {\n                glyphsWidths[start++] = xref.fetchIfRef(code[j]);\n              }\n            } else {\n              var width = xref.fetchIfRef(widths[++i]);\n\n              for (j = start; j <= code; j++) {\n                glyphsWidths[j] = width;\n              }\n            }\n          }\n        }\n\n        if (properties.vertical) {\n          var vmetrics = dict.getArray(\"DW2\") || [880, -1000];\n          defaultVMetrics = [vmetrics[1], defaultWidth * 0.5, vmetrics[0]];\n          vmetrics = dict.get(\"W2\");\n\n          if (vmetrics) {\n            for (i = 0, ii = vmetrics.length; i < ii; i++) {\n              start = xref.fetchIfRef(vmetrics[i++]);\n              code = xref.fetchIfRef(vmetrics[i]);\n\n              if (Array.isArray(code)) {\n                for (j = 0, jj = code.length; j < jj; j++) {\n                  glyphsVMetrics[start++] = [xref.fetchIfRef(code[j++]), xref.fetchIfRef(code[j++]), xref.fetchIfRef(code[j])];\n                }\n              } else {\n                var vmetric = [xref.fetchIfRef(vmetrics[++i]), xref.fetchIfRef(vmetrics[++i]), xref.fetchIfRef(vmetrics[++i])];\n\n                for (j = start; j <= code; j++) {\n                  glyphsVMetrics[j] = vmetric;\n                }\n              }\n            }\n          }\n        }\n      } else {\n        var firstChar = properties.firstChar;\n        widths = dict.get(\"Widths\");\n\n        if (widths) {\n          j = firstChar;\n\n          for (i = 0, ii = widths.length; i < ii; i++) {\n            glyphsWidths[j++] = xref.fetchIfRef(widths[i]);\n          }\n\n          defaultWidth = parseFloat(descriptor.get(\"MissingWidth\")) || 0;\n        } else {\n          var baseFontName = dict.get(\"BaseFont\");\n\n          if ((0, _primitives.isName)(baseFontName)) {\n            var metrics = this.getBaseFontMetrics(baseFontName.name);\n            glyphsWidths = this.buildCharCodeToWidth(metrics.widths, properties);\n            defaultWidth = metrics.defaultWidth;\n          }\n        }\n      }\n\n      var isMonospace = true;\n      var firstWidth = defaultWidth;\n\n      for (var glyph in glyphsWidths) {\n        var glyphWidth = glyphsWidths[glyph];\n\n        if (!glyphWidth) {\n          continue;\n        }\n\n        if (!firstWidth) {\n          firstWidth = glyphWidth;\n          continue;\n        }\n\n        if (firstWidth !== glyphWidth) {\n          isMonospace = false;\n          break;\n        }\n      }\n\n      if (isMonospace) {\n        properties.flags |= _fonts.FontFlags.FixedPitch;\n      }\n\n      properties.defaultWidth = defaultWidth;\n      properties.widths = glyphsWidths;\n      properties.defaultVMetrics = defaultVMetrics;\n      properties.vmetrics = glyphsVMetrics;\n    },\n    isSerifFont: function PartialEvaluator_isSerifFont(baseFontName) {\n      var fontNameWoStyle = baseFontName.split(\"-\")[0];\n      return fontNameWoStyle in (0, _standard_fonts.getSerifFonts)() || fontNameWoStyle.search(/serif/gi) !== -1;\n    },\n    getBaseFontMetrics: function PartialEvaluator_getBaseFontMetrics(name) {\n      var defaultWidth = 0;\n      var widths = [];\n      var monospace = false;\n      var stdFontMap = (0, _standard_fonts.getStdFontMap)();\n      var lookupName = stdFontMap[name] || name;\n      var Metrics = (0, _metrics.getMetrics)();\n\n      if (!(lookupName in Metrics)) {\n        if (this.isSerifFont(name)) {\n          lookupName = \"Times-Roman\";\n        } else {\n          lookupName = \"Helvetica\";\n        }\n      }\n\n      var glyphWidths = Metrics[lookupName];\n\n      if ((0, _util.isNum)(glyphWidths)) {\n        defaultWidth = glyphWidths;\n        monospace = true;\n      } else {\n        widths = glyphWidths();\n      }\n\n      return {\n        defaultWidth: defaultWidth,\n        monospace: monospace,\n        widths: widths\n      };\n    },\n    buildCharCodeToWidth: function PartialEvaluator_bulildCharCodeToWidth(widthsByGlyphName, properties) {\n      var widths = Object.create(null);\n      var differences = properties.differences;\n      var encoding = properties.defaultEncoding;\n\n      for (var charCode = 0; charCode < 256; charCode++) {\n        if (charCode in differences && widthsByGlyphName[differences[charCode]]) {\n          widths[charCode] = widthsByGlyphName[differences[charCode]];\n          continue;\n        }\n\n        if (charCode in encoding && widthsByGlyphName[encoding[charCode]]) {\n          widths[charCode] = widthsByGlyphName[encoding[charCode]];\n          continue;\n        }\n      }\n\n      return widths;\n    },\n    preEvaluateFont: function PartialEvaluator_preEvaluateFont(dict) {\n      var baseDict = dict;\n      var type = dict.get(\"Subtype\");\n\n      if (!(0, _primitives.isName)(type)) {\n        throw new _util.FormatError(\"invalid font Subtype\");\n      }\n\n      var composite = false;\n      var uint8array;\n\n      if (type.name === \"Type0\") {\n        var df = dict.get(\"DescendantFonts\");\n\n        if (!df) {\n          throw new _util.FormatError(\"Descendant fonts are not specified\");\n        }\n\n        dict = Array.isArray(df) ? this.xref.fetchIfRef(df[0]) : df;\n        type = dict.get(\"Subtype\");\n\n        if (!(0, _primitives.isName)(type)) {\n          throw new _util.FormatError(\"invalid font Subtype\");\n        }\n\n        composite = true;\n      }\n\n      var descriptor = dict.get(\"FontDescriptor\");\n\n      if (descriptor) {\n        var hash = new _murmurhash.MurmurHash3_64();\n        var encoding = baseDict.getRaw(\"Encoding\");\n\n        if ((0, _primitives.isName)(encoding)) {\n          hash.update(encoding.name);\n        } else if ((0, _primitives.isRef)(encoding)) {\n          hash.update(encoding.toString());\n        } else if ((0, _primitives.isDict)(encoding)) {\n          var keys = encoding.getKeys();\n\n          for (var i = 0, ii = keys.length; i < ii; i++) {\n            var entry = encoding.getRaw(keys[i]);\n\n            if ((0, _primitives.isName)(entry)) {\n              hash.update(entry.name);\n            } else if ((0, _primitives.isRef)(entry)) {\n              hash.update(entry.toString());\n            } else if (Array.isArray(entry)) {\n              var diffLength = entry.length,\n                  diffBuf = new Array(diffLength);\n\n              for (var j = 0; j < diffLength; j++) {\n                var diffEntry = entry[j];\n\n                if ((0, _primitives.isName)(diffEntry)) {\n                  diffBuf[j] = diffEntry.name;\n                } else if ((0, _util.isNum)(diffEntry) || (0, _primitives.isRef)(diffEntry)) {\n                  diffBuf[j] = diffEntry.toString();\n                }\n              }\n\n              hash.update(diffBuf.join());\n            }\n          }\n        }\n\n        var firstChar = dict.get(\"FirstChar\") || 0;\n        var lastChar = dict.get(\"LastChar\") || (composite ? 0xffff : 0xff);\n        hash.update(\"\".concat(firstChar, \"-\").concat(lastChar));\n        var toUnicode = dict.get(\"ToUnicode\") || baseDict.get(\"ToUnicode\");\n\n        if ((0, _primitives.isStream)(toUnicode)) {\n          var stream = toUnicode.str || toUnicode;\n          uint8array = stream.buffer ? new Uint8Array(stream.buffer.buffer, 0, stream.bufferLength) : new Uint8Array(stream.bytes.buffer, stream.start, stream.end - stream.start);\n          hash.update(uint8array);\n        } else if ((0, _primitives.isName)(toUnicode)) {\n          hash.update(toUnicode.name);\n        }\n\n        var widths = dict.get(\"Widths\") || baseDict.get(\"Widths\");\n\n        if (widths) {\n          uint8array = new Uint8Array(new Uint32Array(widths).buffer);\n          hash.update(uint8array);\n        }\n      }\n\n      return {\n        descriptor: descriptor,\n        dict: dict,\n        baseDict: baseDict,\n        composite: composite,\n        type: type.name,\n        hash: hash ? hash.hexdigest() : \"\"\n      };\n    },\n    translateFont: function PartialEvaluator_translateFont(preEvaluatedFont) {\n      var _this14 = this;\n\n      var baseDict = preEvaluatedFont.baseDict;\n      var dict = preEvaluatedFont.dict;\n      var composite = preEvaluatedFont.composite;\n      var descriptor = preEvaluatedFont.descriptor;\n      var type = preEvaluatedFont.type;\n      var maxCharIndex = composite ? 0xffff : 0xff;\n      var properties;\n      var firstChar = dict.get(\"FirstChar\") || 0;\n      var lastChar = dict.get(\"LastChar\") || maxCharIndex;\n\n      if (!descriptor) {\n        if (type === \"Type3\") {\n          descriptor = new _primitives.Dict(null);\n          descriptor.set(\"FontName\", _primitives.Name.get(type));\n          descriptor.set(\"FontBBox\", dict.getArray(\"FontBBox\") || [0, 0, 0, 0]);\n        } else {\n          var baseFontName = dict.get(\"BaseFont\");\n\n          if (!(0, _primitives.isName)(baseFontName)) {\n            throw new _util.FormatError(\"Base font is not specified\");\n          }\n\n          baseFontName = baseFontName.name.replace(/[,_]/g, \"-\");\n          var metrics = this.getBaseFontMetrics(baseFontName);\n          var fontNameWoStyle = baseFontName.split(\"-\")[0];\n          var flags = (this.isSerifFont(fontNameWoStyle) ? _fonts.FontFlags.Serif : 0) | (metrics.monospace ? _fonts.FontFlags.FixedPitch : 0) | ((0, _standard_fonts.getSymbolsFonts)()[fontNameWoStyle] ? _fonts.FontFlags.Symbolic : _fonts.FontFlags.Nonsymbolic);\n          properties = {\n            type: type,\n            name: baseFontName,\n            widths: metrics.widths,\n            defaultWidth: metrics.defaultWidth,\n            flags: flags,\n            firstChar: firstChar,\n            lastChar: lastChar\n          };\n          var widths = dict.get(\"Widths\");\n          return this.extractDataStructures(dict, dict, properties).then(function (newProperties) {\n            if (widths) {\n              var glyphWidths = [];\n              var j = firstChar;\n\n              for (var i = 0, ii = widths.length; i < ii; i++) {\n                glyphWidths[j++] = _this14.xref.fetchIfRef(widths[i]);\n              }\n\n              newProperties.widths = glyphWidths;\n            } else {\n              newProperties.widths = _this14.buildCharCodeToWidth(metrics.widths, newProperties);\n            }\n\n            return new _fonts.Font(baseFontName, null, newProperties);\n          });\n        }\n      }\n\n      var fontName = descriptor.get(\"FontName\");\n      var baseFont = dict.get(\"BaseFont\");\n\n      if ((0, _util.isString)(fontName)) {\n        fontName = _primitives.Name.get(fontName);\n      }\n\n      if ((0, _util.isString)(baseFont)) {\n        baseFont = _primitives.Name.get(baseFont);\n      }\n\n      if (type !== \"Type3\") {\n        var fontNameStr = fontName && fontName.name;\n        var baseFontStr = baseFont && baseFont.name;\n\n        if (fontNameStr !== baseFontStr) {\n          (0, _util.info)(\"The FontDescriptor's FontName is \\\"\".concat(fontNameStr, \"\\\" but \") + \"should be the same as the Font's BaseFont \\\"\".concat(baseFontStr, \"\\\".\"));\n\n          if (fontNameStr && baseFontStr && baseFontStr.startsWith(fontNameStr)) {\n            fontName = baseFont;\n          }\n        }\n      }\n\n      fontName = fontName || baseFont;\n\n      if (!(0, _primitives.isName)(fontName)) {\n        throw new _util.FormatError(\"invalid font name\");\n      }\n\n      var fontFile = descriptor.get(\"FontFile\", \"FontFile2\", \"FontFile3\");\n\n      if (fontFile) {\n        if (fontFile.dict) {\n          var subtype = fontFile.dict.get(\"Subtype\");\n\n          if (subtype) {\n            subtype = subtype.name;\n          }\n\n          var length1 = fontFile.dict.get(\"Length1\");\n          var length2 = fontFile.dict.get(\"Length2\");\n          var length3 = fontFile.dict.get(\"Length3\");\n        }\n      }\n\n      properties = {\n        type: type,\n        name: fontName.name,\n        subtype: subtype,\n        file: fontFile,\n        length1: length1,\n        length2: length2,\n        length3: length3,\n        loadedName: baseDict.loadedName,\n        composite: composite,\n        fixedPitch: false,\n        fontMatrix: dict.getArray(\"FontMatrix\") || _util.FONT_IDENTITY_MATRIX,\n        firstChar: firstChar || 0,\n        lastChar: lastChar || maxCharIndex,\n        bbox: descriptor.getArray(\"FontBBox\"),\n        ascent: descriptor.get(\"Ascent\"),\n        descent: descriptor.get(\"Descent\"),\n        xHeight: descriptor.get(\"XHeight\"),\n        capHeight: descriptor.get(\"CapHeight\"),\n        flags: descriptor.get(\"Flags\"),\n        italicAngle: descriptor.get(\"ItalicAngle\"),\n        isType3Font: false\n      };\n      var cMapPromise;\n\n      if (composite) {\n        var cidEncoding = baseDict.get(\"Encoding\");\n\n        if ((0, _primitives.isName)(cidEncoding)) {\n          properties.cidEncoding = cidEncoding.name;\n        }\n\n        cMapPromise = _cmap.CMapFactory.create({\n          encoding: cidEncoding,\n          fetchBuiltInCMap: this.fetchBuiltInCMap,\n          useCMap: null\n        }).then(function (cMap) {\n          properties.cMap = cMap;\n          properties.vertical = properties.cMap.vertical;\n        });\n      } else {\n        cMapPromise = Promise.resolve(undefined);\n      }\n\n      return cMapPromise.then(function () {\n        return _this14.extractDataStructures(dict, baseDict, properties);\n      }).then(function (newProperties) {\n        _this14.extractWidths(dict, descriptor, newProperties);\n\n        if (type === \"Type3\") {\n          newProperties.isType3Font = true;\n        }\n\n        return new _fonts.Font(fontName.name, fontFile, newProperties);\n      });\n    }\n  };\n\n  PartialEvaluator.buildFontPaths = function (font, glyphs, handler) {\n    function buildPath(fontChar) {\n      if (font.renderer.hasBuiltPath(fontChar)) {\n        return;\n      }\n\n      handler.send(\"commonobj\", [\"\".concat(font.loadedName, \"_path_\").concat(fontChar), \"FontPath\", font.renderer.getPathJs(fontChar)]);\n    }\n\n    var _iterator = _createForOfIteratorHelper(glyphs),\n        _step;\n\n    try {\n      for (_iterator.s(); !(_step = _iterator.n()).done;) {\n        var glyph = _step.value;\n        buildPath(glyph.fontChar);\n        var accent = glyph.accent;\n\n        if (accent && accent.fontChar) {\n          buildPath(accent.fontChar);\n        }\n      }\n    } catch (err) {\n      _iterator.e(err);\n    } finally {\n      _iterator.f();\n    }\n  };\n\n  PartialEvaluator.getFallbackFontDict = function () {\n    if (this._fallbackFontDict) {\n      return this._fallbackFontDict;\n    }\n\n    var dict = new _primitives.Dict();\n    dict.set(\"BaseFont\", _primitives.Name.get(\"PDFJS-FallbackFont\"));\n    dict.set(\"Type\", _primitives.Name.get(\"FallbackType\"));\n    dict.set(\"Subtype\", _primitives.Name.get(\"FallbackType\"));\n    dict.set(\"Encoding\", _primitives.Name.get(\"WinAnsiEncoding\"));\n    return this._fallbackFontDict = dict;\n  };\n\n  return PartialEvaluator;\n}();\n\nexports.PartialEvaluator = PartialEvaluator;\n\nvar TranslatedFont = /*#__PURE__*/function () {\n  function TranslatedFont(_ref8) {\n    var loadedName = _ref8.loadedName,\n        font = _ref8.font,\n        dict = _ref8.dict,\n        _ref8$extraProperties = _ref8.extraProperties,\n        extraProperties = _ref8$extraProperties === void 0 ? false : _ref8$extraProperties;\n\n    _classCallCheck(this, TranslatedFont);\n\n    this.loadedName = loadedName;\n    this.font = font;\n    this.dict = dict;\n    this._extraProperties = extraProperties;\n    this.type3Loaded = null;\n    this.sent = false;\n  }\n\n  _createClass(TranslatedFont, [{\n    key: \"send\",\n    value: function send(handler) {\n      if (this.sent) {\n        return;\n      }\n\n      this.sent = true;\n      handler.send(\"commonobj\", [this.loadedName, \"Font\", this.font.exportData(this._extraProperties)]);\n    }\n  }, {\n    key: \"fallback\",\n    value: function fallback(handler) {\n      if (!this.font.data) {\n        return;\n      }\n\n      this.font.disableFontFace = true;\n      var glyphs = this.font.glyphCacheValues;\n      PartialEvaluator.buildFontPaths(this.font, glyphs, handler);\n    }\n  }, {\n    key: \"loadType3Data\",\n    value: function loadType3Data(evaluator, resources, parentOperatorList, task) {\n      if (!this.font.isType3Font) {\n        throw new Error(\"Must be a Type3 font.\");\n      }\n\n      if (this.type3Loaded) {\n        return this.type3Loaded;\n      }\n\n      var type3Options = Object.create(evaluator.options);\n      type3Options.ignoreErrors = false;\n      var type3Evaluator = evaluator.clone(type3Options);\n      type3Evaluator.parsingType3Font = true;\n      var translatedFont = this.font;\n      var loadCharProcsPromise = Promise.resolve();\n      var charProcs = this.dict.get(\"CharProcs\");\n      var fontResources = this.dict.get(\"Resources\") || resources;\n      var charProcKeys = charProcs.getKeys();\n      var charProcOperatorList = Object.create(null);\n\n      var _loop2 = function _loop2() {\n        var key = charProcKeys[i];\n        loadCharProcsPromise = loadCharProcsPromise.then(function () {\n          var glyphStream = charProcs.get(key);\n          var operatorList = new _operator_list.OperatorList();\n          return type3Evaluator.getOperatorList({\n            stream: glyphStream,\n            task: task,\n            resources: fontResources,\n            operatorList: operatorList\n          }).then(function () {\n            charProcOperatorList[key] = operatorList.getIR();\n            parentOperatorList.addDependencies(operatorList.dependencies);\n          })[\"catch\"](function (reason) {\n            (0, _util.warn)(\"Type3 font resource \\\"\".concat(key, \"\\\" is not available.\"));\n            var dummyOperatorList = new _operator_list.OperatorList();\n            charProcOperatorList[key] = dummyOperatorList.getIR();\n          });\n        });\n      };\n\n      for (var i = 0, n = charProcKeys.length; i < n; ++i) {\n        _loop2();\n      }\n\n      this.type3Loaded = loadCharProcsPromise.then(function () {\n        translatedFont.charProcOperatorList = charProcOperatorList;\n      });\n      return this.type3Loaded;\n    }\n  }]);\n\n  return TranslatedFont;\n}();\n\nvar StateManager = function StateManagerClosure() {\n  function StateManager(initialState) {\n    this.state = initialState;\n    this.stateStack = [];\n  }\n\n  StateManager.prototype = {\n    save: function save() {\n      var old = this.state;\n      this.stateStack.push(this.state);\n      this.state = old.clone();\n    },\n    restore: function restore() {\n      var prev = this.stateStack.pop();\n\n      if (prev) {\n        this.state = prev;\n      }\n    },\n    transform: function transform(args) {\n      this.state.ctm = _util.Util.transform(this.state.ctm, args);\n    }\n  };\n  return StateManager;\n}();\n\nvar TextState = function TextStateClosure() {\n  function TextState() {\n    this.ctm = new Float32Array(_util.IDENTITY_MATRIX);\n    this.fontName = null;\n    this.fontSize = 0;\n    this.font = null;\n    this.fontMatrix = _util.FONT_IDENTITY_MATRIX;\n    this.textMatrix = _util.IDENTITY_MATRIX.slice();\n    this.textLineMatrix = _util.IDENTITY_MATRIX.slice();\n    this.charSpacing = 0;\n    this.wordSpacing = 0;\n    this.leading = 0;\n    this.textHScale = 1;\n    this.textRise = 0;\n  }\n\n  TextState.prototype = {\n    setTextMatrix: function TextState_setTextMatrix(a, b, c, d, e, f) {\n      var m = this.textMatrix;\n      m[0] = a;\n      m[1] = b;\n      m[2] = c;\n      m[3] = d;\n      m[4] = e;\n      m[5] = f;\n    },\n    setTextLineMatrix: function TextState_setTextMatrix(a, b, c, d, e, f) {\n      var m = this.textLineMatrix;\n      m[0] = a;\n      m[1] = b;\n      m[2] = c;\n      m[3] = d;\n      m[4] = e;\n      m[5] = f;\n    },\n    translateTextMatrix: function TextState_translateTextMatrix(x, y) {\n      var m = this.textMatrix;\n      m[4] = m[0] * x + m[2] * y + m[4];\n      m[5] = m[1] * x + m[3] * y + m[5];\n    },\n    translateTextLineMatrix: function TextState_translateTextMatrix(x, y) {\n      var m = this.textLineMatrix;\n      m[4] = m[0] * x + m[2] * y + m[4];\n      m[5] = m[1] * x + m[3] * y + m[5];\n    },\n    calcTextLineMatrixAdvance: function TextState_calcTextLineMatrixAdvance(a, b, c, d, e, f) {\n      var font = this.font;\n\n      if (!font) {\n        return null;\n      }\n\n      var m = this.textLineMatrix;\n\n      if (!(a === m[0] && b === m[1] && c === m[2] && d === m[3])) {\n        return null;\n      }\n\n      var txDiff = e - m[4],\n          tyDiff = f - m[5];\n\n      if (font.vertical && txDiff !== 0 || !font.vertical && tyDiff !== 0) {\n        return null;\n      }\n\n      var tx,\n          ty,\n          denominator = a * d - b * c;\n\n      if (font.vertical) {\n        tx = -tyDiff * c / denominator;\n        ty = tyDiff * a / denominator;\n      } else {\n        tx = txDiff * d / denominator;\n        ty = -txDiff * b / denominator;\n      }\n\n      return {\n        width: tx,\n        height: ty,\n        value: font.vertical ? ty : tx\n      };\n    },\n    calcRenderMatrix: function TextState_calcRendeMatrix(ctm) {\n      var tsm = [this.fontSize * this.textHScale, 0, 0, this.fontSize, 0, this.textRise];\n      return _util.Util.transform(ctm, _util.Util.transform(this.textMatrix, tsm));\n    },\n    carriageReturn: function TextState_carriageReturn() {\n      this.translateTextLineMatrix(0, -this.leading);\n      this.textMatrix = this.textLineMatrix.slice();\n    },\n    clone: function TextState_clone() {\n      var clone = Object.create(this);\n      clone.textMatrix = this.textMatrix.slice();\n      clone.textLineMatrix = this.textLineMatrix.slice();\n      clone.fontMatrix = this.fontMatrix.slice();\n      return clone;\n    }\n  };\n  return TextState;\n}();\n\nvar EvalState = function EvalStateClosure() {\n  function EvalState() {\n    this.ctm = new Float32Array(_util.IDENTITY_MATRIX);\n    this.font = null;\n    this.textRenderingMode = _util.TextRenderingMode.FILL;\n    this.fillColorSpace = _colorspace.ColorSpace.singletons.gray;\n    this.strokeColorSpace = _colorspace.ColorSpace.singletons.gray;\n  }\n\n  EvalState.prototype = {\n    clone: function CanvasExtraState_clone() {\n      return Object.create(this);\n    }\n  };\n  return EvalState;\n}();\n\nvar EvaluatorPreprocessor = function EvaluatorPreprocessorClosure() {\n  var getOPMap = (0, _core_utils.getLookupTableFactory)(function (t) {\n    t.w = {\n      id: _util.OPS.setLineWidth,\n      numArgs: 1,\n      variableArgs: false\n    };\n    t.J = {\n      id: _util.OPS.setLineCap,\n      numArgs: 1,\n      variableArgs: false\n    };\n    t.j = {\n      id: _util.OPS.setLineJoin,\n      numArgs: 1,\n      variableArgs: false\n    };\n    t.M = {\n      id: _util.OPS.setMiterLimit,\n      numArgs: 1,\n      variableArgs: false\n    };\n    t.d = {\n      id: _util.OPS.setDash,\n      numArgs: 2,\n      variableArgs: false\n    };\n    t.ri = {\n      id: _util.OPS.setRenderingIntent,\n      numArgs: 1,\n      variableArgs: false\n    };\n    t.i = {\n      id: _util.OPS.setFlatness,\n      numArgs: 1,\n      variableArgs: false\n    };\n    t.gs = {\n      id: _util.OPS.setGState,\n      numArgs: 1,\n      variableArgs: false\n    };\n    t.q = {\n      id: _util.OPS.save,\n      numArgs: 0,\n      variableArgs: false\n    };\n    t.Q = {\n      id: _util.OPS.restore,\n      numArgs: 0,\n      variableArgs: false\n    };\n    t.cm = {\n      id: _util.OPS.transform,\n      numArgs: 6,\n      variableArgs: false\n    };\n    t.m = {\n      id: _util.OPS.moveTo,\n      numArgs: 2,\n      variableArgs: false\n    };\n    t.l = {\n      id: _util.OPS.lineTo,\n      numArgs: 2,\n      variableArgs: false\n    };\n    t.c = {\n      id: _util.OPS.curveTo,\n      numArgs: 6,\n      variableArgs: false\n    };\n    t.v = {\n      id: _util.OPS.curveTo2,\n      numArgs: 4,\n      variableArgs: false\n    };\n    t.y = {\n      id: _util.OPS.curveTo3,\n      numArgs: 4,\n      variableArgs: false\n    };\n    t.h = {\n      id: _util.OPS.closePath,\n      numArgs: 0,\n      variableArgs: false\n    };\n    t.re = {\n      id: _util.OPS.rectangle,\n      numArgs: 4,\n      variableArgs: false\n    };\n    t.S = {\n      id: _util.OPS.stroke,\n      numArgs: 0,\n      variableArgs: false\n    };\n    t.s = {\n      id: _util.OPS.closeStroke,\n      numArgs: 0,\n      variableArgs: false\n    };\n    t.f = {\n      id: _util.OPS.fill,\n      numArgs: 0,\n      variableArgs: false\n    };\n    t.F = {\n      id: _util.OPS.fill,\n      numArgs: 0,\n      variableArgs: false\n    };\n    t[\"f*\"] = {\n      id: _util.OPS.eoFill,\n      numArgs: 0,\n      variableArgs: false\n    };\n    t.B = {\n      id: _util.OPS.fillStroke,\n      numArgs: 0,\n      variableArgs: false\n    };\n    t[\"B*\"] = {\n      id: _util.OPS.eoFillStroke,\n      numArgs: 0,\n      variableArgs: false\n    };\n    t.b = {\n      id: _util.OPS.closeFillStroke,\n      numArgs: 0,\n      variableArgs: false\n    };\n    t[\"b*\"] = {\n      id: _util.OPS.closeEOFillStroke,\n      numArgs: 0,\n      variableArgs: false\n    };\n    t.n = {\n      id: _util.OPS.endPath,\n      numArgs: 0,\n      variableArgs: false\n    };\n    t.W = {\n      id: _util.OPS.clip,\n      numArgs: 0,\n      variableArgs: false\n    };\n    t[\"W*\"] = {\n      id: _util.OPS.eoClip,\n      numArgs: 0,\n      variableArgs: false\n    };\n    t.BT = {\n      id: _util.OPS.beginText,\n      numArgs: 0,\n      variableArgs: false\n    };\n    t.ET = {\n      id: _util.OPS.endText,\n      numArgs: 0,\n      variableArgs: false\n    };\n    t.Tc = {\n      id: _util.OPS.setCharSpacing,\n      numArgs: 1,\n      variableArgs: false\n    };\n    t.Tw = {\n      id: _util.OPS.setWordSpacing,\n      numArgs: 1,\n      variableArgs: false\n    };\n    t.Tz = {\n      id: _util.OPS.setHScale,\n      numArgs: 1,\n      variableArgs: false\n    };\n    t.TL = {\n      id: _util.OPS.setLeading,\n      numArgs: 1,\n      variableArgs: false\n    };\n    t.Tf = {\n      id: _util.OPS.setFont,\n      numArgs: 2,\n      variableArgs: false\n    };\n    t.Tr = {\n      id: _util.OPS.setTextRenderingMode,\n      numArgs: 1,\n      variableArgs: false\n    };\n    t.Ts = {\n      id: _util.OPS.setTextRise,\n      numArgs: 1,\n      variableArgs: false\n    };\n    t.Td = {\n      id: _util.OPS.moveText,\n      numArgs: 2,\n      variableArgs: false\n    };\n    t.TD = {\n      id: _util.OPS.setLeadingMoveText,\n      numArgs: 2,\n      variableArgs: false\n    };\n    t.Tm = {\n      id: _util.OPS.setTextMatrix,\n      numArgs: 6,\n      variableArgs: false\n    };\n    t[\"T*\"] = {\n      id: _util.OPS.nextLine,\n      numArgs: 0,\n      variableArgs: false\n    };\n    t.Tj = {\n      id: _util.OPS.showText,\n      numArgs: 1,\n      variableArgs: false\n    };\n    t.TJ = {\n      id: _util.OPS.showSpacedText,\n      numArgs: 1,\n      variableArgs: false\n    };\n    t[\"'\"] = {\n      id: _util.OPS.nextLineShowText,\n      numArgs: 1,\n      variableArgs: false\n    };\n    t['\"'] = {\n      id: _util.OPS.nextLineSetSpacingShowText,\n      numArgs: 3,\n      variableArgs: false\n    };\n    t.d0 = {\n      id: _util.OPS.setCharWidth,\n      numArgs: 2,\n      variableArgs: false\n    };\n    t.d1 = {\n      id: _util.OPS.setCharWidthAndBounds,\n      numArgs: 6,\n      variableArgs: false\n    };\n    t.CS = {\n      id: _util.OPS.setStrokeColorSpace,\n      numArgs: 1,\n      variableArgs: false\n    };\n    t.cs = {\n      id: _util.OPS.setFillColorSpace,\n      numArgs: 1,\n      variableArgs: false\n    };\n    t.SC = {\n      id: _util.OPS.setStrokeColor,\n      numArgs: 4,\n      variableArgs: true\n    };\n    t.SCN = {\n      id: _util.OPS.setStrokeColorN,\n      numArgs: 33,\n      variableArgs: true\n    };\n    t.sc = {\n      id: _util.OPS.setFillColor,\n      numArgs: 4,\n      variableArgs: true\n    };\n    t.scn = {\n      id: _util.OPS.setFillColorN,\n      numArgs: 33,\n      variableArgs: true\n    };\n    t.G = {\n      id: _util.OPS.setStrokeGray,\n      numArgs: 1,\n      variableArgs: false\n    };\n    t.g = {\n      id: _util.OPS.setFillGray,\n      numArgs: 1,\n      variableArgs: false\n    };\n    t.RG = {\n      id: _util.OPS.setStrokeRGBColor,\n      numArgs: 3,\n      variableArgs: false\n    };\n    t.rg = {\n      id: _util.OPS.setFillRGBColor,\n      numArgs: 3,\n      variableArgs: false\n    };\n    t.K = {\n      id: _util.OPS.setStrokeCMYKColor,\n      numArgs: 4,\n      variableArgs: false\n    };\n    t.k = {\n      id: _util.OPS.setFillCMYKColor,\n      numArgs: 4,\n      variableArgs: false\n    };\n    t.sh = {\n      id: _util.OPS.shadingFill,\n      numArgs: 1,\n      variableArgs: false\n    };\n    t.BI = {\n      id: _util.OPS.beginInlineImage,\n      numArgs: 0,\n      variableArgs: false\n    };\n    t.ID = {\n      id: _util.OPS.beginImageData,\n      numArgs: 0,\n      variableArgs: false\n    };\n    t.EI = {\n      id: _util.OPS.endInlineImage,\n      numArgs: 1,\n      variableArgs: false\n    };\n    t.Do = {\n      id: _util.OPS.paintXObject,\n      numArgs: 1,\n      variableArgs: false\n    };\n    t.MP = {\n      id: _util.OPS.markPoint,\n      numArgs: 1,\n      variableArgs: false\n    };\n    t.DP = {\n      id: _util.OPS.markPointProps,\n      numArgs: 2,\n      variableArgs: false\n    };\n    t.BMC = {\n      id: _util.OPS.beginMarkedContent,\n      numArgs: 1,\n      variableArgs: false\n    };\n    t.BDC = {\n      id: _util.OPS.beginMarkedContentProps,\n      numArgs: 2,\n      variableArgs: false\n    };\n    t.EMC = {\n      id: _util.OPS.endMarkedContent,\n      numArgs: 0,\n      variableArgs: false\n    };\n    t.BX = {\n      id: _util.OPS.beginCompat,\n      numArgs: 0,\n      variableArgs: false\n    };\n    t.EX = {\n      id: _util.OPS.endCompat,\n      numArgs: 0,\n      variableArgs: false\n    };\n    t.BM = null;\n    t.BD = null;\n    t[\"true\"] = null;\n    t.fa = null;\n    t.fal = null;\n    t.fals = null;\n    t[\"false\"] = null;\n    t.nu = null;\n    t.nul = null;\n    t[\"null\"] = null;\n  });\n  var MAX_INVALID_PATH_OPS = 20;\n\n  function EvaluatorPreprocessor(stream, xref, stateManager) {\n    this.opMap = getOPMap();\n    this.parser = new _parser.Parser({\n      lexer: new _parser.Lexer(stream, this.opMap),\n      xref: xref\n    });\n    this.stateManager = stateManager;\n    this.nonProcessedArgs = [];\n    this._numInvalidPathOPS = 0;\n  }\n\n  EvaluatorPreprocessor.prototype = {\n    get savedStatesDepth() {\n      return this.stateManager.stateStack.length;\n    },\n\n    read: function EvaluatorPreprocessor_read(operation) {\n      var args = operation.args;\n\n      while (true) {\n        var obj = this.parser.getObj();\n\n        if (obj instanceof _primitives.Cmd) {\n          var cmd = obj.cmd;\n          var opSpec = this.opMap[cmd];\n\n          if (!opSpec) {\n            (0, _util.warn)(\"Unknown command \\\"\".concat(cmd, \"\\\".\"));\n            continue;\n          }\n\n          var fn = opSpec.id;\n          var numArgs = opSpec.numArgs;\n          var argsLength = args !== null ? args.length : 0;\n\n          if (!opSpec.variableArgs) {\n            if (argsLength !== numArgs) {\n              var nonProcessedArgs = this.nonProcessedArgs;\n\n              while (argsLength > numArgs) {\n                nonProcessedArgs.push(args.shift());\n                argsLength--;\n              }\n\n              while (argsLength < numArgs && nonProcessedArgs.length !== 0) {\n                if (args === null) {\n                  args = [];\n                }\n\n                args.unshift(nonProcessedArgs.pop());\n                argsLength++;\n              }\n            }\n\n            if (argsLength < numArgs) {\n              var partialMsg = \"command \".concat(cmd, \": expected \").concat(numArgs, \" args, \") + \"but received \".concat(argsLength, \" args.\");\n\n              if (fn >= _util.OPS.moveTo && fn <= _util.OPS.endPath && ++this._numInvalidPathOPS > MAX_INVALID_PATH_OPS) {\n                throw new _util.FormatError(\"Invalid \".concat(partialMsg));\n              }\n\n              (0, _util.warn)(\"Skipping \".concat(partialMsg));\n\n              if (args !== null) {\n                args.length = 0;\n              }\n\n              continue;\n            }\n          } else if (argsLength > numArgs) {\n            (0, _util.info)(\"Command \".concat(cmd, \": expected [0, \").concat(numArgs, \"] args, \") + \"but received \".concat(argsLength, \" args.\"));\n          }\n\n          this.preprocessCommand(fn, args);\n          operation.fn = fn;\n          operation.args = args;\n          return true;\n        }\n\n        if (obj === _primitives.EOF) {\n          return false;\n        }\n\n        if (obj !== null) {\n          if (args === null) {\n            args = [];\n          }\n\n          args.push(obj);\n\n          if (args.length > 33) {\n            throw new _util.FormatError(\"Too many arguments\");\n          }\n        }\n      }\n    },\n    preprocessCommand: function EvaluatorPreprocessor_preprocessCommand(fn, args) {\n      switch (fn | 0) {\n        case _util.OPS.save:\n          this.stateManager.save();\n          break;\n\n        case _util.OPS.restore:\n          this.stateManager.restore();\n          break;\n\n        case _util.OPS.transform:\n          this.stateManager.transform(args);\n          break;\n      }\n    }\n  };\n  return EvaluatorPreprocessor;\n}();\n\n/***/ }),\n/* 221 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.CMapFactory = exports.IdentityCMap = exports.CMap = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _primitives = __w_pdfjs_require__(198);\n\nvar _parser = __w_pdfjs_require__(204);\n\nvar _core_utils = __w_pdfjs_require__(201);\n\nvar _stream = __w_pdfjs_require__(205);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar BUILT_IN_CMAPS = [\"Adobe-GB1-UCS2\", \"Adobe-CNS1-UCS2\", \"Adobe-Japan1-UCS2\", \"Adobe-Korea1-UCS2\", \"78-EUC-H\", \"78-EUC-V\", \"78-H\", \"78-RKSJ-H\", \"78-RKSJ-V\", \"78-V\", \"78ms-RKSJ-H\", \"78ms-RKSJ-V\", \"83pv-RKSJ-H\", \"90ms-RKSJ-H\", \"90ms-RKSJ-V\", \"90msp-RKSJ-H\", \"90msp-RKSJ-V\", \"90pv-RKSJ-H\", \"90pv-RKSJ-V\", \"Add-H\", \"Add-RKSJ-H\", \"Add-RKSJ-V\", \"Add-V\", \"Adobe-CNS1-0\", \"Adobe-CNS1-1\", \"Adobe-CNS1-2\", \"Adobe-CNS1-3\", \"Adobe-CNS1-4\", \"Adobe-CNS1-5\", \"Adobe-CNS1-6\", \"Adobe-GB1-0\", \"Adobe-GB1-1\", \"Adobe-GB1-2\", \"Adobe-GB1-3\", \"Adobe-GB1-4\", \"Adobe-GB1-5\", \"Adobe-Japan1-0\", \"Adobe-Japan1-1\", \"Adobe-Japan1-2\", \"Adobe-Japan1-3\", \"Adobe-Japan1-4\", \"Adobe-Japan1-5\", \"Adobe-Japan1-6\", \"Adobe-Korea1-0\", \"Adobe-Korea1-1\", \"Adobe-Korea1-2\", \"B5-H\", \"B5-V\", \"B5pc-H\", \"B5pc-V\", \"CNS-EUC-H\", \"CNS-EUC-V\", \"CNS1-H\", \"CNS1-V\", \"CNS2-H\", \"CNS2-V\", \"ETHK-B5-H\", \"ETHK-B5-V\", \"ETen-B5-H\", \"ETen-B5-V\", \"ETenms-B5-H\", \"ETenms-B5-V\", \"EUC-H\", \"EUC-V\", \"Ext-H\", \"Ext-RKSJ-H\", \"Ext-RKSJ-V\", \"Ext-V\", \"GB-EUC-H\", \"GB-EUC-V\", \"GB-H\", \"GB-V\", \"GBK-EUC-H\", \"GBK-EUC-V\", \"GBK2K-H\", \"GBK2K-V\", \"GBKp-EUC-H\", \"GBKp-EUC-V\", \"GBT-EUC-H\", \"GBT-EUC-V\", \"GBT-H\", \"GBT-V\", \"GBTpc-EUC-H\", \"GBTpc-EUC-V\", \"GBpc-EUC-H\", \"GBpc-EUC-V\", \"H\", \"HKdla-B5-H\", \"HKdla-B5-V\", \"HKdlb-B5-H\", \"HKdlb-B5-V\", \"HKgccs-B5-H\", \"HKgccs-B5-V\", \"HKm314-B5-H\", \"HKm314-B5-V\", \"HKm471-B5-H\", \"HKm471-B5-V\", \"HKscs-B5-H\", \"HKscs-B5-V\", \"Hankaku\", \"Hiragana\", \"KSC-EUC-H\", \"KSC-EUC-V\", \"KSC-H\", \"KSC-Johab-H\", \"KSC-Johab-V\", \"KSC-V\", \"KSCms-UHC-H\", \"KSCms-UHC-HW-H\", \"KSCms-UHC-HW-V\", \"KSCms-UHC-V\", \"KSCpc-EUC-H\", \"KSCpc-EUC-V\", \"Katakana\", \"NWP-H\", \"NWP-V\", \"RKSJ-H\", \"RKSJ-V\", \"Roman\", \"UniCNS-UCS2-H\", \"UniCNS-UCS2-V\", \"UniCNS-UTF16-H\", \"UniCNS-UTF16-V\", \"UniCNS-UTF32-H\", \"UniCNS-UTF32-V\", \"UniCNS-UTF8-H\", \"UniCNS-UTF8-V\", \"UniGB-UCS2-H\", \"UniGB-UCS2-V\", \"UniGB-UTF16-H\", \"UniGB-UTF16-V\", \"UniGB-UTF32-H\", \"UniGB-UTF32-V\", \"UniGB-UTF8-H\", \"UniGB-UTF8-V\", \"UniJIS-UCS2-H\", \"UniJIS-UCS2-HW-H\", \"UniJIS-UCS2-HW-V\", \"UniJIS-UCS2-V\", \"UniJIS-UTF16-H\", \"UniJIS-UTF16-V\", \"UniJIS-UTF32-H\", \"UniJIS-UTF32-V\", \"UniJIS-UTF8-H\", \"UniJIS-UTF8-V\", \"UniJIS2004-UTF16-H\", \"UniJIS2004-UTF16-V\", \"UniJIS2004-UTF32-H\", \"UniJIS2004-UTF32-V\", \"UniJIS2004-UTF8-H\", \"UniJIS2004-UTF8-V\", \"UniJISPro-UCS2-HW-V\", \"UniJISPro-UCS2-V\", \"UniJISPro-UTF8-V\", \"UniJISX0213-UTF32-H\", \"UniJISX0213-UTF32-V\", \"UniJISX02132004-UTF32-H\", \"UniJISX02132004-UTF32-V\", \"UniKS-UCS2-H\", \"UniKS-UCS2-V\", \"UniKS-UTF16-H\", \"UniKS-UTF16-V\", \"UniKS-UTF32-H\", \"UniKS-UTF32-V\", \"UniKS-UTF8-H\", \"UniKS-UTF8-V\", \"V\", \"WP-Symbol\"];\nvar MAX_MAP_RANGE = Math.pow(2, 24) - 1;\n\nvar CMap = /*#__PURE__*/function () {\n  function CMap() {\n    var builtInCMap = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n    _classCallCheck(this, CMap);\n\n    this.codespaceRanges = [[], [], [], []];\n    this.numCodespaceRanges = 0;\n    this._map = [];\n    this.name = \"\";\n    this.vertical = false;\n    this.useCMap = null;\n    this.builtInCMap = builtInCMap;\n  }\n\n  _createClass(CMap, [{\n    key: \"addCodespaceRange\",\n    value: function addCodespaceRange(n, low, high) {\n      this.codespaceRanges[n - 1].push(low, high);\n      this.numCodespaceRanges++;\n    }\n  }, {\n    key: \"mapCidRange\",\n    value: function mapCidRange(low, high, dstLow) {\n      if (high - low > MAX_MAP_RANGE) {\n        throw new Error(\"mapCidRange - ignoring data above MAX_MAP_RANGE.\");\n      }\n\n      while (low <= high) {\n        this._map[low++] = dstLow++;\n      }\n    }\n  }, {\n    key: \"mapBfRange\",\n    value: function mapBfRange(low, high, dstLow) {\n      if (high - low > MAX_MAP_RANGE) {\n        throw new Error(\"mapBfRange - ignoring data above MAX_MAP_RANGE.\");\n      }\n\n      var lastByte = dstLow.length - 1;\n\n      while (low <= high) {\n        this._map[low++] = dstLow;\n        dstLow = dstLow.substring(0, lastByte) + String.fromCharCode(dstLow.charCodeAt(lastByte) + 1);\n      }\n    }\n  }, {\n    key: \"mapBfRangeToArray\",\n    value: function mapBfRangeToArray(low, high, array) {\n      if (high - low > MAX_MAP_RANGE) {\n        throw new Error(\"mapBfRangeToArray - ignoring data above MAX_MAP_RANGE.\");\n      }\n\n      var ii = array.length;\n      var i = 0;\n\n      while (low <= high && i < ii) {\n        this._map[low] = array[i++];\n        ++low;\n      }\n    }\n  }, {\n    key: \"mapOne\",\n    value: function mapOne(src, dst) {\n      this._map[src] = dst;\n    }\n  }, {\n    key: \"lookup\",\n    value: function lookup(code) {\n      return this._map[code];\n    }\n  }, {\n    key: \"contains\",\n    value: function contains(code) {\n      return this._map[code] !== undefined;\n    }\n  }, {\n    key: \"forEach\",\n    value: function forEach(callback) {\n      var map = this._map;\n      var length = map.length;\n\n      if (length <= 0x10000) {\n        for (var i = 0; i < length; i++) {\n          if (map[i] !== undefined) {\n            callback(i, map[i]);\n          }\n        }\n      } else {\n        for (var _i in map) {\n          callback(_i, map[_i]);\n        }\n      }\n    }\n  }, {\n    key: \"charCodeOf\",\n    value: function charCodeOf(value) {\n      var map = this._map;\n\n      if (map.length <= 0x10000) {\n        return map.indexOf(value);\n      }\n\n      for (var charCode in map) {\n        if (map[charCode] === value) {\n          return charCode | 0;\n        }\n      }\n\n      return -1;\n    }\n  }, {\n    key: \"getMap\",\n    value: function getMap() {\n      return this._map;\n    }\n  }, {\n    key: \"readCharCode\",\n    value: function readCharCode(str, offset, out) {\n      var c = 0;\n      var codespaceRanges = this.codespaceRanges;\n\n      for (var n = 0, nn = codespaceRanges.length; n < nn; n++) {\n        c = (c << 8 | str.charCodeAt(offset + n)) >>> 0;\n        var codespaceRange = codespaceRanges[n];\n\n        for (var k = 0, kk = codespaceRange.length; k < kk;) {\n          var low = codespaceRange[k++];\n          var high = codespaceRange[k++];\n\n          if (c >= low && c <= high) {\n            out.charcode = c;\n            out.length = n + 1;\n            return;\n          }\n        }\n      }\n\n      out.charcode = 0;\n      out.length = 1;\n    }\n  }, {\n    key: \"length\",\n    get: function get() {\n      return this._map.length;\n    }\n  }, {\n    key: \"isIdentityCMap\",\n    get: function get() {\n      if (!(this.name === \"Identity-H\" || this.name === \"Identity-V\")) {\n        return false;\n      }\n\n      if (this._map.length !== 0x10000) {\n        return false;\n      }\n\n      for (var i = 0; i < 0x10000; i++) {\n        if (this._map[i] !== i) {\n          return false;\n        }\n      }\n\n      return true;\n    }\n  }]);\n\n  return CMap;\n}();\n\nexports.CMap = CMap;\n\nvar IdentityCMap = /*#__PURE__*/function (_CMap) {\n  _inherits(IdentityCMap, _CMap);\n\n  var _super = _createSuper(IdentityCMap);\n\n  function IdentityCMap(vertical, n) {\n    var _this;\n\n    _classCallCheck(this, IdentityCMap);\n\n    _this = _super.call(this);\n    _this.vertical = vertical;\n\n    _this.addCodespaceRange(n, 0, 0xffff);\n\n    return _this;\n  }\n\n  _createClass(IdentityCMap, [{\n    key: \"mapCidRange\",\n    value: function mapCidRange(low, high, dstLow) {\n      (0, _util.unreachable)(\"should not call mapCidRange\");\n    }\n  }, {\n    key: \"mapBfRange\",\n    value: function mapBfRange(low, high, dstLow) {\n      (0, _util.unreachable)(\"should not call mapBfRange\");\n    }\n  }, {\n    key: \"mapBfRangeToArray\",\n    value: function mapBfRangeToArray(low, high, array) {\n      (0, _util.unreachable)(\"should not call mapBfRangeToArray\");\n    }\n  }, {\n    key: \"mapOne\",\n    value: function mapOne(src, dst) {\n      (0, _util.unreachable)(\"should not call mapCidOne\");\n    }\n  }, {\n    key: \"lookup\",\n    value: function lookup(code) {\n      return Number.isInteger(code) && code <= 0xffff ? code : undefined;\n    }\n  }, {\n    key: \"contains\",\n    value: function contains(code) {\n      return Number.isInteger(code) && code <= 0xffff;\n    }\n  }, {\n    key: \"forEach\",\n    value: function forEach(callback) {\n      for (var i = 0; i <= 0xffff; i++) {\n        callback(i, i);\n      }\n    }\n  }, {\n    key: \"charCodeOf\",\n    value: function charCodeOf(value) {\n      return Number.isInteger(value) && value <= 0xffff ? value : -1;\n    }\n  }, {\n    key: \"getMap\",\n    value: function getMap() {\n      var map = new Array(0x10000);\n\n      for (var i = 0; i <= 0xffff; i++) {\n        map[i] = i;\n      }\n\n      return map;\n    }\n  }, {\n    key: \"length\",\n    get: function get() {\n      return 0x10000;\n    }\n  }, {\n    key: \"isIdentityCMap\",\n    get: function get() {\n      (0, _util.unreachable)(\"should not access .isIdentityCMap\");\n    }\n  }]);\n\n  return IdentityCMap;\n}(CMap);\n\nexports.IdentityCMap = IdentityCMap;\n\nvar BinaryCMapReader = function BinaryCMapReaderClosure() {\n  function hexToInt(a, size) {\n    var n = 0;\n\n    for (var i = 0; i <= size; i++) {\n      n = n << 8 | a[i];\n    }\n\n    return n >>> 0;\n  }\n\n  function hexToStr(a, size) {\n    if (size === 1) {\n      return String.fromCharCode(a[0], a[1]);\n    }\n\n    if (size === 3) {\n      return String.fromCharCode(a[0], a[1], a[2], a[3]);\n    }\n\n    return String.fromCharCode.apply(null, a.subarray(0, size + 1));\n  }\n\n  function addHex(a, b, size) {\n    var c = 0;\n\n    for (var i = size; i >= 0; i--) {\n      c += a[i] + b[i];\n      a[i] = c & 255;\n      c >>= 8;\n    }\n  }\n\n  function incHex(a, size) {\n    var c = 1;\n\n    for (var i = size; i >= 0 && c > 0; i--) {\n      c += a[i];\n      a[i] = c & 255;\n      c >>= 8;\n    }\n  }\n\n  var MAX_NUM_SIZE = 16;\n  var MAX_ENCODED_NUM_SIZE = 19;\n\n  function BinaryCMapStream(data) {\n    this.buffer = data;\n    this.pos = 0;\n    this.end = data.length;\n    this.tmpBuf = new Uint8Array(MAX_ENCODED_NUM_SIZE);\n  }\n\n  BinaryCMapStream.prototype = {\n    readByte: function readByte() {\n      if (this.pos >= this.end) {\n        return -1;\n      }\n\n      return this.buffer[this.pos++];\n    },\n    readNumber: function readNumber() {\n      var n = 0;\n      var last;\n\n      do {\n        var b = this.readByte();\n\n        if (b < 0) {\n          throw new _util.FormatError(\"unexpected EOF in bcmap\");\n        }\n\n        last = !(b & 0x80);\n        n = n << 7 | b & 0x7f;\n      } while (!last);\n\n      return n;\n    },\n    readSigned: function readSigned() {\n      var n = this.readNumber();\n      return n & 1 ? ~(n >>> 1) : n >>> 1;\n    },\n    readHex: function readHex(num, size) {\n      num.set(this.buffer.subarray(this.pos, this.pos + size + 1));\n      this.pos += size + 1;\n    },\n    readHexNumber: function readHexNumber(num, size) {\n      var last;\n      var stack = this.tmpBuf,\n          sp = 0;\n\n      do {\n        var b = this.readByte();\n\n        if (b < 0) {\n          throw new _util.FormatError(\"unexpected EOF in bcmap\");\n        }\n\n        last = !(b & 0x80);\n        stack[sp++] = b & 0x7f;\n      } while (!last);\n\n      var i = size,\n          buffer = 0,\n          bufferSize = 0;\n\n      while (i >= 0) {\n        while (bufferSize < 8 && stack.length > 0) {\n          buffer = stack[--sp] << bufferSize | buffer;\n          bufferSize += 7;\n        }\n\n        num[i] = buffer & 255;\n        i--;\n        buffer >>= 8;\n        bufferSize -= 8;\n      }\n    },\n    readHexSigned: function readHexSigned(num, size) {\n      this.readHexNumber(num, size);\n      var sign = num[size] & 1 ? 255 : 0;\n      var c = 0;\n\n      for (var i = 0; i <= size; i++) {\n        c = (c & 1) << 8 | num[i];\n        num[i] = c >> 1 ^ sign;\n      }\n    },\n    readString: function readString() {\n      var len = this.readNumber();\n      var s = \"\";\n\n      for (var i = 0; i < len; i++) {\n        s += String.fromCharCode(this.readNumber());\n      }\n\n      return s;\n    }\n  };\n\n  function processBinaryCMap(data, cMap, extend) {\n    return new Promise(function (resolve, reject) {\n      var stream = new BinaryCMapStream(data);\n      var header = stream.readByte();\n      cMap.vertical = !!(header & 1);\n      var useCMap = null;\n      var start = new Uint8Array(MAX_NUM_SIZE);\n      var end = new Uint8Array(MAX_NUM_SIZE);\n\n      var _char = new Uint8Array(MAX_NUM_SIZE);\n\n      var charCode = new Uint8Array(MAX_NUM_SIZE);\n      var tmp = new Uint8Array(MAX_NUM_SIZE);\n      var code;\n      var b;\n\n      while ((b = stream.readByte()) >= 0) {\n        var type = b >> 5;\n\n        if (type === 7) {\n          switch (b & 0x1f) {\n            case 0:\n              stream.readString();\n              break;\n\n            case 1:\n              useCMap = stream.readString();\n              break;\n          }\n\n          continue;\n        }\n\n        var sequence = !!(b & 0x10);\n        var dataSize = b & 15;\n\n        if (dataSize + 1 > MAX_NUM_SIZE) {\n          throw new Error(\"processBinaryCMap: Invalid dataSize.\");\n        }\n\n        var ucs2DataSize = 1;\n        var subitemsCount = stream.readNumber();\n        var i;\n\n        switch (type) {\n          case 0:\n            stream.readHex(start, dataSize);\n            stream.readHexNumber(end, dataSize);\n            addHex(end, start, dataSize);\n            cMap.addCodespaceRange(dataSize + 1, hexToInt(start, dataSize), hexToInt(end, dataSize));\n\n            for (i = 1; i < subitemsCount; i++) {\n              incHex(end, dataSize);\n              stream.readHexNumber(start, dataSize);\n              addHex(start, end, dataSize);\n              stream.readHexNumber(end, dataSize);\n              addHex(end, start, dataSize);\n              cMap.addCodespaceRange(dataSize + 1, hexToInt(start, dataSize), hexToInt(end, dataSize));\n            }\n\n            break;\n\n          case 1:\n            stream.readHex(start, dataSize);\n            stream.readHexNumber(end, dataSize);\n            addHex(end, start, dataSize);\n            stream.readNumber();\n\n            for (i = 1; i < subitemsCount; i++) {\n              incHex(end, dataSize);\n              stream.readHexNumber(start, dataSize);\n              addHex(start, end, dataSize);\n              stream.readHexNumber(end, dataSize);\n              addHex(end, start, dataSize);\n              stream.readNumber();\n            }\n\n            break;\n\n          case 2:\n            stream.readHex(_char, dataSize);\n            code = stream.readNumber();\n            cMap.mapOne(hexToInt(_char, dataSize), code);\n\n            for (i = 1; i < subitemsCount; i++) {\n              incHex(_char, dataSize);\n\n              if (!sequence) {\n                stream.readHexNumber(tmp, dataSize);\n                addHex(_char, tmp, dataSize);\n              }\n\n              code = stream.readSigned() + (code + 1);\n              cMap.mapOne(hexToInt(_char, dataSize), code);\n            }\n\n            break;\n\n          case 3:\n            stream.readHex(start, dataSize);\n            stream.readHexNumber(end, dataSize);\n            addHex(end, start, dataSize);\n            code = stream.readNumber();\n            cMap.mapCidRange(hexToInt(start, dataSize), hexToInt(end, dataSize), code);\n\n            for (i = 1; i < subitemsCount; i++) {\n              incHex(end, dataSize);\n\n              if (!sequence) {\n                stream.readHexNumber(start, dataSize);\n                addHex(start, end, dataSize);\n              } else {\n                start.set(end);\n              }\n\n              stream.readHexNumber(end, dataSize);\n              addHex(end, start, dataSize);\n              code = stream.readNumber();\n              cMap.mapCidRange(hexToInt(start, dataSize), hexToInt(end, dataSize), code);\n            }\n\n            break;\n\n          case 4:\n            stream.readHex(_char, ucs2DataSize);\n            stream.readHex(charCode, dataSize);\n            cMap.mapOne(hexToInt(_char, ucs2DataSize), hexToStr(charCode, dataSize));\n\n            for (i = 1; i < subitemsCount; i++) {\n              incHex(_char, ucs2DataSize);\n\n              if (!sequence) {\n                stream.readHexNumber(tmp, ucs2DataSize);\n                addHex(_char, tmp, ucs2DataSize);\n              }\n\n              incHex(charCode, dataSize);\n              stream.readHexSigned(tmp, dataSize);\n              addHex(charCode, tmp, dataSize);\n              cMap.mapOne(hexToInt(_char, ucs2DataSize), hexToStr(charCode, dataSize));\n            }\n\n            break;\n\n          case 5:\n            stream.readHex(start, ucs2DataSize);\n            stream.readHexNumber(end, ucs2DataSize);\n            addHex(end, start, ucs2DataSize);\n            stream.readHex(charCode, dataSize);\n            cMap.mapBfRange(hexToInt(start, ucs2DataSize), hexToInt(end, ucs2DataSize), hexToStr(charCode, dataSize));\n\n            for (i = 1; i < subitemsCount; i++) {\n              incHex(end, ucs2DataSize);\n\n              if (!sequence) {\n                stream.readHexNumber(start, ucs2DataSize);\n                addHex(start, end, ucs2DataSize);\n              } else {\n                start.set(end);\n              }\n\n              stream.readHexNumber(end, ucs2DataSize);\n              addHex(end, start, ucs2DataSize);\n              stream.readHex(charCode, dataSize);\n              cMap.mapBfRange(hexToInt(start, ucs2DataSize), hexToInt(end, ucs2DataSize), hexToStr(charCode, dataSize));\n            }\n\n            break;\n\n          default:\n            reject(new Error(\"processBinaryCMap: Unknown type: \" + type));\n            return;\n        }\n      }\n\n      if (useCMap) {\n        resolve(extend(useCMap));\n        return;\n      }\n\n      resolve(cMap);\n    });\n  }\n\n  function BinaryCMapReader() {}\n\n  BinaryCMapReader.prototype = {\n    process: processBinaryCMap\n  };\n  return BinaryCMapReader;\n}();\n\nvar CMapFactory = function CMapFactoryClosure() {\n  function strToInt(str) {\n    var a = 0;\n\n    for (var i = 0; i < str.length; i++) {\n      a = a << 8 | str.charCodeAt(i);\n    }\n\n    return a >>> 0;\n  }\n\n  function expectString(obj) {\n    if (!(0, _util.isString)(obj)) {\n      throw new _util.FormatError(\"Malformed CMap: expected string.\");\n    }\n  }\n\n  function expectInt(obj) {\n    if (!Number.isInteger(obj)) {\n      throw new _util.FormatError(\"Malformed CMap: expected int.\");\n    }\n  }\n\n  function parseBfChar(cMap, lexer) {\n    while (true) {\n      var obj = lexer.getObj();\n\n      if ((0, _primitives.isEOF)(obj)) {\n        break;\n      }\n\n      if ((0, _primitives.isCmd)(obj, \"endbfchar\")) {\n        return;\n      }\n\n      expectString(obj);\n      var src = strToInt(obj);\n      obj = lexer.getObj();\n      expectString(obj);\n      var dst = obj;\n      cMap.mapOne(src, dst);\n    }\n  }\n\n  function parseBfRange(cMap, lexer) {\n    while (true) {\n      var obj = lexer.getObj();\n\n      if ((0, _primitives.isEOF)(obj)) {\n        break;\n      }\n\n      if ((0, _primitives.isCmd)(obj, \"endbfrange\")) {\n        return;\n      }\n\n      expectString(obj);\n      var low = strToInt(obj);\n      obj = lexer.getObj();\n      expectString(obj);\n      var high = strToInt(obj);\n      obj = lexer.getObj();\n\n      if (Number.isInteger(obj) || (0, _util.isString)(obj)) {\n        var dstLow = Number.isInteger(obj) ? String.fromCharCode(obj) : obj;\n        cMap.mapBfRange(low, high, dstLow);\n      } else if ((0, _primitives.isCmd)(obj, \"[\")) {\n        obj = lexer.getObj();\n        var array = [];\n\n        while (!(0, _primitives.isCmd)(obj, \"]\") && !(0, _primitives.isEOF)(obj)) {\n          array.push(obj);\n          obj = lexer.getObj();\n        }\n\n        cMap.mapBfRangeToArray(low, high, array);\n      } else {\n        break;\n      }\n    }\n\n    throw new _util.FormatError(\"Invalid bf range.\");\n  }\n\n  function parseCidChar(cMap, lexer) {\n    while (true) {\n      var obj = lexer.getObj();\n\n      if ((0, _primitives.isEOF)(obj)) {\n        break;\n      }\n\n      if ((0, _primitives.isCmd)(obj, \"endcidchar\")) {\n        return;\n      }\n\n      expectString(obj);\n      var src = strToInt(obj);\n      obj = lexer.getObj();\n      expectInt(obj);\n      var dst = obj;\n      cMap.mapOne(src, dst);\n    }\n  }\n\n  function parseCidRange(cMap, lexer) {\n    while (true) {\n      var obj = lexer.getObj();\n\n      if ((0, _primitives.isEOF)(obj)) {\n        break;\n      }\n\n      if ((0, _primitives.isCmd)(obj, \"endcidrange\")) {\n        return;\n      }\n\n      expectString(obj);\n      var low = strToInt(obj);\n      obj = lexer.getObj();\n      expectString(obj);\n      var high = strToInt(obj);\n      obj = lexer.getObj();\n      expectInt(obj);\n      var dstLow = obj;\n      cMap.mapCidRange(low, high, dstLow);\n    }\n  }\n\n  function parseCodespaceRange(cMap, lexer) {\n    while (true) {\n      var obj = lexer.getObj();\n\n      if ((0, _primitives.isEOF)(obj)) {\n        break;\n      }\n\n      if ((0, _primitives.isCmd)(obj, \"endcodespacerange\")) {\n        return;\n      }\n\n      if (!(0, _util.isString)(obj)) {\n        break;\n      }\n\n      var low = strToInt(obj);\n      obj = lexer.getObj();\n\n      if (!(0, _util.isString)(obj)) {\n        break;\n      }\n\n      var high = strToInt(obj);\n      cMap.addCodespaceRange(obj.length, low, high);\n    }\n\n    throw new _util.FormatError(\"Invalid codespace range.\");\n  }\n\n  function parseWMode(cMap, lexer) {\n    var obj = lexer.getObj();\n\n    if (Number.isInteger(obj)) {\n      cMap.vertical = !!obj;\n    }\n  }\n\n  function parseCMapName(cMap, lexer) {\n    var obj = lexer.getObj();\n\n    if ((0, _primitives.isName)(obj) && (0, _util.isString)(obj.name)) {\n      cMap.name = obj.name;\n    }\n  }\n\n  function parseCMap(cMap, lexer, fetchBuiltInCMap, useCMap) {\n    var previous;\n    var embeddedUseCMap;\n\n    objLoop: while (true) {\n      try {\n        var obj = lexer.getObj();\n\n        if ((0, _primitives.isEOF)(obj)) {\n          break;\n        } else if ((0, _primitives.isName)(obj)) {\n          if (obj.name === \"WMode\") {\n            parseWMode(cMap, lexer);\n          } else if (obj.name === \"CMapName\") {\n            parseCMapName(cMap, lexer);\n          }\n\n          previous = obj;\n        } else if ((0, _primitives.isCmd)(obj)) {\n          switch (obj.cmd) {\n            case \"endcmap\":\n              break objLoop;\n\n            case \"usecmap\":\n              if ((0, _primitives.isName)(previous)) {\n                embeddedUseCMap = previous.name;\n              }\n\n              break;\n\n            case \"begincodespacerange\":\n              parseCodespaceRange(cMap, lexer);\n              break;\n\n            case \"beginbfchar\":\n              parseBfChar(cMap, lexer);\n              break;\n\n            case \"begincidchar\":\n              parseCidChar(cMap, lexer);\n              break;\n\n            case \"beginbfrange\":\n              parseBfRange(cMap, lexer);\n              break;\n\n            case \"begincidrange\":\n              parseCidRange(cMap, lexer);\n              break;\n          }\n        }\n      } catch (ex) {\n        if (ex instanceof _core_utils.MissingDataException) {\n          throw ex;\n        }\n\n        (0, _util.warn)(\"Invalid cMap data: \" + ex);\n        continue;\n      }\n    }\n\n    if (!useCMap && embeddedUseCMap) {\n      useCMap = embeddedUseCMap;\n    }\n\n    if (useCMap) {\n      return extendCMap(cMap, fetchBuiltInCMap, useCMap);\n    }\n\n    return Promise.resolve(cMap);\n  }\n\n  function extendCMap(cMap, fetchBuiltInCMap, useCMap) {\n    return createBuiltInCMap(useCMap, fetchBuiltInCMap).then(function (newCMap) {\n      cMap.useCMap = newCMap;\n\n      if (cMap.numCodespaceRanges === 0) {\n        var useCodespaceRanges = cMap.useCMap.codespaceRanges;\n\n        for (var i = 0; i < useCodespaceRanges.length; i++) {\n          cMap.codespaceRanges[i] = useCodespaceRanges[i].slice();\n        }\n\n        cMap.numCodespaceRanges = cMap.useCMap.numCodespaceRanges;\n      }\n\n      cMap.useCMap.forEach(function (key, value) {\n        if (!cMap.contains(key)) {\n          cMap.mapOne(key, cMap.useCMap.lookup(key));\n        }\n      });\n      return cMap;\n    });\n  }\n\n  function createBuiltInCMap(name, fetchBuiltInCMap) {\n    if (name === \"Identity-H\") {\n      return Promise.resolve(new IdentityCMap(false, 2));\n    } else if (name === \"Identity-V\") {\n      return Promise.resolve(new IdentityCMap(true, 2));\n    }\n\n    if (!BUILT_IN_CMAPS.includes(name)) {\n      return Promise.reject(new Error(\"Unknown CMap name: \" + name));\n    }\n\n    if (!fetchBuiltInCMap) {\n      return Promise.reject(new Error(\"Built-in CMap parameters are not provided.\"));\n    }\n\n    return fetchBuiltInCMap(name).then(function (data) {\n      var cMapData = data.cMapData,\n          compressionType = data.compressionType;\n      var cMap = new CMap(true);\n\n      if (compressionType === _util.CMapCompressionType.BINARY) {\n        return new BinaryCMapReader().process(cMapData, cMap, function (useCMap) {\n          return extendCMap(cMap, fetchBuiltInCMap, useCMap);\n        });\n      }\n\n      if (compressionType === _util.CMapCompressionType.NONE) {\n        var lexer = new _parser.Lexer(new _stream.Stream(cMapData));\n        return parseCMap(cMap, lexer, fetchBuiltInCMap, null);\n      }\n\n      return Promise.reject(new Error(\"TODO: Only BINARY/NONE CMap compression is currently supported.\"));\n    });\n  }\n\n  return {\n    create: function create(params) {\n      return _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee() {\n        var encoding, fetchBuiltInCMap, useCMap, cMap, lexer;\n        return _regenerator[\"default\"].wrap(function _callee$(_context) {\n          while (1) {\n            switch (_context.prev = _context.next) {\n              case 0:\n                encoding = params.encoding;\n                fetchBuiltInCMap = params.fetchBuiltInCMap;\n                useCMap = params.useCMap;\n\n                if (!(0, _primitives.isName)(encoding)) {\n                  _context.next = 7;\n                  break;\n                }\n\n                return _context.abrupt(\"return\", createBuiltInCMap(encoding.name, fetchBuiltInCMap));\n\n              case 7:\n                if (!(0, _primitives.isStream)(encoding)) {\n                  _context.next = 11;\n                  break;\n                }\n\n                cMap = new CMap();\n                lexer = new _parser.Lexer(encoding);\n                return _context.abrupt(\"return\", parseCMap(cMap, lexer, fetchBuiltInCMap, useCMap).then(function (parsedCMap) {\n                  if (parsedCMap.isIdentityCMap) {\n                    return createBuiltInCMap(parsedCMap.name, fetchBuiltInCMap);\n                  }\n\n                  return parsedCMap;\n                }));\n\n              case 11:\n                throw new Error(\"Encoding required.\");\n\n              case 12:\n              case \"end\":\n                return _context.stop();\n            }\n          }\n        }, _callee);\n      }))();\n    }\n  };\n}();\n\nexports.CMapFactory = CMapFactory;\n\n/***/ }),\n/* 222 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.getFontType = getFontType;\nexports.IdentityToUnicodeMap = exports.ToUnicodeMap = exports.FontFlags = exports.Font = exports.ErrorFont = exports.SEAC_ANALYSIS_ENABLED = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _cff_parser = __w_pdfjs_require__(223);\n\nvar _glyphlist = __w_pdfjs_require__(226);\n\nvar _encodings = __w_pdfjs_require__(225);\n\nvar _standard_fonts = __w_pdfjs_require__(227);\n\nvar _unicode = __w_pdfjs_require__(228);\n\nvar _core_utils = __w_pdfjs_require__(201);\n\nvar _font_renderer = __w_pdfjs_require__(229);\n\nvar _cmap = __w_pdfjs_require__(221);\n\nvar _stream = __w_pdfjs_require__(205);\n\nvar _type1_parser = __w_pdfjs_require__(230);\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nvar PRIVATE_USE_AREAS = [[0xe000, 0xf8ff], [0x100000, 0x10fffd]];\nvar PDF_GLYPH_SPACE_UNITS = 1000;\nvar SEAC_ANALYSIS_ENABLED = true;\nexports.SEAC_ANALYSIS_ENABLED = SEAC_ANALYSIS_ENABLED;\nvar EXPORT_DATA_PROPERTIES = [\"ascent\", \"bbox\", \"black\", \"bold\", \"charProcOperatorList\", \"composite\", \"data\", \"defaultVMetrics\", \"defaultWidth\", \"descent\", \"fallbackName\", \"fontMatrix\", \"fontType\", \"isMonospace\", \"isSerifFont\", \"isType3Font\", \"italic\", \"loadedName\", \"mimetype\", \"missingFile\", \"name\", \"remeasure\", \"subtype\", \"type\", \"vertical\"];\nvar EXPORT_DATA_EXTRA_PROPERTIES = [\"cMap\", \"defaultEncoding\", \"differences\", \"isSymbolicFont\", \"seacMap\", \"toFontChar\", \"toUnicode\", \"vmetrics\", \"widths\"];\nvar FontFlags = {\n  FixedPitch: 1,\n  Serif: 2,\n  Symbolic: 4,\n  Script: 8,\n  Nonsymbolic: 32,\n  Italic: 64,\n  AllCap: 65536,\n  SmallCap: 131072,\n  ForceBold: 262144\n};\nexports.FontFlags = FontFlags;\nvar MacStandardGlyphOrdering = [\".notdef\", \".null\", \"nonmarkingreturn\", \"space\", \"exclam\", \"quotedbl\", \"numbersign\", \"dollar\", \"percent\", \"ampersand\", \"quotesingle\", \"parenleft\", \"parenright\", \"asterisk\", \"plus\", \"comma\", \"hyphen\", \"period\", \"slash\", \"zero\", \"one\", \"two\", \"three\", \"four\", \"five\", \"six\", \"seven\", \"eight\", \"nine\", \"colon\", \"semicolon\", \"less\", \"equal\", \"greater\", \"question\", \"at\", \"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\", \"I\", \"J\", \"K\", \"L\", \"M\", \"N\", \"O\", \"P\", \"Q\", \"R\", \"S\", \"T\", \"U\", \"V\", \"W\", \"X\", \"Y\", \"Z\", \"bracketleft\", \"backslash\", \"bracketright\", \"asciicircum\", \"underscore\", \"grave\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\", \"g\", \"h\", \"i\", \"j\", \"k\", \"l\", \"m\", \"n\", \"o\", \"p\", \"q\", \"r\", \"s\", \"t\", \"u\", \"v\", \"w\", \"x\", \"y\", \"z\", \"braceleft\", \"bar\", \"braceright\", \"asciitilde\", \"Adieresis\", \"Aring\", \"Ccedilla\", \"Eacute\", \"Ntilde\", \"Odieresis\", \"Udieresis\", \"aacute\", \"agrave\", \"acircumflex\", \"adieresis\", \"atilde\", \"aring\", \"ccedilla\", \"eacute\", \"egrave\", \"ecircumflex\", \"edieresis\", \"iacute\", \"igrave\", \"icircumflex\", \"idieresis\", \"ntilde\", \"oacute\", \"ograve\", \"ocircumflex\", \"odieresis\", \"otilde\", \"uacute\", \"ugrave\", \"ucircumflex\", \"udieresis\", \"dagger\", \"degree\", \"cent\", \"sterling\", \"section\", \"bullet\", \"paragraph\", \"germandbls\", \"registered\", \"copyright\", \"trademark\", \"acute\", \"dieresis\", \"notequal\", \"AE\", \"Oslash\", \"infinity\", \"plusminus\", \"lessequal\", \"greaterequal\", \"yen\", \"mu\", \"partialdiff\", \"summation\", \"product\", \"pi\", \"integral\", \"ordfeminine\", \"ordmasculine\", \"Omega\", \"ae\", \"oslash\", \"questiondown\", \"exclamdown\", \"logicalnot\", \"radical\", \"florin\", \"approxequal\", \"Delta\", \"guillemotleft\", \"guillemotright\", \"ellipsis\", \"nonbreakingspace\", \"Agrave\", \"Atilde\", \"Otilde\", \"OE\", \"oe\", \"endash\", \"emdash\", \"quotedblleft\", \"quotedblright\", \"quoteleft\", \"quoteright\", \"divide\", \"lozenge\", \"ydieresis\", \"Ydieresis\", \"fraction\", \"currency\", \"guilsinglleft\", \"guilsinglright\", \"fi\", \"fl\", \"daggerdbl\", \"periodcentered\", \"quotesinglbase\", \"quotedblbase\", \"perthousand\", \"Acircumflex\", \"Ecircumflex\", \"Aacute\", \"Edieresis\", \"Egrave\", \"Iacute\", \"Icircumflex\", \"Idieresis\", \"Igrave\", \"Oacute\", \"Ocircumflex\", \"apple\", \"Ograve\", \"Uacute\", \"Ucircumflex\", \"Ugrave\", \"dotlessi\", \"circumflex\", \"tilde\", \"macron\", \"breve\", \"dotaccent\", \"ring\", \"cedilla\", \"hungarumlaut\", \"ogonek\", \"caron\", \"Lslash\", \"lslash\", \"Scaron\", \"scaron\", \"Zcaron\", \"zcaron\", \"brokenbar\", \"Eth\", \"eth\", \"Yacute\", \"yacute\", \"Thorn\", \"thorn\", \"minus\", \"multiply\", \"onesuperior\", \"twosuperior\", \"threesuperior\", \"onehalf\", \"onequarter\", \"threequarters\", \"franc\", \"Gbreve\", \"gbreve\", \"Idotaccent\", \"Scedilla\", \"scedilla\", \"Cacute\", \"cacute\", \"Ccaron\", \"ccaron\", \"dcroat\"];\n\nfunction adjustWidths(properties) {\n  if (!properties.fontMatrix) {\n    return;\n  }\n\n  if (properties.fontMatrix[0] === _util.FONT_IDENTITY_MATRIX[0]) {\n    return;\n  }\n\n  var scale = 0.001 / properties.fontMatrix[0];\n  var glyphsWidths = properties.widths;\n\n  for (var glyph in glyphsWidths) {\n    glyphsWidths[glyph] *= scale;\n  }\n\n  properties.defaultWidth *= scale;\n}\n\nfunction adjustToUnicode(properties, builtInEncoding) {\n  if (properties.hasIncludedToUnicodeMap) {\n    return;\n  }\n\n  if (properties.hasEncoding) {\n    return;\n  }\n\n  if (builtInEncoding === properties.defaultEncoding) {\n    return;\n  }\n\n  if (properties.toUnicode instanceof IdentityToUnicodeMap) {\n    return;\n  }\n\n  var toUnicode = [],\n      glyphsUnicodeMap = (0, _glyphlist.getGlyphsUnicode)();\n\n  for (var charCode in builtInEncoding) {\n    var glyphName = builtInEncoding[charCode];\n    var unicode = (0, _unicode.getUnicodeForGlyph)(glyphName, glyphsUnicodeMap);\n\n    if (unicode !== -1) {\n      toUnicode[charCode] = String.fromCharCode(unicode);\n    }\n  }\n\n  properties.toUnicode.amend(toUnicode);\n}\n\nfunction getFontType(type, subtype) {\n  switch (type) {\n    case \"Type1\":\n      return subtype === \"Type1C\" ? _util.FontType.TYPE1C : _util.FontType.TYPE1;\n\n    case \"CIDFontType0\":\n      return subtype === \"CIDFontType0C\" ? _util.FontType.CIDFONTTYPE0C : _util.FontType.CIDFONTTYPE0;\n\n    case \"OpenType\":\n      return _util.FontType.OPENTYPE;\n\n    case \"TrueType\":\n      return _util.FontType.TRUETYPE;\n\n    case \"CIDFontType2\":\n      return _util.FontType.CIDFONTTYPE2;\n\n    case \"MMType1\":\n      return _util.FontType.MMTYPE1;\n\n    case \"Type0\":\n      return _util.FontType.TYPE0;\n\n    default:\n      return _util.FontType.UNKNOWN;\n  }\n}\n\nfunction recoverGlyphName(name, glyphsUnicodeMap) {\n  if (glyphsUnicodeMap[name] !== undefined) {\n    return name;\n  }\n\n  var unicode = (0, _unicode.getUnicodeForGlyph)(name, glyphsUnicodeMap);\n\n  if (unicode !== -1) {\n    for (var key in glyphsUnicodeMap) {\n      if (glyphsUnicodeMap[key] === unicode) {\n        return key;\n      }\n    }\n  }\n\n  (0, _util.info)(\"Unable to recover a standard glyph name for: \" + name);\n  return name;\n}\n\nvar Glyph = function GlyphClosure() {\n  function Glyph(fontChar, unicode, accent, width, vmetric, operatorListId, isSpace, isInFont) {\n    this.fontChar = fontChar;\n    this.unicode = unicode;\n    this.accent = accent;\n    this.width = width;\n    this.vmetric = vmetric;\n    this.operatorListId = operatorListId;\n    this.isSpace = isSpace;\n    this.isInFont = isInFont;\n  }\n\n  Glyph.prototype.matchesForCache = function (fontChar, unicode, accent, width, vmetric, operatorListId, isSpace, isInFont) {\n    return this.fontChar === fontChar && this.unicode === unicode && this.accent === accent && this.width === width && this.vmetric === vmetric && this.operatorListId === operatorListId && this.isSpace === isSpace && this.isInFont === isInFont;\n  };\n\n  return Glyph;\n}();\n\nvar ToUnicodeMap = function ToUnicodeMapClosure() {\n  function ToUnicodeMap() {\n    var cmap = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n    this._map = cmap;\n  }\n\n  ToUnicodeMap.prototype = {\n    get length() {\n      return this._map.length;\n    },\n\n    forEach: function forEach(callback) {\n      for (var charCode in this._map) {\n        callback(charCode, this._map[charCode].charCodeAt(0));\n      }\n    },\n    has: function has(i) {\n      return this._map[i] !== undefined;\n    },\n    get: function get(i) {\n      return this._map[i];\n    },\n    charCodeOf: function charCodeOf(value) {\n      var map = this._map;\n\n      if (map.length <= 0x10000) {\n        return map.indexOf(value);\n      }\n\n      for (var charCode in map) {\n        if (map[charCode] === value) {\n          return charCode | 0;\n        }\n      }\n\n      return -1;\n    },\n    amend: function amend(map) {\n      for (var charCode in map) {\n        this._map[charCode] = map[charCode];\n      }\n    }\n  };\n  return ToUnicodeMap;\n}();\n\nexports.ToUnicodeMap = ToUnicodeMap;\n\nvar IdentityToUnicodeMap = function IdentityToUnicodeMapClosure() {\n  function IdentityToUnicodeMap(firstChar, lastChar) {\n    this.firstChar = firstChar;\n    this.lastChar = lastChar;\n  }\n\n  IdentityToUnicodeMap.prototype = {\n    get length() {\n      return this.lastChar + 1 - this.firstChar;\n    },\n\n    forEach: function forEach(callback) {\n      for (var i = this.firstChar, ii = this.lastChar; i <= ii; i++) {\n        callback(i, i);\n      }\n    },\n    has: function has(i) {\n      return this.firstChar <= i && i <= this.lastChar;\n    },\n    get: function get(i) {\n      if (this.firstChar <= i && i <= this.lastChar) {\n        return String.fromCharCode(i);\n      }\n\n      return undefined;\n    },\n    charCodeOf: function charCodeOf(v) {\n      return Number.isInteger(v) && v >= this.firstChar && v <= this.lastChar ? v : -1;\n    },\n    amend: function amend(map) {\n      (0, _util.unreachable)(\"Should not call amend()\");\n    }\n  };\n  return IdentityToUnicodeMap;\n}();\n\nexports.IdentityToUnicodeMap = IdentityToUnicodeMap;\n\nvar OpenTypeFileBuilder = function OpenTypeFileBuilderClosure() {\n  function writeInt16(dest, offset, num) {\n    dest[offset] = num >> 8 & 0xff;\n    dest[offset + 1] = num & 0xff;\n  }\n\n  function writeInt32(dest, offset, num) {\n    dest[offset] = num >> 24 & 0xff;\n    dest[offset + 1] = num >> 16 & 0xff;\n    dest[offset + 2] = num >> 8 & 0xff;\n    dest[offset + 3] = num & 0xff;\n  }\n\n  function writeData(dest, offset, data) {\n    var i, ii;\n\n    if (data instanceof Uint8Array) {\n      dest.set(data, offset);\n    } else if (typeof data === \"string\") {\n      for (i = 0, ii = data.length; i < ii; i++) {\n        dest[offset++] = data.charCodeAt(i) & 0xff;\n      }\n    } else {\n      for (i = 0, ii = data.length; i < ii; i++) {\n        dest[offset++] = data[i] & 0xff;\n      }\n    }\n  }\n\n  function OpenTypeFileBuilder(sfnt) {\n    this.sfnt = sfnt;\n    this.tables = Object.create(null);\n  }\n\n  OpenTypeFileBuilder.getSearchParams = function OpenTypeFileBuilder_getSearchParams(entriesCount, entrySize) {\n    var maxPower2 = 1,\n        log2 = 0;\n\n    while ((maxPower2 ^ entriesCount) > maxPower2) {\n      maxPower2 <<= 1;\n      log2++;\n    }\n\n    var searchRange = maxPower2 * entrySize;\n    return {\n      range: searchRange,\n      entry: log2,\n      rangeShift: entrySize * entriesCount - searchRange\n    };\n  };\n\n  var OTF_HEADER_SIZE = 12;\n  var OTF_TABLE_ENTRY_SIZE = 16;\n  OpenTypeFileBuilder.prototype = {\n    toArray: function OpenTypeFileBuilder_toArray() {\n      var sfnt = this.sfnt;\n      var tables = this.tables;\n      var tablesNames = Object.keys(tables);\n      tablesNames.sort();\n      var numTables = tablesNames.length;\n      var i, j, jj, table, tableName;\n      var offset = OTF_HEADER_SIZE + numTables * OTF_TABLE_ENTRY_SIZE;\n      var tableOffsets = [offset];\n\n      for (i = 0; i < numTables; i++) {\n        table = tables[tablesNames[i]];\n        var paddedLength = (table.length + 3 & ~3) >>> 0;\n        offset += paddedLength;\n        tableOffsets.push(offset);\n      }\n\n      var file = new Uint8Array(offset);\n\n      for (i = 0; i < numTables; i++) {\n        table = tables[tablesNames[i]];\n        writeData(file, tableOffsets[i], table);\n      }\n\n      if (sfnt === \"true\") {\n        sfnt = (0, _util.string32)(0x00010000);\n      }\n\n      file[0] = sfnt.charCodeAt(0) & 0xff;\n      file[1] = sfnt.charCodeAt(1) & 0xff;\n      file[2] = sfnt.charCodeAt(2) & 0xff;\n      file[3] = sfnt.charCodeAt(3) & 0xff;\n      writeInt16(file, 4, numTables);\n      var searchParams = OpenTypeFileBuilder.getSearchParams(numTables, 16);\n      writeInt16(file, 6, searchParams.range);\n      writeInt16(file, 8, searchParams.entry);\n      writeInt16(file, 10, searchParams.rangeShift);\n      offset = OTF_HEADER_SIZE;\n\n      for (i = 0; i < numTables; i++) {\n        tableName = tablesNames[i];\n        file[offset] = tableName.charCodeAt(0) & 0xff;\n        file[offset + 1] = tableName.charCodeAt(1) & 0xff;\n        file[offset + 2] = tableName.charCodeAt(2) & 0xff;\n        file[offset + 3] = tableName.charCodeAt(3) & 0xff;\n        var checksum = 0;\n\n        for (j = tableOffsets[i], jj = tableOffsets[i + 1]; j < jj; j += 4) {\n          var quad = (0, _core_utils.readUint32)(file, j);\n          checksum = checksum + quad >>> 0;\n        }\n\n        writeInt32(file, offset + 4, checksum);\n        writeInt32(file, offset + 8, tableOffsets[i]);\n        writeInt32(file, offset + 12, tables[tableName].length);\n        offset += OTF_TABLE_ENTRY_SIZE;\n      }\n\n      return file;\n    },\n    addTable: function OpenTypeFileBuilder_addTable(tag, data) {\n      if (tag in this.tables) {\n        throw new Error(\"Table \" + tag + \" already exists\");\n      }\n\n      this.tables[tag] = data;\n    }\n  };\n  return OpenTypeFileBuilder;\n}();\n\nvar Font = function FontClosure() {\n  function Font(name, file, properties) {\n    var charCode;\n    this.name = name;\n    this.loadedName = properties.loadedName;\n    this.isType3Font = properties.isType3Font;\n    this.missingFile = false;\n    this.glyphCache = Object.create(null);\n    this.isSerifFont = !!(properties.flags & FontFlags.Serif);\n    this.isSymbolicFont = !!(properties.flags & FontFlags.Symbolic);\n    this.isMonospace = !!(properties.flags & FontFlags.FixedPitch);\n    var type = properties.type;\n    var subtype = properties.subtype;\n    this.type = type;\n    this.subtype = subtype;\n    var fallbackName = \"sans-serif\";\n\n    if (this.isMonospace) {\n      fallbackName = \"monospace\";\n    } else if (this.isSerifFont) {\n      fallbackName = \"serif\";\n    }\n\n    this.fallbackName = fallbackName;\n    this.differences = properties.differences;\n    this.widths = properties.widths;\n    this.defaultWidth = properties.defaultWidth;\n    this.composite = properties.composite;\n    this.cMap = properties.cMap;\n    this.ascent = properties.ascent / PDF_GLYPH_SPACE_UNITS;\n    this.descent = properties.descent / PDF_GLYPH_SPACE_UNITS;\n    this.fontMatrix = properties.fontMatrix;\n    this.bbox = properties.bbox;\n    this.defaultEncoding = properties.defaultEncoding;\n    this.toUnicode = properties.toUnicode;\n    this.fallbackToUnicode = properties.fallbackToUnicode || new ToUnicodeMap();\n    this.toFontChar = [];\n\n    if (properties.type === \"Type3\") {\n      for (charCode = 0; charCode < 256; charCode++) {\n        this.toFontChar[charCode] = this.differences[charCode] || properties.defaultEncoding[charCode];\n      }\n\n      this.fontType = _util.FontType.TYPE3;\n      return;\n    }\n\n    this.cidEncoding = properties.cidEncoding;\n    this.vertical = !!properties.vertical;\n\n    if (this.vertical) {\n      this.vmetrics = properties.vmetrics;\n      this.defaultVMetrics = properties.defaultVMetrics;\n    }\n\n    if (!file || file.isEmpty) {\n      if (file) {\n        (0, _util.warn)('Font file is empty in \"' + name + '\" (' + this.loadedName + \")\");\n      }\n\n      this.fallbackToSystemFont();\n      return;\n    }\n\n    var _getFontFileType = getFontFileType(file, properties);\n\n    var _getFontFileType2 = _slicedToArray(_getFontFileType, 2);\n\n    type = _getFontFileType2[0];\n    subtype = _getFontFileType2[1];\n\n    if (type !== this.type || subtype !== this.subtype) {\n      (0, _util.info)(\"Inconsistent font file Type/SubType, expected: \" + \"\".concat(this.type, \"/\").concat(this.subtype, \" but found: \").concat(type, \"/\").concat(subtype, \".\"));\n    }\n\n    try {\n      var data;\n\n      switch (type) {\n        case \"MMType1\":\n          (0, _util.info)(\"MMType1 font (\" + name + \"), falling back to Type1.\");\n\n        case \"Type1\":\n        case \"CIDFontType0\":\n          this.mimetype = \"font/opentype\";\n          var cff = subtype === \"Type1C\" || subtype === \"CIDFontType0C\" ? new CFFFont(file, properties) : new Type1Font(name, file, properties);\n          adjustWidths(properties);\n          data = this.convert(name, cff, properties);\n          break;\n\n        case \"OpenType\":\n        case \"TrueType\":\n        case \"CIDFontType2\":\n          this.mimetype = \"font/opentype\";\n          data = this.checkAndRepair(name, file, properties);\n\n          if (this.isOpenType) {\n            adjustWidths(properties);\n            type = \"OpenType\";\n          }\n\n          break;\n\n        default:\n          throw new _util.FormatError(\"Font \".concat(type, \" is not supported\"));\n      }\n    } catch (e) {\n      (0, _util.warn)(e);\n      this.fallbackToSystemFont();\n      return;\n    }\n\n    this.data = data;\n    this.fontType = getFontType(type, subtype);\n    this.fontMatrix = properties.fontMatrix;\n    this.widths = properties.widths;\n    this.defaultWidth = properties.defaultWidth;\n    this.toUnicode = properties.toUnicode;\n    this.seacMap = properties.seacMap;\n  }\n\n  Font.getFontID = function () {\n    var ID = 1;\n    return function Font_getFontID() {\n      return String(ID++);\n    };\n  }();\n\n  function int16(b0, b1) {\n    return (b0 << 8) + b1;\n  }\n\n  function writeSignedInt16(bytes, index, value) {\n    bytes[index + 1] = value;\n    bytes[index] = value >>> 8;\n  }\n\n  function signedInt16(b0, b1) {\n    var value = (b0 << 8) + b1;\n    return value & 1 << 15 ? value - 0x10000 : value;\n  }\n\n  function int32(b0, b1, b2, b3) {\n    return (b0 << 24) + (b1 << 16) + (b2 << 8) + b3;\n  }\n\n  function string16(value) {\n    return String.fromCharCode(value >> 8 & 0xff, value & 0xff);\n  }\n\n  function safeString16(value) {\n    if (value > 0x7fff) {\n      value = 0x7fff;\n    } else if (value < -0x8000) {\n      value = -0x8000;\n    }\n\n    return String.fromCharCode(value >> 8 & 0xff, value & 0xff);\n  }\n\n  function isTrueTypeFile(file) {\n    var header = file.peekBytes(4);\n    return (0, _core_utils.readUint32)(header, 0) === 0x00010000 || (0, _util.bytesToString)(header) === \"true\";\n  }\n\n  function isTrueTypeCollectionFile(file) {\n    var header = file.peekBytes(4);\n    return (0, _util.bytesToString)(header) === \"ttcf\";\n  }\n\n  function isOpenTypeFile(file) {\n    var header = file.peekBytes(4);\n    return (0, _util.bytesToString)(header) === \"OTTO\";\n  }\n\n  function isType1File(file) {\n    var header = file.peekBytes(2);\n\n    if (header[0] === 0x25 && header[1] === 0x21) {\n      return true;\n    }\n\n    if (header[0] === 0x80 && header[1] === 0x01) {\n      return true;\n    }\n\n    return false;\n  }\n\n  function isCFFFile(file) {\n    var header = file.peekBytes(4);\n\n    if (header[0] >= 1 && header[3] >= 1 && header[3] <= 4) {\n      return true;\n    }\n\n    return false;\n  }\n\n  function getFontFileType(file, _ref) {\n    var type = _ref.type,\n        subtype = _ref.subtype,\n        composite = _ref.composite;\n    var fileType, fileSubtype;\n\n    if (isTrueTypeFile(file) || isTrueTypeCollectionFile(file)) {\n      if (composite) {\n        fileType = \"CIDFontType2\";\n      } else {\n        fileType = \"TrueType\";\n      }\n    } else if (isOpenTypeFile(file)) {\n      if (composite) {\n        fileType = \"CIDFontType2\";\n      } else {\n        fileType = \"OpenType\";\n      }\n    } else if (isType1File(file)) {\n      if (composite) {\n        fileType = \"CIDFontType0\";\n      } else {\n        fileType = type === \"MMType1\" ? \"MMType1\" : \"Type1\";\n      }\n    } else if (isCFFFile(file)) {\n      if (composite) {\n        fileType = \"CIDFontType0\";\n        fileSubtype = \"CIDFontType0C\";\n      } else {\n        fileType = type === \"MMType1\" ? \"MMType1\" : \"Type1\";\n        fileSubtype = \"Type1C\";\n      }\n    } else {\n      (0, _util.warn)(\"getFontFileType: Unable to detect correct font file Type/Subtype.\");\n      fileType = type;\n      fileSubtype = subtype;\n    }\n\n    return [fileType, fileSubtype];\n  }\n\n  function buildToFontChar(encoding, glyphsUnicodeMap, differences) {\n    var toFontChar = [],\n        unicode;\n\n    for (var i = 0, ii = encoding.length; i < ii; i++) {\n      unicode = (0, _unicode.getUnicodeForGlyph)(encoding[i], glyphsUnicodeMap);\n\n      if (unicode !== -1) {\n        toFontChar[i] = unicode;\n      }\n    }\n\n    for (var charCode in differences) {\n      unicode = (0, _unicode.getUnicodeForGlyph)(differences[charCode], glyphsUnicodeMap);\n\n      if (unicode !== -1) {\n        toFontChar[+charCode] = unicode;\n      }\n    }\n\n    return toFontChar;\n  }\n\n  function adjustMapping(charCodeToGlyphId, hasGlyph, newGlyphZeroId) {\n    var newMap = Object.create(null);\n    var toFontChar = [];\n    var privateUseAreaIndex = 0;\n    var nextAvailableFontCharCode = PRIVATE_USE_AREAS[privateUseAreaIndex][0];\n    var privateUseOffetEnd = PRIVATE_USE_AREAS[privateUseAreaIndex][1];\n\n    for (var originalCharCode in charCodeToGlyphId) {\n      originalCharCode |= 0;\n      var glyphId = charCodeToGlyphId[originalCharCode];\n\n      if (!hasGlyph(glyphId)) {\n        continue;\n      }\n\n      if (nextAvailableFontCharCode > privateUseOffetEnd) {\n        privateUseAreaIndex++;\n\n        if (privateUseAreaIndex >= PRIVATE_USE_AREAS.length) {\n          (0, _util.warn)(\"Ran out of space in font private use area.\");\n          break;\n        }\n\n        nextAvailableFontCharCode = PRIVATE_USE_AREAS[privateUseAreaIndex][0];\n        privateUseOffetEnd = PRIVATE_USE_AREAS[privateUseAreaIndex][1];\n      }\n\n      var fontCharCode = nextAvailableFontCharCode++;\n\n      if (glyphId === 0) {\n        glyphId = newGlyphZeroId;\n      }\n\n      newMap[fontCharCode] = glyphId;\n      toFontChar[originalCharCode] = fontCharCode;\n    }\n\n    return {\n      toFontChar: toFontChar,\n      charCodeToGlyphId: newMap,\n      nextAvailableFontCharCode: nextAvailableFontCharCode\n    };\n  }\n\n  function getRanges(glyphs, numGlyphs) {\n    var codes = [];\n\n    for (var charCode in glyphs) {\n      if (glyphs[charCode] >= numGlyphs) {\n        continue;\n      }\n\n      codes.push({\n        fontCharCode: charCode | 0,\n        glyphId: glyphs[charCode]\n      });\n    }\n\n    if (codes.length === 0) {\n      codes.push({\n        fontCharCode: 0,\n        glyphId: 0\n      });\n    }\n\n    codes.sort(function fontGetRangesSort(a, b) {\n      return a.fontCharCode - b.fontCharCode;\n    });\n    var ranges = [];\n    var length = codes.length;\n\n    for (var n = 0; n < length;) {\n      var start = codes[n].fontCharCode;\n      var codeIndices = [codes[n].glyphId];\n      ++n;\n      var end = start;\n\n      while (n < length && end + 1 === codes[n].fontCharCode) {\n        codeIndices.push(codes[n].glyphId);\n        ++end;\n        ++n;\n\n        if (end === 0xffff) {\n          break;\n        }\n      }\n\n      ranges.push([start, end, codeIndices]);\n    }\n\n    return ranges;\n  }\n\n  function createCmapTable(glyphs, numGlyphs) {\n    var ranges = getRanges(glyphs, numGlyphs);\n    var numTables = ranges[ranges.length - 1][1] > 0xffff ? 2 : 1;\n    var cmap = \"\\x00\\x00\" + string16(numTables) + \"\\x00\\x03\" + \"\\x00\\x01\" + (0, _util.string32)(4 + numTables * 8);\n    var i, ii, j, jj;\n\n    for (i = ranges.length - 1; i >= 0; --i) {\n      if (ranges[i][0] <= 0xffff) {\n        break;\n      }\n    }\n\n    var bmpLength = i + 1;\n\n    if (ranges[i][0] < 0xffff && ranges[i][1] === 0xffff) {\n      ranges[i][1] = 0xfffe;\n    }\n\n    var trailingRangesCount = ranges[i][1] < 0xffff ? 1 : 0;\n    var segCount = bmpLength + trailingRangesCount;\n    var searchParams = OpenTypeFileBuilder.getSearchParams(segCount, 2);\n    var startCount = \"\";\n    var endCount = \"\";\n    var idDeltas = \"\";\n    var idRangeOffsets = \"\";\n    var glyphsIds = \"\";\n    var bias = 0;\n    var range, start, end, codes;\n\n    for (i = 0, ii = bmpLength; i < ii; i++) {\n      range = ranges[i];\n      start = range[0];\n      end = range[1];\n      startCount += string16(start);\n      endCount += string16(end);\n      codes = range[2];\n      var contiguous = true;\n\n      for (j = 1, jj = codes.length; j < jj; ++j) {\n        if (codes[j] !== codes[j - 1] + 1) {\n          contiguous = false;\n          break;\n        }\n      }\n\n      if (!contiguous) {\n        var offset = (segCount - i) * 2 + bias * 2;\n        bias += end - start + 1;\n        idDeltas += string16(0);\n        idRangeOffsets += string16(offset);\n\n        for (j = 0, jj = codes.length; j < jj; ++j) {\n          glyphsIds += string16(codes[j]);\n        }\n      } else {\n        var startCode = codes[0];\n        idDeltas += string16(startCode - start & 0xffff);\n        idRangeOffsets += string16(0);\n      }\n    }\n\n    if (trailingRangesCount > 0) {\n      endCount += \"\\xFF\\xFF\";\n      startCount += \"\\xFF\\xFF\";\n      idDeltas += \"\\x00\\x01\";\n      idRangeOffsets += \"\\x00\\x00\";\n    }\n\n    var format314 = \"\\x00\\x00\" + string16(2 * segCount) + string16(searchParams.range) + string16(searchParams.entry) + string16(searchParams.rangeShift) + endCount + \"\\x00\\x00\" + startCount + idDeltas + idRangeOffsets + glyphsIds;\n    var format31012 = \"\";\n    var header31012 = \"\";\n\n    if (numTables > 1) {\n      cmap += \"\\x00\\x03\" + \"\\x00\\x0A\" + (0, _util.string32)(4 + numTables * 8 + 4 + format314.length);\n      format31012 = \"\";\n\n      for (i = 0, ii = ranges.length; i < ii; i++) {\n        range = ranges[i];\n        start = range[0];\n        codes = range[2];\n        var code = codes[0];\n\n        for (j = 1, jj = codes.length; j < jj; ++j) {\n          if (codes[j] !== codes[j - 1] + 1) {\n            end = range[0] + j - 1;\n            format31012 += (0, _util.string32)(start) + (0, _util.string32)(end) + (0, _util.string32)(code);\n            start = end + 1;\n            code = codes[j];\n          }\n        }\n\n        format31012 += (0, _util.string32)(start) + (0, _util.string32)(range[1]) + (0, _util.string32)(code);\n      }\n\n      header31012 = \"\\x00\\x0C\" + \"\\x00\\x00\" + (0, _util.string32)(format31012.length + 16) + \"\\x00\\x00\\x00\\x00\" + (0, _util.string32)(format31012.length / 12);\n    }\n\n    return cmap + \"\\x00\\x04\" + string16(format314.length + 4) + format314 + header31012 + format31012;\n  }\n\n  function validateOS2Table(os2, file) {\n    file.pos = (file.start || 0) + os2.offset;\n    var version = file.getUint16();\n    file.skip(60);\n    var selection = file.getUint16();\n\n    if (version < 4 && selection & 0x0300) {\n      return false;\n    }\n\n    var firstChar = file.getUint16();\n    var lastChar = file.getUint16();\n\n    if (firstChar > lastChar) {\n      return false;\n    }\n\n    file.skip(6);\n    var usWinAscent = file.getUint16();\n\n    if (usWinAscent === 0) {\n      return false;\n    }\n\n    os2.data[8] = os2.data[9] = 0;\n    return true;\n  }\n\n  function createOS2Table(properties, charstrings, override) {\n    override = override || {\n      unitsPerEm: 0,\n      yMax: 0,\n      yMin: 0,\n      ascent: 0,\n      descent: 0\n    };\n    var ulUnicodeRange1 = 0;\n    var ulUnicodeRange2 = 0;\n    var ulUnicodeRange3 = 0;\n    var ulUnicodeRange4 = 0;\n    var firstCharIndex = null;\n    var lastCharIndex = 0;\n\n    if (charstrings) {\n      for (var code in charstrings) {\n        code |= 0;\n\n        if (firstCharIndex > code || !firstCharIndex) {\n          firstCharIndex = code;\n        }\n\n        if (lastCharIndex < code) {\n          lastCharIndex = code;\n        }\n\n        var position = (0, _unicode.getUnicodeRangeFor)(code);\n\n        if (position < 32) {\n          ulUnicodeRange1 |= 1 << position;\n        } else if (position < 64) {\n          ulUnicodeRange2 |= 1 << position - 32;\n        } else if (position < 96) {\n          ulUnicodeRange3 |= 1 << position - 64;\n        } else if (position < 123) {\n          ulUnicodeRange4 |= 1 << position - 96;\n        } else {\n          throw new _util.FormatError(\"Unicode ranges Bits > 123 are reserved for internal usage\");\n        }\n      }\n\n      if (lastCharIndex > 0xffff) {\n        lastCharIndex = 0xffff;\n      }\n    } else {\n      firstCharIndex = 0;\n      lastCharIndex = 255;\n    }\n\n    var bbox = properties.bbox || [0, 0, 0, 0];\n    var unitsPerEm = override.unitsPerEm || 1 / (properties.fontMatrix || _util.FONT_IDENTITY_MATRIX)[0];\n    var scale = properties.ascentScaled ? 1.0 : unitsPerEm / PDF_GLYPH_SPACE_UNITS;\n    var typoAscent = override.ascent || Math.round(scale * (properties.ascent || bbox[3]));\n    var typoDescent = override.descent || Math.round(scale * (properties.descent || bbox[1]));\n\n    if (typoDescent > 0 && properties.descent > 0 && bbox[1] < 0) {\n      typoDescent = -typoDescent;\n    }\n\n    var winAscent = override.yMax || typoAscent;\n    var winDescent = -override.yMin || -typoDescent;\n    return \"\\x00\\x03\" + \"\\x02\\x24\" + \"\\x01\\xF4\" + \"\\x00\\x05\" + \"\\x00\\x00\" + \"\\x02\\x8A\" + \"\\x02\\xBB\" + \"\\x00\\x00\" + \"\\x00\\x8C\" + \"\\x02\\x8A\" + \"\\x02\\xBB\" + \"\\x00\\x00\" + \"\\x01\\xDF\" + \"\\x00\\x31\" + \"\\x01\\x02\" + \"\\x00\\x00\" + \"\\x00\\x00\\x06\" + String.fromCharCode(properties.fixedPitch ? 0x09 : 0x00) + \"\\x00\\x00\\x00\\x00\\x00\\x00\" + (0, _util.string32)(ulUnicodeRange1) + (0, _util.string32)(ulUnicodeRange2) + (0, _util.string32)(ulUnicodeRange3) + (0, _util.string32)(ulUnicodeRange4) + \"\\x2A\\x32\\x31\\x2A\" + string16(properties.italicAngle ? 1 : 0) + string16(firstCharIndex || properties.firstChar) + string16(lastCharIndex || properties.lastChar) + string16(typoAscent) + string16(typoDescent) + \"\\x00\\x64\" + string16(winAscent) + string16(winDescent) + \"\\x00\\x00\\x00\\x00\" + \"\\x00\\x00\\x00\\x00\" + string16(properties.xHeight) + string16(properties.capHeight) + string16(0) + string16(firstCharIndex || properties.firstChar) + \"\\x00\\x03\";\n  }\n\n  function createPostTable(properties) {\n    var angle = Math.floor(properties.italicAngle * Math.pow(2, 16));\n    return \"\\x00\\x03\\x00\\x00\" + (0, _util.string32)(angle) + \"\\x00\\x00\" + \"\\x00\\x00\" + (0, _util.string32)(properties.fixedPitch) + \"\\x00\\x00\\x00\\x00\" + \"\\x00\\x00\\x00\\x00\" + \"\\x00\\x00\\x00\\x00\" + \"\\x00\\x00\\x00\\x00\";\n  }\n\n  function createNameTable(name, proto) {\n    if (!proto) {\n      proto = [[], []];\n    }\n\n    var strings = [proto[0][0] || \"Original licence\", proto[0][1] || name, proto[0][2] || \"Unknown\", proto[0][3] || \"uniqueID\", proto[0][4] || name, proto[0][5] || \"Version 0.11\", proto[0][6] || \"\", proto[0][7] || \"Unknown\", proto[0][8] || \"Unknown\", proto[0][9] || \"Unknown\"];\n    var stringsUnicode = [];\n    var i, ii, j, jj, str;\n\n    for (i = 0, ii = strings.length; i < ii; i++) {\n      str = proto[1][i] || strings[i];\n      var strBufUnicode = [];\n\n      for (j = 0, jj = str.length; j < jj; j++) {\n        strBufUnicode.push(string16(str.charCodeAt(j)));\n      }\n\n      stringsUnicode.push(strBufUnicode.join(\"\"));\n    }\n\n    var names = [strings, stringsUnicode];\n    var platforms = [\"\\x00\\x01\", \"\\x00\\x03\"];\n    var encodings = [\"\\x00\\x00\", \"\\x00\\x01\"];\n    var languages = [\"\\x00\\x00\", \"\\x04\\x09\"];\n    var namesRecordCount = strings.length * platforms.length;\n    var nameTable = \"\\x00\\x00\" + string16(namesRecordCount) + string16(namesRecordCount * 12 + 6);\n    var strOffset = 0;\n\n    for (i = 0, ii = platforms.length; i < ii; i++) {\n      var strs = names[i];\n\n      for (j = 0, jj = strs.length; j < jj; j++) {\n        str = strs[j];\n        var nameRecord = platforms[i] + encodings[i] + languages[i] + string16(j) + string16(str.length) + string16(strOffset);\n        nameTable += nameRecord;\n        strOffset += str.length;\n      }\n    }\n\n    nameTable += strings.join(\"\") + stringsUnicode.join(\"\");\n    return nameTable;\n  }\n\n  Font.prototype = {\n    name: null,\n    font: null,\n    mimetype: null,\n    disableFontFace: false,\n\n    get renderer() {\n      var renderer = _font_renderer.FontRendererFactory.create(this, SEAC_ANALYSIS_ENABLED);\n\n      return (0, _util.shadow)(this, \"renderer\", renderer);\n    },\n\n    exportData: function exportData() {\n      var extraProperties = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n      var exportDataProperties = extraProperties ? [].concat(EXPORT_DATA_PROPERTIES, EXPORT_DATA_EXTRA_PROPERTIES) : EXPORT_DATA_PROPERTIES;\n      var data = Object.create(null);\n      var property, value;\n\n      var _iterator = _createForOfIteratorHelper(exportDataProperties),\n          _step;\n\n      try {\n        for (_iterator.s(); !(_step = _iterator.n()).done;) {\n          property = _step.value;\n          value = this[property];\n\n          if (value !== undefined) {\n            data[property] = value;\n          }\n        }\n      } catch (err) {\n        _iterator.e(err);\n      } finally {\n        _iterator.f();\n      }\n\n      return data;\n    },\n    fallbackToSystemFont: function Font_fallbackToSystemFont() {\n      var _this = this;\n\n      this.missingFile = true;\n      var name = this.name;\n      var type = this.type;\n      var subtype = this.subtype;\n      var fontName = name.replace(/[,_]/g, \"-\").replace(/\\s/g, \"\");\n      var stdFontMap = (0, _standard_fonts.getStdFontMap)(),\n          nonStdFontMap = (0, _standard_fonts.getNonStdFontMap)();\n      var isStandardFont = !!stdFontMap[fontName] || !!(nonStdFontMap[fontName] && stdFontMap[nonStdFontMap[fontName]]);\n      fontName = stdFontMap[fontName] || nonStdFontMap[fontName] || fontName;\n      this.bold = fontName.search(/bold/gi) !== -1;\n      this.italic = fontName.search(/oblique/gi) !== -1 || fontName.search(/italic/gi) !== -1;\n      this.black = name.search(/Black/g) !== -1;\n      this.remeasure = Object.keys(this.widths).length > 0;\n\n      if (isStandardFont && type === \"CIDFontType2\" && this.cidEncoding.startsWith(\"Identity-\")) {\n        var GlyphMapForStandardFonts = (0, _standard_fonts.getGlyphMapForStandardFonts)();\n        var map = [];\n\n        for (var charCode in GlyphMapForStandardFonts) {\n          map[+charCode] = GlyphMapForStandardFonts[charCode];\n        }\n\n        if (/Arial-?Black/i.test(name)) {\n          var SupplementalGlyphMapForArialBlack = (0, _standard_fonts.getSupplementalGlyphMapForArialBlack)();\n\n          for (var _charCode in SupplementalGlyphMapForArialBlack) {\n            map[+_charCode] = SupplementalGlyphMapForArialBlack[_charCode];\n          }\n        } else if (/Calibri/i.test(name)) {\n          var SupplementalGlyphMapForCalibri = (0, _standard_fonts.getSupplementalGlyphMapForCalibri)();\n\n          for (var _charCode2 in SupplementalGlyphMapForCalibri) {\n            map[+_charCode2] = SupplementalGlyphMapForCalibri[_charCode2];\n          }\n        }\n\n        var isIdentityUnicode = this.toUnicode instanceof IdentityToUnicodeMap;\n\n        if (!isIdentityUnicode) {\n          this.toUnicode.forEach(function (charCode, unicodeCharCode) {\n            map[+charCode] = unicodeCharCode;\n          });\n        }\n\n        this.toFontChar = map;\n        this.toUnicode = new ToUnicodeMap(map);\n      } else if (/Symbol/i.test(fontName)) {\n        this.toFontChar = buildToFontChar(_encodings.SymbolSetEncoding, (0, _glyphlist.getGlyphsUnicode)(), this.differences);\n      } else if (/Dingbats/i.test(fontName)) {\n        if (/Wingdings/i.test(name)) {\n          (0, _util.warn)(\"Non-embedded Wingdings font, falling back to ZapfDingbats.\");\n        }\n\n        this.toFontChar = buildToFontChar(_encodings.ZapfDingbatsEncoding, (0, _glyphlist.getDingbatsGlyphsUnicode)(), this.differences);\n      } else if (isStandardFont) {\n        this.toFontChar = buildToFontChar(this.defaultEncoding, (0, _glyphlist.getGlyphsUnicode)(), this.differences);\n      } else {\n        var glyphsUnicodeMap = (0, _glyphlist.getGlyphsUnicode)();\n        var _map = [];\n        this.toUnicode.forEach(function (charCode, unicodeCharCode) {\n          if (!_this.composite) {\n            var glyphName = _this.differences[charCode] || _this.defaultEncoding[charCode];\n            var unicode = (0, _unicode.getUnicodeForGlyph)(glyphName, glyphsUnicodeMap);\n\n            if (unicode !== -1) {\n              unicodeCharCode = unicode;\n            }\n          }\n\n          _map[+charCode] = unicodeCharCode;\n        });\n\n        if (this.composite && this.toUnicode instanceof IdentityToUnicodeMap) {\n          if (/Verdana/i.test(name)) {\n            var _GlyphMapForStandardFonts = (0, _standard_fonts.getGlyphMapForStandardFonts)();\n\n            for (var _charCode3 in _GlyphMapForStandardFonts) {\n              _map[+_charCode3] = _GlyphMapForStandardFonts[_charCode3];\n            }\n          }\n        }\n\n        this.toFontChar = _map;\n      }\n\n      this.loadedName = fontName.split(\"-\")[0];\n      this.fontType = getFontType(type, subtype);\n    },\n    checkAndRepair: function Font_checkAndRepair(name, font, properties) {\n      var VALID_TABLES = [\"OS/2\", \"cmap\", \"head\", \"hhea\", \"hmtx\", \"maxp\", \"name\", \"post\", \"loca\", \"glyf\", \"fpgm\", \"prep\", \"cvt \", \"CFF \"];\n\n      function readTables(file, numTables) {\n        var tables = Object.create(null);\n        tables[\"OS/2\"] = null;\n        tables.cmap = null;\n        tables.head = null;\n        tables.hhea = null;\n        tables.hmtx = null;\n        tables.maxp = null;\n        tables.name = null;\n        tables.post = null;\n\n        for (var i = 0; i < numTables; i++) {\n          var table = readTableEntry(file);\n\n          if (!VALID_TABLES.includes(table.tag)) {\n            continue;\n          }\n\n          if (table.length === 0) {\n            continue;\n          }\n\n          tables[table.tag] = table;\n        }\n\n        return tables;\n      }\n\n      function readTableEntry(file) {\n        var tag = (0, _util.bytesToString)(file.getBytes(4));\n        var checksum = file.getInt32() >>> 0;\n        var offset = file.getInt32() >>> 0;\n        var length = file.getInt32() >>> 0;\n        var previousPosition = file.pos;\n        file.pos = file.start ? file.start : 0;\n        file.skip(offset);\n        var data = file.getBytes(length);\n        file.pos = previousPosition;\n\n        if (tag === \"head\") {\n          data[8] = data[9] = data[10] = data[11] = 0;\n          data[17] |= 0x20;\n        }\n\n        return {\n          tag: tag,\n          checksum: checksum,\n          length: length,\n          offset: offset,\n          data: data\n        };\n      }\n\n      function readOpenTypeHeader(ttf) {\n        return {\n          version: (0, _util.bytesToString)(ttf.getBytes(4)),\n          numTables: ttf.getUint16(),\n          searchRange: ttf.getUint16(),\n          entrySelector: ttf.getUint16(),\n          rangeShift: ttf.getUint16()\n        };\n      }\n\n      function readTrueTypeCollectionHeader(ttc) {\n        var ttcTag = (0, _util.bytesToString)(ttc.getBytes(4));\n        (0, _util.assert)(ttcTag === \"ttcf\", \"Must be a TrueType Collection font.\");\n        var majorVersion = ttc.getUint16();\n        var minorVersion = ttc.getUint16();\n        var numFonts = ttc.getInt32() >>> 0;\n        var offsetTable = [];\n\n        for (var i = 0; i < numFonts; i++) {\n          offsetTable.push(ttc.getInt32() >>> 0);\n        }\n\n        var header = {\n          ttcTag: ttcTag,\n          majorVersion: majorVersion,\n          minorVersion: minorVersion,\n          numFonts: numFonts,\n          offsetTable: offsetTable\n        };\n\n        switch (majorVersion) {\n          case 1:\n            return header;\n\n          case 2:\n            header.dsigTag = ttc.getInt32() >>> 0;\n            header.dsigLength = ttc.getInt32() >>> 0;\n            header.dsigOffset = ttc.getInt32() >>> 0;\n            return header;\n        }\n\n        throw new _util.FormatError(\"Invalid TrueType Collection majorVersion: \".concat(majorVersion, \".\"));\n      }\n\n      function readTrueTypeCollectionData(ttc, fontName) {\n        var _readTrueTypeCollecti = readTrueTypeCollectionHeader(ttc),\n            numFonts = _readTrueTypeCollecti.numFonts,\n            offsetTable = _readTrueTypeCollecti.offsetTable;\n\n        for (var i = 0; i < numFonts; i++) {\n          ttc.pos = (ttc.start || 0) + offsetTable[i];\n          var potentialHeader = readOpenTypeHeader(ttc);\n          var potentialTables = readTables(ttc, potentialHeader.numTables);\n\n          if (!potentialTables.name) {\n            throw new _util.FormatError('TrueType Collection font must contain a \"name\" table.');\n          }\n\n          var nameTable = readNameTable(potentialTables.name);\n\n          for (var j = 0, jj = nameTable.length; j < jj; j++) {\n            for (var k = 0, kk = nameTable[j].length; k < kk; k++) {\n              var nameEntry = nameTable[j][k];\n\n              if (nameEntry && nameEntry.replace(/\\s/g, \"\") === fontName) {\n                return {\n                  header: potentialHeader,\n                  tables: potentialTables\n                };\n              }\n            }\n          }\n        }\n\n        throw new _util.FormatError(\"TrueType Collection does not contain \\\"\".concat(fontName, \"\\\" font.\"));\n      }\n\n      function readCmapTable(cmap, file, isSymbolicFont, hasEncoding) {\n        if (!cmap) {\n          (0, _util.warn)(\"No cmap table available.\");\n          return {\n            platformId: -1,\n            encodingId: -1,\n            mappings: [],\n            hasShortCmap: false\n          };\n        }\n\n        var segment;\n        var start = (file.start ? file.start : 0) + cmap.offset;\n        file.pos = start;\n        file.skip(2);\n        var numTables = file.getUint16();\n        var potentialTable;\n        var canBreak = false;\n\n        for (var i = 0; i < numTables; i++) {\n          var platformId = file.getUint16();\n          var encodingId = file.getUint16();\n          var offset = file.getInt32() >>> 0;\n          var useTable = false;\n\n          if (potentialTable && potentialTable.platformId === platformId && potentialTable.encodingId === encodingId) {\n            continue;\n          }\n\n          if (platformId === 0 && encodingId === 0) {\n            useTable = true;\n          } else if (platformId === 1 && encodingId === 0) {\n            useTable = true;\n          } else if (platformId === 3 && encodingId === 1 && (hasEncoding || !potentialTable)) {\n            useTable = true;\n\n            if (!isSymbolicFont) {\n              canBreak = true;\n            }\n          } else if (isSymbolicFont && platformId === 3 && encodingId === 0) {\n            useTable = true;\n            canBreak = true;\n          }\n\n          if (useTable) {\n            potentialTable = {\n              platformId: platformId,\n              encodingId: encodingId,\n              offset: offset\n            };\n          }\n\n          if (canBreak) {\n            break;\n          }\n        }\n\n        if (potentialTable) {\n          file.pos = start + potentialTable.offset;\n        }\n\n        if (!potentialTable || file.peekByte() === -1) {\n          (0, _util.warn)(\"Could not find a preferred cmap table.\");\n          return {\n            platformId: -1,\n            encodingId: -1,\n            mappings: [],\n            hasShortCmap: false\n          };\n        }\n\n        var format = file.getUint16();\n        file.skip(2 + 2);\n        var hasShortCmap = false;\n        var mappings = [];\n        var j, glyphId;\n\n        if (format === 0) {\n          for (j = 0; j < 256; j++) {\n            var index = file.getByte();\n\n            if (!index) {\n              continue;\n            }\n\n            mappings.push({\n              charCode: j,\n              glyphId: index\n            });\n          }\n\n          hasShortCmap = true;\n        } else if (format === 4) {\n          var segCount = file.getUint16() >> 1;\n          file.skip(6);\n          var segIndex,\n              segments = [];\n\n          for (segIndex = 0; segIndex < segCount; segIndex++) {\n            segments.push({\n              end: file.getUint16()\n            });\n          }\n\n          file.skip(2);\n\n          for (segIndex = 0; segIndex < segCount; segIndex++) {\n            segments[segIndex].start = file.getUint16();\n          }\n\n          for (segIndex = 0; segIndex < segCount; segIndex++) {\n            segments[segIndex].delta = file.getUint16();\n          }\n\n          var offsetsCount = 0;\n\n          for (segIndex = 0; segIndex < segCount; segIndex++) {\n            segment = segments[segIndex];\n            var rangeOffset = file.getUint16();\n\n            if (!rangeOffset) {\n              segment.offsetIndex = -1;\n              continue;\n            }\n\n            var offsetIndex = (rangeOffset >> 1) - (segCount - segIndex);\n            segment.offsetIndex = offsetIndex;\n            offsetsCount = Math.max(offsetsCount, offsetIndex + segment.end - segment.start + 1);\n          }\n\n          var offsets = [];\n\n          for (j = 0; j < offsetsCount; j++) {\n            offsets.push(file.getUint16());\n          }\n\n          for (segIndex = 0; segIndex < segCount; segIndex++) {\n            segment = segments[segIndex];\n            start = segment.start;\n            var end = segment.end;\n            var delta = segment.delta;\n            offsetIndex = segment.offsetIndex;\n\n            for (j = start; j <= end; j++) {\n              if (j === 0xffff) {\n                continue;\n              }\n\n              glyphId = offsetIndex < 0 ? j : offsets[offsetIndex + j - start];\n              glyphId = glyphId + delta & 0xffff;\n              mappings.push({\n                charCode: j,\n                glyphId: glyphId\n              });\n            }\n          }\n        } else if (format === 6) {\n          var firstCode = file.getUint16();\n          var entryCount = file.getUint16();\n\n          for (j = 0; j < entryCount; j++) {\n            glyphId = file.getUint16();\n            var charCode = firstCode + j;\n            mappings.push({\n              charCode: charCode,\n              glyphId: glyphId\n            });\n          }\n        } else {\n          (0, _util.warn)(\"cmap table has unsupported format: \" + format);\n          return {\n            platformId: -1,\n            encodingId: -1,\n            mappings: [],\n            hasShortCmap: false\n          };\n        }\n\n        mappings.sort(function (a, b) {\n          return a.charCode - b.charCode;\n        });\n\n        for (i = 1; i < mappings.length; i++) {\n          if (mappings[i - 1].charCode === mappings[i].charCode) {\n            mappings.splice(i, 1);\n            i--;\n          }\n        }\n\n        return {\n          platformId: potentialTable.platformId,\n          encodingId: potentialTable.encodingId,\n          mappings: mappings,\n          hasShortCmap: hasShortCmap\n        };\n      }\n\n      function sanitizeMetrics(file, header, metrics, numGlyphs, dupFirstEntry) {\n        if (!header) {\n          if (metrics) {\n            metrics.data = null;\n          }\n\n          return;\n        }\n\n        file.pos = (file.start ? file.start : 0) + header.offset;\n        file.pos += 4;\n        file.pos += 2;\n        file.pos += 2;\n        file.pos += 2;\n        file.pos += 2;\n        file.pos += 2;\n        file.pos += 2;\n        file.pos += 2;\n        file.pos += 2;\n        file.pos += 2;\n        file.pos += 2;\n        file.pos += 8;\n        file.pos += 2;\n        var numOfMetrics = file.getUint16();\n\n        if (numOfMetrics > numGlyphs) {\n          (0, _util.info)(\"The numOfMetrics (\" + numOfMetrics + \") should not be \" + \"greater than the numGlyphs (\" + numGlyphs + \")\");\n          numOfMetrics = numGlyphs;\n          header.data[34] = (numOfMetrics & 0xff00) >> 8;\n          header.data[35] = numOfMetrics & 0x00ff;\n        }\n\n        var numOfSidebearings = numGlyphs - numOfMetrics;\n        var numMissing = numOfSidebearings - (metrics.length - numOfMetrics * 4 >> 1);\n\n        if (numMissing > 0) {\n          var entries = new Uint8Array(metrics.length + numMissing * 2);\n          entries.set(metrics.data);\n\n          if (dupFirstEntry) {\n            entries[metrics.length] = metrics.data[2];\n            entries[metrics.length + 1] = metrics.data[3];\n          }\n\n          metrics.data = entries;\n        }\n      }\n\n      function sanitizeGlyph(source, sourceStart, sourceEnd, dest, destStart, hintsValid) {\n        var glyphProfile = {\n          length: 0,\n          sizeOfInstructions: 0\n        };\n\n        if (sourceEnd - sourceStart <= 12) {\n          return glyphProfile;\n        }\n\n        var glyf = source.subarray(sourceStart, sourceEnd);\n        var contoursCount = signedInt16(glyf[0], glyf[1]);\n\n        if (contoursCount < 0) {\n          contoursCount = -1;\n          writeSignedInt16(glyf, 0, contoursCount);\n          dest.set(glyf, destStart);\n          glyphProfile.length = glyf.length;\n          return glyphProfile;\n        }\n\n        var i,\n            j = 10,\n            flagsCount = 0;\n\n        for (i = 0; i < contoursCount; i++) {\n          var endPoint = glyf[j] << 8 | glyf[j + 1];\n          flagsCount = endPoint + 1;\n          j += 2;\n        }\n\n        var instructionsStart = j;\n        var instructionsLength = glyf[j] << 8 | glyf[j + 1];\n        glyphProfile.sizeOfInstructions = instructionsLength;\n        j += 2 + instructionsLength;\n        var instructionsEnd = j;\n        var coordinatesLength = 0;\n\n        for (i = 0; i < flagsCount; i++) {\n          var flag = glyf[j++];\n\n          if (flag & 0xc0) {\n            glyf[j - 1] = flag & 0x3f;\n          }\n\n          var xLength = 2;\n\n          if (flag & 2) {\n            xLength = 1;\n          } else if (flag & 16) {\n            xLength = 0;\n          }\n\n          var yLength = 2;\n\n          if (flag & 4) {\n            yLength = 1;\n          } else if (flag & 32) {\n            yLength = 0;\n          }\n\n          var xyLength = xLength + yLength;\n          coordinatesLength += xyLength;\n\n          if (flag & 8) {\n            var repeat = glyf[j++];\n            i += repeat;\n            coordinatesLength += repeat * xyLength;\n          }\n        }\n\n        if (coordinatesLength === 0) {\n          return glyphProfile;\n        }\n\n        var glyphDataLength = j + coordinatesLength;\n\n        if (glyphDataLength > glyf.length) {\n          return glyphProfile;\n        }\n\n        if (!hintsValid && instructionsLength > 0) {\n          dest.set(glyf.subarray(0, instructionsStart), destStart);\n          dest.set([0, 0], destStart + instructionsStart);\n          dest.set(glyf.subarray(instructionsEnd, glyphDataLength), destStart + instructionsStart + 2);\n          glyphDataLength -= instructionsLength;\n\n          if (glyf.length - glyphDataLength > 3) {\n            glyphDataLength = glyphDataLength + 3 & ~3;\n          }\n\n          glyphProfile.length = glyphDataLength;\n          return glyphProfile;\n        }\n\n        if (glyf.length - glyphDataLength > 3) {\n          glyphDataLength = glyphDataLength + 3 & ~3;\n          dest.set(glyf.subarray(0, glyphDataLength), destStart);\n          glyphProfile.length = glyphDataLength;\n          return glyphProfile;\n        }\n\n        dest.set(glyf, destStart);\n        glyphProfile.length = glyf.length;\n        return glyphProfile;\n      }\n\n      function sanitizeHead(head, numGlyphs, locaLength) {\n        var data = head.data;\n        var version = int32(data[0], data[1], data[2], data[3]);\n\n        if (version >> 16 !== 1) {\n          (0, _util.info)(\"Attempting to fix invalid version in head table: \" + version);\n          data[0] = 0;\n          data[1] = 1;\n          data[2] = 0;\n          data[3] = 0;\n        }\n\n        var indexToLocFormat = int16(data[50], data[51]);\n\n        if (indexToLocFormat < 0 || indexToLocFormat > 1) {\n          (0, _util.info)(\"Attempting to fix invalid indexToLocFormat in head table: \" + indexToLocFormat);\n          var numGlyphsPlusOne = numGlyphs + 1;\n\n          if (locaLength === numGlyphsPlusOne << 1) {\n            data[50] = 0;\n            data[51] = 0;\n          } else if (locaLength === numGlyphsPlusOne << 2) {\n            data[50] = 0;\n            data[51] = 1;\n          } else {\n            throw new _util.FormatError(\"Could not fix indexToLocFormat: \" + indexToLocFormat);\n          }\n        }\n      }\n\n      function sanitizeGlyphLocations(loca, glyf, numGlyphs, isGlyphLocationsLong, hintsValid, dupFirstEntry, maxSizeOfInstructions) {\n        var itemSize, itemDecode, itemEncode;\n\n        if (isGlyphLocationsLong) {\n          itemSize = 4;\n\n          itemDecode = function fontItemDecodeLong(data, offset) {\n            return data[offset] << 24 | data[offset + 1] << 16 | data[offset + 2] << 8 | data[offset + 3];\n          };\n\n          itemEncode = function fontItemEncodeLong(data, offset, value) {\n            data[offset] = value >>> 24 & 0xff;\n            data[offset + 1] = value >> 16 & 0xff;\n            data[offset + 2] = value >> 8 & 0xff;\n            data[offset + 3] = value & 0xff;\n          };\n        } else {\n          itemSize = 2;\n\n          itemDecode = function fontItemDecode(data, offset) {\n            return data[offset] << 9 | data[offset + 1] << 1;\n          };\n\n          itemEncode = function fontItemEncode(data, offset, value) {\n            data[offset] = value >> 9 & 0xff;\n            data[offset + 1] = value >> 1 & 0xff;\n          };\n        }\n\n        var numGlyphsOut = dupFirstEntry ? numGlyphs + 1 : numGlyphs;\n        var locaDataSize = itemSize * (1 + numGlyphsOut);\n        var locaData = new Uint8Array(locaDataSize);\n        locaData.set(loca.data.subarray(0, locaDataSize));\n        loca.data = locaData;\n        var oldGlyfData = glyf.data;\n        var oldGlyfDataLength = oldGlyfData.length;\n        var newGlyfData = new Uint8Array(oldGlyfDataLength);\n        var startOffset = itemDecode(locaData, 0);\n        var writeOffset = 0;\n        var missingGlyphs = Object.create(null);\n        itemEncode(locaData, 0, writeOffset);\n        var i, j;\n\n        for (i = 0, j = itemSize; i < numGlyphs; i++, j += itemSize) {\n          var endOffset = itemDecode(locaData, j);\n\n          if (endOffset === 0) {\n            endOffset = startOffset;\n          }\n\n          if (endOffset > oldGlyfDataLength && (oldGlyfDataLength + 3 & ~3) === endOffset) {\n            endOffset = oldGlyfDataLength;\n          }\n\n          if (endOffset > oldGlyfDataLength) {\n            startOffset = endOffset;\n          }\n\n          var glyphProfile = sanitizeGlyph(oldGlyfData, startOffset, endOffset, newGlyfData, writeOffset, hintsValid);\n          var newLength = glyphProfile.length;\n\n          if (newLength === 0) {\n            missingGlyphs[i] = true;\n          }\n\n          if (glyphProfile.sizeOfInstructions > maxSizeOfInstructions) {\n            maxSizeOfInstructions = glyphProfile.sizeOfInstructions;\n          }\n\n          writeOffset += newLength;\n          itemEncode(locaData, j, writeOffset);\n          startOffset = endOffset;\n        }\n\n        if (writeOffset === 0) {\n          var simpleGlyph = new Uint8Array([0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 0]);\n\n          for (i = 0, j = itemSize; i < numGlyphsOut; i++, j += itemSize) {\n            itemEncode(locaData, j, simpleGlyph.length);\n          }\n\n          glyf.data = simpleGlyph;\n        } else if (dupFirstEntry) {\n          var firstEntryLength = itemDecode(locaData, itemSize);\n\n          if (newGlyfData.length > firstEntryLength + writeOffset) {\n            glyf.data = newGlyfData.subarray(0, firstEntryLength + writeOffset);\n          } else {\n            glyf.data = new Uint8Array(firstEntryLength + writeOffset);\n            glyf.data.set(newGlyfData.subarray(0, writeOffset));\n          }\n\n          glyf.data.set(newGlyfData.subarray(0, firstEntryLength), writeOffset);\n          itemEncode(loca.data, locaData.length - itemSize, writeOffset + firstEntryLength);\n        } else {\n          glyf.data = newGlyfData.subarray(0, writeOffset);\n        }\n\n        return {\n          missingGlyphs: missingGlyphs,\n          maxSizeOfInstructions: maxSizeOfInstructions\n        };\n      }\n\n      function readPostScriptTable(post, propertiesObj, maxpNumGlyphs) {\n        var start = (font.start ? font.start : 0) + post.offset;\n        font.pos = start;\n        var length = post.length,\n            end = start + length;\n        var version = font.getInt32();\n        font.skip(28);\n        var glyphNames;\n        var valid = true;\n        var i;\n\n        switch (version) {\n          case 0x00010000:\n            glyphNames = MacStandardGlyphOrdering;\n            break;\n\n          case 0x00020000:\n            var numGlyphs = font.getUint16();\n\n            if (numGlyphs !== maxpNumGlyphs) {\n              valid = false;\n              break;\n            }\n\n            var glyphNameIndexes = [];\n\n            for (i = 0; i < numGlyphs; ++i) {\n              var index = font.getUint16();\n\n              if (index >= 32768) {\n                valid = false;\n                break;\n              }\n\n              glyphNameIndexes.push(index);\n            }\n\n            if (!valid) {\n              break;\n            }\n\n            var customNames = [];\n            var strBuf = [];\n\n            while (font.pos < end) {\n              var stringLength = font.getByte();\n              strBuf.length = stringLength;\n\n              for (i = 0; i < stringLength; ++i) {\n                strBuf[i] = String.fromCharCode(font.getByte());\n              }\n\n              customNames.push(strBuf.join(\"\"));\n            }\n\n            glyphNames = [];\n\n            for (i = 0; i < numGlyphs; ++i) {\n              var j = glyphNameIndexes[i];\n\n              if (j < 258) {\n                glyphNames.push(MacStandardGlyphOrdering[j]);\n                continue;\n              }\n\n              glyphNames.push(customNames[j - 258]);\n            }\n\n            break;\n\n          case 0x00030000:\n            break;\n\n          default:\n            (0, _util.warn)(\"Unknown/unsupported post table version \" + version);\n            valid = false;\n\n            if (propertiesObj.defaultEncoding) {\n              glyphNames = propertiesObj.defaultEncoding;\n            }\n\n            break;\n        }\n\n        propertiesObj.glyphNames = glyphNames;\n        return valid;\n      }\n\n      function readNameTable(nameTable) {\n        var start = (font.start ? font.start : 0) + nameTable.offset;\n        font.pos = start;\n        var names = [[], []];\n        var length = nameTable.length,\n            end = start + length;\n        var format = font.getUint16();\n        var FORMAT_0_HEADER_LENGTH = 6;\n\n        if (format !== 0 || length < FORMAT_0_HEADER_LENGTH) {\n          return names;\n        }\n\n        var numRecords = font.getUint16();\n        var stringsStart = font.getUint16();\n        var records = [];\n        var NAME_RECORD_LENGTH = 12;\n        var i, ii;\n\n        for (i = 0; i < numRecords && font.pos + NAME_RECORD_LENGTH <= end; i++) {\n          var r = {\n            platform: font.getUint16(),\n            encoding: font.getUint16(),\n            language: font.getUint16(),\n            name: font.getUint16(),\n            length: font.getUint16(),\n            offset: font.getUint16()\n          };\n\n          if (r.platform === 1 && r.encoding === 0 && r.language === 0 || r.platform === 3 && r.encoding === 1 && r.language === 0x409) {\n            records.push(r);\n          }\n        }\n\n        for (i = 0, ii = records.length; i < ii; i++) {\n          var record = records[i];\n\n          if (record.length <= 0) {\n            continue;\n          }\n\n          var pos = start + stringsStart + record.offset;\n\n          if (pos + record.length > end) {\n            continue;\n          }\n\n          font.pos = pos;\n          var nameIndex = record.name;\n\n          if (record.encoding) {\n            var str = \"\";\n\n            for (var j = 0, jj = record.length; j < jj; j += 2) {\n              str += String.fromCharCode(font.getUint16());\n            }\n\n            names[1][nameIndex] = str;\n          } else {\n            names[0][nameIndex] = (0, _util.bytesToString)(font.getBytes(record.length));\n          }\n        }\n\n        return names;\n      }\n\n      var TTOpsStackDeltas = [0, 0, 0, 0, 0, 0, 0, 0, -2, -2, -2, -2, 0, 0, -2, -5, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, -1, 0, -1, -1, -1, -1, 1, -1, -999, 0, 1, 0, -1, -2, 0, -1, -2, -1, -1, 0, -1, -1, 0, 0, -999, -999, -1, -1, -1, -1, -2, -999, -2, -2, -999, 0, -2, -2, 0, 0, -2, 0, -2, 0, 0, 0, -2, -1, -1, 1, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0, 0, -1, 0, -1, -1, 0, -999, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, -999, -999, -999, -999, -999, -1, -1, -2, -2, 0, 0, 0, 0, -1, -1, -999, -2, -2, 0, 0, -1, -2, -2, 0, 0, 0, -1, -1, -1, -2];\n\n      function sanitizeTTProgram(table, ttContext) {\n        var data = table.data;\n        var i = 0,\n            j,\n            n,\n            b,\n            funcId,\n            pc,\n            lastEndf = 0,\n            lastDeff = 0;\n        var stack = [];\n        var callstack = [];\n        var functionsCalled = [];\n        var tooComplexToFollowFunctions = ttContext.tooComplexToFollowFunctions;\n        var inFDEF = false,\n            ifLevel = 0,\n            inELSE = 0;\n\n        for (var ii = data.length; i < ii;) {\n          var op = data[i++];\n\n          if (op === 0x40) {\n            n = data[i++];\n\n            if (inFDEF || inELSE) {\n              i += n;\n            } else {\n              for (j = 0; j < n; j++) {\n                stack.push(data[i++]);\n              }\n            }\n          } else if (op === 0x41) {\n            n = data[i++];\n\n            if (inFDEF || inELSE) {\n              i += n * 2;\n            } else {\n              for (j = 0; j < n; j++) {\n                b = data[i++];\n                stack.push(b << 8 | data[i++]);\n              }\n            }\n          } else if ((op & 0xf8) === 0xb0) {\n            n = op - 0xb0 + 1;\n\n            if (inFDEF || inELSE) {\n              i += n;\n            } else {\n              for (j = 0; j < n; j++) {\n                stack.push(data[i++]);\n              }\n            }\n          } else if ((op & 0xf8) === 0xb8) {\n            n = op - 0xb8 + 1;\n\n            if (inFDEF || inELSE) {\n              i += n * 2;\n            } else {\n              for (j = 0; j < n; j++) {\n                b = data[i++];\n                stack.push(b << 8 | data[i++]);\n              }\n            }\n          } else if (op === 0x2b && !tooComplexToFollowFunctions) {\n            if (!inFDEF && !inELSE) {\n              funcId = stack[stack.length - 1];\n\n              if (isNaN(funcId)) {\n                (0, _util.info)(\"TT: CALL empty stack (or invalid entry).\");\n              } else {\n                ttContext.functionsUsed[funcId] = true;\n\n                if (funcId in ttContext.functionsStackDeltas) {\n                  var newStackLength = stack.length + ttContext.functionsStackDeltas[funcId];\n\n                  if (newStackLength < 0) {\n                    (0, _util.warn)(\"TT: CALL invalid functions stack delta.\");\n                    ttContext.hintsValid = false;\n                    return;\n                  }\n\n                  stack.length = newStackLength;\n                } else if (funcId in ttContext.functionsDefined && !functionsCalled.includes(funcId)) {\n                  callstack.push({\n                    data: data,\n                    i: i,\n                    stackTop: stack.length - 1\n                  });\n                  functionsCalled.push(funcId);\n                  pc = ttContext.functionsDefined[funcId];\n\n                  if (!pc) {\n                    (0, _util.warn)(\"TT: CALL non-existent function\");\n                    ttContext.hintsValid = false;\n                    return;\n                  }\n\n                  data = pc.data;\n                  i = pc.i;\n                }\n              }\n            }\n          } else if (op === 0x2c && !tooComplexToFollowFunctions) {\n            if (inFDEF || inELSE) {\n              (0, _util.warn)(\"TT: nested FDEFs not allowed\");\n              tooComplexToFollowFunctions = true;\n            }\n\n            inFDEF = true;\n            lastDeff = i;\n            funcId = stack.pop();\n            ttContext.functionsDefined[funcId] = {\n              data: data,\n              i: i\n            };\n          } else if (op === 0x2d) {\n            if (inFDEF) {\n              inFDEF = false;\n              lastEndf = i;\n            } else {\n              pc = callstack.pop();\n\n              if (!pc) {\n                (0, _util.warn)(\"TT: ENDF bad stack\");\n                ttContext.hintsValid = false;\n                return;\n              }\n\n              funcId = functionsCalled.pop();\n              data = pc.data;\n              i = pc.i;\n              ttContext.functionsStackDeltas[funcId] = stack.length - pc.stackTop;\n            }\n          } else if (op === 0x89) {\n            if (inFDEF || inELSE) {\n              (0, _util.warn)(\"TT: nested IDEFs not allowed\");\n              tooComplexToFollowFunctions = true;\n            }\n\n            inFDEF = true;\n            lastDeff = i;\n          } else if (op === 0x58) {\n            ++ifLevel;\n          } else if (op === 0x1b) {\n            inELSE = ifLevel;\n          } else if (op === 0x59) {\n            if (inELSE === ifLevel) {\n              inELSE = 0;\n            }\n\n            --ifLevel;\n          } else if (op === 0x1c) {\n            if (!inFDEF && !inELSE) {\n              var offset = stack[stack.length - 1];\n\n              if (offset > 0) {\n                i += offset - 1;\n              }\n            }\n          }\n\n          if (!inFDEF && !inELSE) {\n            var stackDelta = 0;\n\n            if (op <= 0x8e) {\n              stackDelta = TTOpsStackDeltas[op];\n            } else if (op >= 0xc0 && op <= 0xdf) {\n              stackDelta = -1;\n            } else if (op >= 0xe0) {\n              stackDelta = -2;\n            }\n\n            if (op >= 0x71 && op <= 0x75) {\n              n = stack.pop();\n\n              if (!isNaN(n)) {\n                stackDelta = -n * 2;\n              }\n            }\n\n            while (stackDelta < 0 && stack.length > 0) {\n              stack.pop();\n              stackDelta++;\n            }\n\n            while (stackDelta > 0) {\n              stack.push(NaN);\n              stackDelta--;\n            }\n          }\n        }\n\n        ttContext.tooComplexToFollowFunctions = tooComplexToFollowFunctions;\n        var content = [data];\n\n        if (i > data.length) {\n          content.push(new Uint8Array(i - data.length));\n        }\n\n        if (lastDeff > lastEndf) {\n          (0, _util.warn)(\"TT: complementing a missing function tail\");\n          content.push(new Uint8Array([0x22, 0x2d]));\n        }\n\n        foldTTTable(table, content);\n      }\n\n      function checkInvalidFunctions(ttContext, maxFunctionDefs) {\n        if (ttContext.tooComplexToFollowFunctions) {\n          return;\n        }\n\n        if (ttContext.functionsDefined.length > maxFunctionDefs) {\n          (0, _util.warn)(\"TT: more functions defined than expected\");\n          ttContext.hintsValid = false;\n          return;\n        }\n\n        for (var j = 0, jj = ttContext.functionsUsed.length; j < jj; j++) {\n          if (j > maxFunctionDefs) {\n            (0, _util.warn)(\"TT: invalid function id: \" + j);\n            ttContext.hintsValid = false;\n            return;\n          }\n\n          if (ttContext.functionsUsed[j] && !ttContext.functionsDefined[j]) {\n            (0, _util.warn)(\"TT: undefined function: \" + j);\n            ttContext.hintsValid = false;\n            return;\n          }\n        }\n      }\n\n      function foldTTTable(table, content) {\n        if (content.length > 1) {\n          var newLength = 0;\n          var j, jj;\n\n          for (j = 0, jj = content.length; j < jj; j++) {\n            newLength += content[j].length;\n          }\n\n          newLength = newLength + 3 & ~3;\n          var result = new Uint8Array(newLength);\n          var pos = 0;\n\n          for (j = 0, jj = content.length; j < jj; j++) {\n            result.set(content[j], pos);\n            pos += content[j].length;\n          }\n\n          table.data = result;\n          table.length = newLength;\n        }\n      }\n\n      function sanitizeTTPrograms(fpgm, prep, cvt, maxFunctionDefs) {\n        var ttContext = {\n          functionsDefined: [],\n          functionsUsed: [],\n          functionsStackDeltas: [],\n          tooComplexToFollowFunctions: false,\n          hintsValid: true\n        };\n\n        if (fpgm) {\n          sanitizeTTProgram(fpgm, ttContext);\n        }\n\n        if (prep) {\n          sanitizeTTProgram(prep, ttContext);\n        }\n\n        if (fpgm) {\n          checkInvalidFunctions(ttContext, maxFunctionDefs);\n        }\n\n        if (cvt && cvt.length & 1) {\n          var cvtData = new Uint8Array(cvt.length + 1);\n          cvtData.set(cvt.data);\n          cvt.data = cvtData;\n        }\n\n        return ttContext.hintsValid;\n      }\n\n      font = new _stream.Stream(new Uint8Array(font.getBytes()));\n      var header, tables;\n\n      if (isTrueTypeCollectionFile(font)) {\n        var ttcData = readTrueTypeCollectionData(font, this.name);\n        header = ttcData.header;\n        tables = ttcData.tables;\n      } else {\n        header = readOpenTypeHeader(font);\n        tables = readTables(font, header.numTables);\n      }\n\n      var cff, cffFile;\n      var isTrueType = !tables[\"CFF \"];\n\n      if (!isTrueType) {\n        var isComposite = properties.composite && ((properties.cidToGidMap || []).length > 0 || !(properties.cMap instanceof _cmap.IdentityCMap));\n\n        if (header.version === \"OTTO\" && !isComposite || !tables.head || !tables.hhea || !tables.maxp || !tables.post) {\n          cffFile = new _stream.Stream(tables[\"CFF \"].data);\n          cff = new CFFFont(cffFile, properties);\n          adjustWidths(properties);\n          return this.convert(name, cff, properties);\n        }\n\n        delete tables.glyf;\n        delete tables.loca;\n        delete tables.fpgm;\n        delete tables.prep;\n        delete tables[\"cvt \"];\n        this.isOpenType = true;\n      } else {\n        if (!tables.loca) {\n          throw new _util.FormatError('Required \"loca\" table is not found');\n        }\n\n        if (!tables.glyf) {\n          (0, _util.warn)('Required \"glyf\" table is not found -- trying to recover.');\n          tables.glyf = {\n            tag: \"glyf\",\n            data: new Uint8Array(0)\n          };\n        }\n\n        this.isOpenType = false;\n      }\n\n      if (!tables.maxp) {\n        throw new _util.FormatError('Required \"maxp\" table is not found');\n      }\n\n      font.pos = (font.start || 0) + tables.maxp.offset;\n      var version = font.getInt32();\n      var numGlyphs = font.getUint16();\n      var numGlyphsOut = numGlyphs + 1;\n      var dupFirstEntry = true;\n\n      if (numGlyphsOut > 0xffff) {\n        dupFirstEntry = false;\n        numGlyphsOut = numGlyphs;\n        (0, _util.warn)(\"Not enough space in glyfs to duplicate first glyph.\");\n      }\n\n      var maxFunctionDefs = 0;\n      var maxSizeOfInstructions = 0;\n\n      if (version >= 0x00010000 && tables.maxp.length >= 22) {\n        font.pos += 8;\n        var maxZones = font.getUint16();\n\n        if (maxZones > 2) {\n          tables.maxp.data[14] = 0;\n          tables.maxp.data[15] = 2;\n        }\n\n        font.pos += 4;\n        maxFunctionDefs = font.getUint16();\n        font.pos += 4;\n        maxSizeOfInstructions = font.getUint16();\n      }\n\n      tables.maxp.data[4] = numGlyphsOut >> 8;\n      tables.maxp.data[5] = numGlyphsOut & 255;\n      var hintsValid = sanitizeTTPrograms(tables.fpgm, tables.prep, tables[\"cvt \"], maxFunctionDefs);\n\n      if (!hintsValid) {\n        delete tables.fpgm;\n        delete tables.prep;\n        delete tables[\"cvt \"];\n      }\n\n      sanitizeMetrics(font, tables.hhea, tables.hmtx, numGlyphsOut, dupFirstEntry);\n\n      if (!tables.head) {\n        throw new _util.FormatError('Required \"head\" table is not found');\n      }\n\n      sanitizeHead(tables.head, numGlyphs, isTrueType ? tables.loca.length : 0);\n      var missingGlyphs = Object.create(null);\n\n      if (isTrueType) {\n        var isGlyphLocationsLong = int16(tables.head.data[50], tables.head.data[51]);\n        var glyphsInfo = sanitizeGlyphLocations(tables.loca, tables.glyf, numGlyphs, isGlyphLocationsLong, hintsValid, dupFirstEntry, maxSizeOfInstructions);\n        missingGlyphs = glyphsInfo.missingGlyphs;\n\n        if (version >= 0x00010000 && tables.maxp.length >= 22) {\n          tables.maxp.data[26] = glyphsInfo.maxSizeOfInstructions >> 8;\n          tables.maxp.data[27] = glyphsInfo.maxSizeOfInstructions & 255;\n        }\n      }\n\n      if (!tables.hhea) {\n        throw new _util.FormatError('Required \"hhea\" table is not found');\n      }\n\n      if (tables.hhea.data[10] === 0 && tables.hhea.data[11] === 0) {\n        tables.hhea.data[10] = 0xff;\n        tables.hhea.data[11] = 0xff;\n      }\n\n      var metricsOverride = {\n        unitsPerEm: int16(tables.head.data[18], tables.head.data[19]),\n        yMax: int16(tables.head.data[42], tables.head.data[43]),\n        yMin: signedInt16(tables.head.data[38], tables.head.data[39]),\n        ascent: int16(tables.hhea.data[4], tables.hhea.data[5]),\n        descent: signedInt16(tables.hhea.data[6], tables.hhea.data[7])\n      };\n      this.ascent = metricsOverride.ascent / metricsOverride.unitsPerEm;\n      this.descent = metricsOverride.descent / metricsOverride.unitsPerEm;\n\n      if (tables.post) {\n        readPostScriptTable(tables.post, properties, numGlyphs);\n      }\n\n      tables.post = {\n        tag: \"post\",\n        data: createPostTable(properties)\n      };\n      var charCodeToGlyphId = [];\n\n      function hasGlyph(glyphId) {\n        return !missingGlyphs[glyphId];\n      }\n\n      if (properties.composite) {\n        var cidToGidMap = properties.cidToGidMap || [];\n        var isCidToGidMapEmpty = cidToGidMap.length === 0;\n        properties.cMap.forEach(function (charCode, cid) {\n          if (cid > 0xffff) {\n            throw new _util.FormatError(\"Max size of CID is 65,535\");\n          }\n\n          var glyphId = -1;\n\n          if (isCidToGidMapEmpty) {\n            glyphId = cid;\n          } else if (cidToGidMap[cid] !== undefined) {\n            glyphId = cidToGidMap[cid];\n          }\n\n          if (glyphId >= 0 && glyphId < numGlyphs && hasGlyph(glyphId)) {\n            charCodeToGlyphId[charCode] = glyphId;\n          }\n        });\n      } else {\n        var cmapTable = readCmapTable(tables.cmap, font, this.isSymbolicFont, properties.hasEncoding);\n        var cmapPlatformId = cmapTable.platformId;\n        var cmapEncodingId = cmapTable.encodingId;\n        var cmapMappings = cmapTable.mappings;\n        var cmapMappingsLength = cmapMappings.length;\n\n        if (properties.hasEncoding && (cmapPlatformId === 3 && cmapEncodingId === 1 || cmapPlatformId === 1 && cmapEncodingId === 0) || cmapPlatformId === -1 && cmapEncodingId === -1 && !!(0, _encodings.getEncoding)(properties.baseEncodingName)) {\n          var baseEncoding = [];\n\n          if (properties.baseEncodingName === \"MacRomanEncoding\" || properties.baseEncodingName === \"WinAnsiEncoding\") {\n            baseEncoding = (0, _encodings.getEncoding)(properties.baseEncodingName);\n          }\n\n          var glyphsUnicodeMap = (0, _glyphlist.getGlyphsUnicode)();\n\n          for (var charCode = 0; charCode < 256; charCode++) {\n            var glyphName, standardGlyphName;\n\n            if (this.differences && charCode in this.differences) {\n              glyphName = this.differences[charCode];\n            } else if (charCode in baseEncoding && baseEncoding[charCode] !== \"\") {\n              glyphName = baseEncoding[charCode];\n            } else {\n              glyphName = _encodings.StandardEncoding[charCode];\n            }\n\n            if (!glyphName) {\n              continue;\n            }\n\n            standardGlyphName = recoverGlyphName(glyphName, glyphsUnicodeMap);\n            var unicodeOrCharCode;\n\n            if (cmapPlatformId === 3 && cmapEncodingId === 1) {\n              unicodeOrCharCode = glyphsUnicodeMap[standardGlyphName];\n            } else if (cmapPlatformId === 1 && cmapEncodingId === 0) {\n              unicodeOrCharCode = _encodings.MacRomanEncoding.indexOf(standardGlyphName);\n            }\n\n            var found = false;\n\n            for (var i = 0; i < cmapMappingsLength; ++i) {\n              if (cmapMappings[i].charCode !== unicodeOrCharCode) {\n                continue;\n              }\n\n              charCodeToGlyphId[charCode] = cmapMappings[i].glyphId;\n              found = true;\n              break;\n            }\n\n            if (!found && properties.glyphNames) {\n              var glyphId = properties.glyphNames.indexOf(glyphName);\n\n              if (glyphId === -1 && standardGlyphName !== glyphName) {\n                glyphId = properties.glyphNames.indexOf(standardGlyphName);\n              }\n\n              if (glyphId > 0 && hasGlyph(glyphId)) {\n                charCodeToGlyphId[charCode] = glyphId;\n              }\n            }\n          }\n        } else if (cmapPlatformId === 0 && cmapEncodingId === 0) {\n          for (var _i2 = 0; _i2 < cmapMappingsLength; ++_i2) {\n            charCodeToGlyphId[cmapMappings[_i2].charCode] = cmapMappings[_i2].glyphId;\n          }\n        } else {\n          for (var _i3 = 0; _i3 < cmapMappingsLength; ++_i3) {\n            var _charCode4 = cmapMappings[_i3].charCode;\n\n            if (cmapPlatformId === 3 && _charCode4 >= 0xf000 && _charCode4 <= 0xf0ff) {\n              _charCode4 &= 0xff;\n            }\n\n            charCodeToGlyphId[_charCode4] = cmapMappings[_i3].glyphId;\n          }\n        }\n      }\n\n      if (charCodeToGlyphId.length === 0) {\n        charCodeToGlyphId[0] = 0;\n      }\n\n      var glyphZeroId = numGlyphsOut - 1;\n\n      if (!dupFirstEntry) {\n        glyphZeroId = 0;\n      }\n\n      var newMapping = adjustMapping(charCodeToGlyphId, hasGlyph, glyphZeroId);\n      this.toFontChar = newMapping.toFontChar;\n      tables.cmap = {\n        tag: \"cmap\",\n        data: createCmapTable(newMapping.charCodeToGlyphId, numGlyphsOut)\n      };\n\n      if (!tables[\"OS/2\"] || !validateOS2Table(tables[\"OS/2\"], font)) {\n        tables[\"OS/2\"] = {\n          tag: \"OS/2\",\n          data: createOS2Table(properties, newMapping.charCodeToGlyphId, metricsOverride)\n        };\n      }\n\n      if (!isTrueType) {\n        try {\n          cffFile = new _stream.Stream(tables[\"CFF \"].data);\n          var parser = new _cff_parser.CFFParser(cffFile, properties, SEAC_ANALYSIS_ENABLED);\n          cff = parser.parse();\n          cff.duplicateFirstGlyph();\n          var compiler = new _cff_parser.CFFCompiler(cff);\n          tables[\"CFF \"].data = compiler.compile();\n        } catch (e) {\n          (0, _util.warn)(\"Failed to compile font \" + properties.loadedName);\n        }\n      }\n\n      if (!tables.name) {\n        tables.name = {\n          tag: \"name\",\n          data: createNameTable(this.name)\n        };\n      } else {\n        var namePrototype = readNameTable(tables.name);\n        tables.name.data = createNameTable(name, namePrototype);\n      }\n\n      var builder = new OpenTypeFileBuilder(header.version);\n\n      for (var tableTag in tables) {\n        builder.addTable(tableTag, tables[tableTag].data);\n      }\n\n      return builder.toArray();\n    },\n    convert: function Font_convert(fontName, font, properties) {\n      properties.fixedPitch = false;\n\n      if (properties.builtInEncoding) {\n        adjustToUnicode(properties, properties.builtInEncoding);\n      }\n\n      var glyphZeroId = 1;\n\n      if (font instanceof CFFFont) {\n        glyphZeroId = font.numGlyphs - 1;\n      }\n\n      var mapping = font.getGlyphMapping(properties);\n      var newMapping = adjustMapping(mapping, font.hasGlyphId.bind(font), glyphZeroId);\n      this.toFontChar = newMapping.toFontChar;\n      var numGlyphs = font.numGlyphs;\n\n      function getCharCodes(charCodeToGlyphId, glyphId) {\n        var charCodes = null;\n\n        for (var charCode in charCodeToGlyphId) {\n          if (glyphId === charCodeToGlyphId[charCode]) {\n            if (!charCodes) {\n              charCodes = [];\n            }\n\n            charCodes.push(charCode | 0);\n          }\n        }\n\n        return charCodes;\n      }\n\n      function createCharCode(charCodeToGlyphId, glyphId) {\n        for (var charCode in charCodeToGlyphId) {\n          if (glyphId === charCodeToGlyphId[charCode]) {\n            return charCode | 0;\n          }\n        }\n\n        newMapping.charCodeToGlyphId[newMapping.nextAvailableFontCharCode] = glyphId;\n        return newMapping.nextAvailableFontCharCode++;\n      }\n\n      var seacs = font.seacs;\n\n      if (SEAC_ANALYSIS_ENABLED && seacs && seacs.length) {\n        var matrix = properties.fontMatrix || _util.FONT_IDENTITY_MATRIX;\n        var charset = font.getCharset();\n        var seacMap = Object.create(null);\n\n        for (var glyphId in seacs) {\n          glyphId |= 0;\n          var seac = seacs[glyphId];\n          var baseGlyphName = _encodings.StandardEncoding[seac[2]];\n          var accentGlyphName = _encodings.StandardEncoding[seac[3]];\n          var baseGlyphId = charset.indexOf(baseGlyphName);\n          var accentGlyphId = charset.indexOf(accentGlyphName);\n\n          if (baseGlyphId < 0 || accentGlyphId < 0) {\n            continue;\n          }\n\n          var accentOffset = {\n            x: seac[0] * matrix[0] + seac[1] * matrix[2] + matrix[4],\n            y: seac[0] * matrix[1] + seac[1] * matrix[3] + matrix[5]\n          };\n          var charCodes = getCharCodes(mapping, glyphId);\n\n          if (!charCodes) {\n            continue;\n          }\n\n          for (var i = 0, ii = charCodes.length; i < ii; i++) {\n            var charCode = charCodes[i];\n            var charCodeToGlyphId = newMapping.charCodeToGlyphId;\n            var baseFontCharCode = createCharCode(charCodeToGlyphId, baseGlyphId);\n            var accentFontCharCode = createCharCode(charCodeToGlyphId, accentGlyphId);\n            seacMap[charCode] = {\n              baseFontCharCode: baseFontCharCode,\n              accentFontCharCode: accentFontCharCode,\n              accentOffset: accentOffset\n            };\n          }\n        }\n\n        properties.seacMap = seacMap;\n      }\n\n      var unitsPerEm = 1 / (properties.fontMatrix || _util.FONT_IDENTITY_MATRIX)[0];\n      var builder = new OpenTypeFileBuilder(\"\\x4F\\x54\\x54\\x4F\");\n      builder.addTable(\"CFF \", font.data);\n      builder.addTable(\"OS/2\", createOS2Table(properties, newMapping.charCodeToGlyphId));\n      builder.addTable(\"cmap\", createCmapTable(newMapping.charCodeToGlyphId, numGlyphs));\n      builder.addTable(\"head\", \"\\x00\\x01\\x00\\x00\" + \"\\x00\\x00\\x10\\x00\" + \"\\x00\\x00\\x00\\x00\" + \"\\x5F\\x0F\\x3C\\xF5\" + \"\\x00\\x00\" + safeString16(unitsPerEm) + \"\\x00\\x00\\x00\\x00\\x9e\\x0b\\x7e\\x27\" + \"\\x00\\x00\\x00\\x00\\x9e\\x0b\\x7e\\x27\" + \"\\x00\\x00\" + safeString16(properties.descent) + \"\\x0F\\xFF\" + safeString16(properties.ascent) + string16(properties.italicAngle ? 2 : 0) + \"\\x00\\x11\" + \"\\x00\\x00\" + \"\\x00\\x00\" + \"\\x00\\x00\");\n      builder.addTable(\"hhea\", \"\\x00\\x01\\x00\\x00\" + safeString16(properties.ascent) + safeString16(properties.descent) + \"\\x00\\x00\" + \"\\xFF\\xFF\" + \"\\x00\\x00\" + \"\\x00\\x00\" + \"\\x00\\x00\" + safeString16(properties.capHeight) + safeString16(Math.tan(properties.italicAngle) * properties.xHeight) + \"\\x00\\x00\" + \"\\x00\\x00\" + \"\\x00\\x00\" + \"\\x00\\x00\" + \"\\x00\\x00\" + \"\\x00\\x00\" + string16(numGlyphs));\n      builder.addTable(\"hmtx\", function fontFieldsHmtx() {\n        var charstrings = font.charstrings;\n        var cffWidths = font.cff ? font.cff.widths : null;\n        var hmtx = \"\\x00\\x00\\x00\\x00\";\n\n        for (var _i4 = 1, _ii = numGlyphs; _i4 < _ii; _i4++) {\n          var width = 0;\n\n          if (charstrings) {\n            var charstring = charstrings[_i4 - 1];\n            width = \"width\" in charstring ? charstring.width : 0;\n          } else if (cffWidths) {\n            width = Math.ceil(cffWidths[_i4] || 0);\n          }\n\n          hmtx += string16(width) + string16(0);\n        }\n\n        return hmtx;\n      }());\n      builder.addTable(\"maxp\", \"\\x00\\x00\\x50\\x00\" + string16(numGlyphs));\n      builder.addTable(\"name\", createNameTable(fontName));\n      builder.addTable(\"post\", createPostTable(properties));\n      return builder.toArray();\n    },\n\n    get spaceWidth() {\n      var possibleSpaceReplacements = [\"space\", \"minus\", \"one\", \"i\", \"I\"];\n      var width;\n\n      for (var i = 0, ii = possibleSpaceReplacements.length; i < ii; i++) {\n        var glyphName = possibleSpaceReplacements[i];\n\n        if (glyphName in this.widths) {\n          width = this.widths[glyphName];\n          break;\n        }\n\n        var glyphsUnicodeMap = (0, _glyphlist.getGlyphsUnicode)();\n        var glyphUnicode = glyphsUnicodeMap[glyphName];\n        var charcode = 0;\n\n        if (this.composite && this.cMap.contains(glyphUnicode)) {\n          charcode = this.cMap.lookup(glyphUnicode);\n        }\n\n        if (!charcode && this.toUnicode) {\n          charcode = this.toUnicode.charCodeOf(glyphUnicode);\n        }\n\n        if (charcode <= 0) {\n          charcode = glyphUnicode;\n        }\n\n        width = this.widths[charcode];\n\n        if (width) {\n          break;\n        }\n      }\n\n      width = width || this.defaultWidth;\n      return (0, _util.shadow)(this, \"spaceWidth\", width);\n    },\n\n    charToGlyph: function Font_charToGlyph(charcode, isSpace) {\n      var fontCharCode, width, operatorListId;\n      var widthCode = charcode;\n\n      if (this.cMap && this.cMap.contains(charcode)) {\n        widthCode = this.cMap.lookup(charcode);\n      }\n\n      width = this.widths[widthCode];\n      width = (0, _util.isNum)(width) ? width : this.defaultWidth;\n      var vmetric = this.vmetrics && this.vmetrics[widthCode];\n      var unicode = this.toUnicode.get(charcode) || this.fallbackToUnicode.get(charcode) || charcode;\n\n      if (typeof unicode === \"number\") {\n        unicode = String.fromCharCode(unicode);\n      }\n\n      var isInFont = (charcode in this.toFontChar);\n      fontCharCode = this.toFontChar[charcode] || charcode;\n\n      if (this.missingFile) {\n        var glyphName = this.differences[charcode] || this.defaultEncoding[charcode];\n\n        if ((glyphName === \".notdef\" || glyphName === \"\") && this.type === \"Type1\") {\n          fontCharCode = 0x20;\n        }\n\n        fontCharCode = (0, _unicode.mapSpecialUnicodeValues)(fontCharCode);\n      }\n\n      if (this.isType3Font) {\n        operatorListId = fontCharCode;\n      }\n\n      var accent = null;\n\n      if (this.seacMap && this.seacMap[charcode]) {\n        isInFont = true;\n        var seac = this.seacMap[charcode];\n        fontCharCode = seac.baseFontCharCode;\n        accent = {\n          fontChar: String.fromCodePoint(seac.accentFontCharCode),\n          offset: seac.accentOffset\n        };\n      }\n\n      var fontChar = \"\";\n\n      if (typeof fontCharCode === \"number\") {\n        if (fontCharCode <= 0x10ffff) {\n          fontChar = String.fromCodePoint(fontCharCode);\n        } else {\n          (0, _util.warn)(\"charToGlyph - invalid fontCharCode: \".concat(fontCharCode));\n        }\n      }\n\n      var glyph = this.glyphCache[charcode];\n\n      if (!glyph || !glyph.matchesForCache(fontChar, unicode, accent, width, vmetric, operatorListId, isSpace, isInFont)) {\n        glyph = new Glyph(fontChar, unicode, accent, width, vmetric, operatorListId, isSpace, isInFont);\n        this.glyphCache[charcode] = glyph;\n      }\n\n      return glyph;\n    },\n    charsToGlyphs: function Font_charsToGlyphs(chars) {\n      var charsCache = this.charsCache;\n      var glyphs, glyph, charcode;\n\n      if (charsCache) {\n        glyphs = charsCache[chars];\n\n        if (glyphs) {\n          return glyphs;\n        }\n      }\n\n      if (!charsCache) {\n        charsCache = this.charsCache = Object.create(null);\n      }\n\n      glyphs = [];\n      var charsCacheKey = chars;\n      var i = 0,\n          ii;\n\n      if (this.cMap) {\n        var c = Object.create(null);\n\n        while (i < chars.length) {\n          this.cMap.readCharCode(chars, i, c);\n          charcode = c.charcode;\n          var length = c.length;\n          i += length;\n          var isSpace = length === 1 && chars.charCodeAt(i - 1) === 0x20;\n          glyph = this.charToGlyph(charcode, isSpace);\n          glyphs.push(glyph);\n        }\n      } else {\n        for (i = 0, ii = chars.length; i < ii; ++i) {\n          charcode = chars.charCodeAt(i);\n          glyph = this.charToGlyph(charcode, charcode === 0x20);\n          glyphs.push(glyph);\n        }\n      }\n\n      return charsCache[charsCacheKey] = glyphs;\n    },\n\n    get glyphCacheValues() {\n      return Object.values(this.glyphCache);\n    }\n\n  };\n  return Font;\n}();\n\nexports.Font = Font;\n\nvar ErrorFont = function ErrorFontClosure() {\n  function ErrorFont(error) {\n    this.error = error;\n    this.loadedName = \"g_font_error\";\n    this.missingFile = true;\n  }\n\n  ErrorFont.prototype = {\n    charsToGlyphs: function ErrorFont_charsToGlyphs() {\n      return [];\n    },\n    exportData: function exportData() {\n      var extraProperties = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n      return {\n        error: this.error\n      };\n    }\n  };\n  return ErrorFont;\n}();\n\nexports.ErrorFont = ErrorFont;\n\nfunction type1FontGlyphMapping(properties, builtInEncoding, glyphNames) {\n  var charCodeToGlyphId = Object.create(null);\n  var glyphId, charCode, baseEncoding;\n  var isSymbolicFont = !!(properties.flags & FontFlags.Symbolic);\n\n  if (properties.baseEncodingName) {\n    baseEncoding = (0, _encodings.getEncoding)(properties.baseEncodingName);\n\n    for (charCode = 0; charCode < baseEncoding.length; charCode++) {\n      glyphId = glyphNames.indexOf(baseEncoding[charCode]);\n\n      if (glyphId >= 0) {\n        charCodeToGlyphId[charCode] = glyphId;\n      } else {\n        charCodeToGlyphId[charCode] = 0;\n      }\n    }\n  } else if (isSymbolicFont) {\n    for (charCode in builtInEncoding) {\n      charCodeToGlyphId[charCode] = builtInEncoding[charCode];\n    }\n  } else {\n    baseEncoding = _encodings.StandardEncoding;\n\n    for (charCode = 0; charCode < baseEncoding.length; charCode++) {\n      glyphId = glyphNames.indexOf(baseEncoding[charCode]);\n\n      if (glyphId >= 0) {\n        charCodeToGlyphId[charCode] = glyphId;\n      } else {\n        charCodeToGlyphId[charCode] = 0;\n      }\n    }\n  }\n\n  var differences = properties.differences,\n      glyphsUnicodeMap;\n\n  if (differences) {\n    for (charCode in differences) {\n      var glyphName = differences[charCode];\n      glyphId = glyphNames.indexOf(glyphName);\n\n      if (glyphId === -1) {\n        if (!glyphsUnicodeMap) {\n          glyphsUnicodeMap = (0, _glyphlist.getGlyphsUnicode)();\n        }\n\n        var standardGlyphName = recoverGlyphName(glyphName, glyphsUnicodeMap);\n\n        if (standardGlyphName !== glyphName) {\n          glyphId = glyphNames.indexOf(standardGlyphName);\n        }\n      }\n\n      if (glyphId >= 0) {\n        charCodeToGlyphId[charCode] = glyphId;\n      } else {\n        charCodeToGlyphId[charCode] = 0;\n      }\n    }\n  }\n\n  return charCodeToGlyphId;\n}\n\nvar Type1Font = function Type1FontClosure() {\n  function findBlock(streamBytes, signature, startIndex) {\n    var streamBytesLength = streamBytes.length;\n    var signatureLength = signature.length;\n    var scanLength = streamBytesLength - signatureLength;\n    var i = startIndex,\n        j,\n        found = false;\n\n    while (i < scanLength) {\n      j = 0;\n\n      while (j < signatureLength && streamBytes[i + j] === signature[j]) {\n        j++;\n      }\n\n      if (j >= signatureLength) {\n        i += j;\n\n        while (i < streamBytesLength && (0, _core_utils.isWhiteSpace)(streamBytes[i])) {\n          i++;\n        }\n\n        found = true;\n        break;\n      }\n\n      i++;\n    }\n\n    return {\n      found: found,\n      length: i\n    };\n  }\n\n  function getHeaderBlock(stream, suggestedLength) {\n    var EEXEC_SIGNATURE = [0x65, 0x65, 0x78, 0x65, 0x63];\n    var streamStartPos = stream.pos;\n    var headerBytes, headerBytesLength, block;\n\n    try {\n      headerBytes = stream.getBytes(suggestedLength);\n      headerBytesLength = headerBytes.length;\n    } catch (ex) {\n      if (ex instanceof _core_utils.MissingDataException) {\n        throw ex;\n      }\n    }\n\n    if (headerBytesLength === suggestedLength) {\n      block = findBlock(headerBytes, EEXEC_SIGNATURE, suggestedLength - 2 * EEXEC_SIGNATURE.length);\n\n      if (block.found && block.length === suggestedLength) {\n        return {\n          stream: new _stream.Stream(headerBytes),\n          length: suggestedLength\n        };\n      }\n    }\n\n    (0, _util.warn)('Invalid \"Length1\" property in Type1 font -- trying to recover.');\n    stream.pos = streamStartPos;\n    var SCAN_BLOCK_LENGTH = 2048;\n    var actualLength;\n\n    while (true) {\n      var scanBytes = stream.peekBytes(SCAN_BLOCK_LENGTH);\n      block = findBlock(scanBytes, EEXEC_SIGNATURE, 0);\n\n      if (block.length === 0) {\n        break;\n      }\n\n      stream.pos += block.length;\n\n      if (block.found) {\n        actualLength = stream.pos - streamStartPos;\n        break;\n      }\n    }\n\n    stream.pos = streamStartPos;\n\n    if (actualLength) {\n      return {\n        stream: new _stream.Stream(stream.getBytes(actualLength)),\n        length: actualLength\n      };\n    }\n\n    (0, _util.warn)('Unable to recover \"Length1\" property in Type1 font -- using as is.');\n    return {\n      stream: new _stream.Stream(stream.getBytes(suggestedLength)),\n      length: suggestedLength\n    };\n  }\n\n  function getEexecBlock(stream, suggestedLength) {\n    var eexecBytes = stream.getBytes();\n    return {\n      stream: new _stream.Stream(eexecBytes),\n      length: eexecBytes.length\n    };\n  }\n\n  function Type1Font(name, file, properties) {\n    var PFB_HEADER_SIZE = 6;\n    var headerBlockLength = properties.length1;\n    var eexecBlockLength = properties.length2;\n    var pfbHeader = file.peekBytes(PFB_HEADER_SIZE);\n    var pfbHeaderPresent = pfbHeader[0] === 0x80 && pfbHeader[1] === 0x01;\n\n    if (pfbHeaderPresent) {\n      file.skip(PFB_HEADER_SIZE);\n      headerBlockLength = pfbHeader[5] << 24 | pfbHeader[4] << 16 | pfbHeader[3] << 8 | pfbHeader[2];\n    }\n\n    var headerBlock = getHeaderBlock(file, headerBlockLength);\n    var headerBlockParser = new _type1_parser.Type1Parser(headerBlock.stream, false, SEAC_ANALYSIS_ENABLED);\n    headerBlockParser.extractFontHeader(properties);\n\n    if (pfbHeaderPresent) {\n      pfbHeader = file.getBytes(PFB_HEADER_SIZE);\n      eexecBlockLength = pfbHeader[5] << 24 | pfbHeader[4] << 16 | pfbHeader[3] << 8 | pfbHeader[2];\n    }\n\n    var eexecBlock = getEexecBlock(file, eexecBlockLength);\n    var eexecBlockParser = new _type1_parser.Type1Parser(eexecBlock.stream, true, SEAC_ANALYSIS_ENABLED);\n    var data = eexecBlockParser.extractFontProgram(properties);\n\n    for (var key in data.properties) {\n      properties[key] = data.properties[key];\n    }\n\n    var charstrings = data.charstrings;\n    var type2Charstrings = this.getType2Charstrings(charstrings);\n    var subrs = this.getType2Subrs(data.subrs);\n    this.charstrings = charstrings;\n    this.data = this.wrap(name, type2Charstrings, this.charstrings, subrs, properties);\n    this.seacs = this.getSeacs(data.charstrings);\n  }\n\n  Type1Font.prototype = {\n    get numGlyphs() {\n      return this.charstrings.length + 1;\n    },\n\n    getCharset: function Type1Font_getCharset() {\n      var charset = [\".notdef\"];\n      var charstrings = this.charstrings;\n\n      for (var glyphId = 0; glyphId < charstrings.length; glyphId++) {\n        charset.push(charstrings[glyphId].glyphName);\n      }\n\n      return charset;\n    },\n    getGlyphMapping: function Type1Font_getGlyphMapping(properties) {\n      var charstrings = this.charstrings;\n\n      if (properties.composite) {\n        var charCodeToGlyphId = Object.create(null);\n\n        for (var _glyphId = 0, charstringsLen = charstrings.length; _glyphId < charstringsLen; _glyphId++) {\n          var _charCode5 = properties.cMap.charCodeOf(_glyphId);\n\n          charCodeToGlyphId[_charCode5] = _glyphId + 1;\n        }\n\n        return charCodeToGlyphId;\n      }\n\n      var glyphNames = [\".notdef\"],\n          glyphId;\n\n      for (glyphId = 0; glyphId < charstrings.length; glyphId++) {\n        glyphNames.push(charstrings[glyphId].glyphName);\n      }\n\n      var encoding = properties.builtInEncoding;\n\n      if (encoding) {\n        var builtInEncoding = Object.create(null);\n\n        for (var charCode in encoding) {\n          glyphId = glyphNames.indexOf(encoding[charCode]);\n\n          if (glyphId >= 0) {\n            builtInEncoding[charCode] = glyphId;\n          }\n        }\n      }\n\n      return type1FontGlyphMapping(properties, builtInEncoding, glyphNames);\n    },\n    hasGlyphId: function Type1Font_hasGlyphID(id) {\n      if (id < 0 || id >= this.numGlyphs) {\n        return false;\n      }\n\n      if (id === 0) {\n        return true;\n      }\n\n      var glyph = this.charstrings[id - 1];\n      return glyph.charstring.length > 0;\n    },\n    getSeacs: function Type1Font_getSeacs(charstrings) {\n      var i, ii;\n      var seacMap = [];\n\n      for (i = 0, ii = charstrings.length; i < ii; i++) {\n        var charstring = charstrings[i];\n\n        if (charstring.seac) {\n          seacMap[i + 1] = charstring.seac;\n        }\n      }\n\n      return seacMap;\n    },\n    getType2Charstrings: function Type1Font_getType2Charstrings(type1Charstrings) {\n      var type2Charstrings = [];\n\n      for (var i = 0, ii = type1Charstrings.length; i < ii; i++) {\n        type2Charstrings.push(type1Charstrings[i].charstring);\n      }\n\n      return type2Charstrings;\n    },\n    getType2Subrs: function Type1Font_getType2Subrs(type1Subrs) {\n      var bias = 0;\n      var count = type1Subrs.length;\n\n      if (count < 1133) {\n        bias = 107;\n      } else if (count < 33769) {\n        bias = 1131;\n      } else {\n        bias = 32768;\n      }\n\n      var type2Subrs = [];\n      var i;\n\n      for (i = 0; i < bias; i++) {\n        type2Subrs.push([0x0b]);\n      }\n\n      for (i = 0; i < count; i++) {\n        type2Subrs.push(type1Subrs[i]);\n      }\n\n      return type2Subrs;\n    },\n    wrap: function Type1Font_wrap(name, glyphs, charstrings, subrs, properties) {\n      var cff = new _cff_parser.CFF();\n      cff.header = new _cff_parser.CFFHeader(1, 0, 4, 4);\n      cff.names = [name];\n      var topDict = new _cff_parser.CFFTopDict();\n      topDict.setByName(\"version\", 391);\n      topDict.setByName(\"Notice\", 392);\n      topDict.setByName(\"FullName\", 393);\n      topDict.setByName(\"FamilyName\", 394);\n      topDict.setByName(\"Weight\", 395);\n      topDict.setByName(\"Encoding\", null);\n      topDict.setByName(\"FontMatrix\", properties.fontMatrix);\n      topDict.setByName(\"FontBBox\", properties.bbox);\n      topDict.setByName(\"charset\", null);\n      topDict.setByName(\"CharStrings\", null);\n      topDict.setByName(\"Private\", null);\n      cff.topDict = topDict;\n      var strings = new _cff_parser.CFFStrings();\n      strings.add(\"Version 0.11\");\n      strings.add(\"See original notice\");\n      strings.add(name);\n      strings.add(name);\n      strings.add(\"Medium\");\n      cff.strings = strings;\n      cff.globalSubrIndex = new _cff_parser.CFFIndex();\n      var count = glyphs.length;\n      var charsetArray = [\".notdef\"];\n      var i, ii;\n\n      for (i = 0; i < count; i++) {\n        var glyphName = charstrings[i].glyphName;\n\n        var index = _cff_parser.CFFStandardStrings.indexOf(glyphName);\n\n        if (index === -1) {\n          strings.add(glyphName);\n        }\n\n        charsetArray.push(glyphName);\n      }\n\n      cff.charset = new _cff_parser.CFFCharset(false, 0, charsetArray);\n      var charStringsIndex = new _cff_parser.CFFIndex();\n      charStringsIndex.add([0x8b, 0x0e]);\n\n      for (i = 0; i < count; i++) {\n        charStringsIndex.add(glyphs[i]);\n      }\n\n      cff.charStrings = charStringsIndex;\n      var privateDict = new _cff_parser.CFFPrivateDict();\n      privateDict.setByName(\"Subrs\", null);\n      var fields = [\"BlueValues\", \"OtherBlues\", \"FamilyBlues\", \"FamilyOtherBlues\", \"StemSnapH\", \"StemSnapV\", \"BlueShift\", \"BlueFuzz\", \"BlueScale\", \"LanguageGroup\", \"ExpansionFactor\", \"ForceBold\", \"StdHW\", \"StdVW\"];\n\n      for (i = 0, ii = fields.length; i < ii; i++) {\n        var field = fields[i];\n\n        if (!(field in properties.privateData)) {\n          continue;\n        }\n\n        var value = properties.privateData[field];\n\n        if (Array.isArray(value)) {\n          for (var j = value.length - 1; j > 0; j--) {\n            value[j] -= value[j - 1];\n          }\n        }\n\n        privateDict.setByName(field, value);\n      }\n\n      cff.topDict.privateDict = privateDict;\n      var subrIndex = new _cff_parser.CFFIndex();\n\n      for (i = 0, ii = subrs.length; i < ii; i++) {\n        subrIndex.add(subrs[i]);\n      }\n\n      privateDict.subrsIndex = subrIndex;\n      var compiler = new _cff_parser.CFFCompiler(cff);\n      return compiler.compile();\n    }\n  };\n  return Type1Font;\n}();\n\nvar CFFFont = function CFFFontClosure() {\n  function CFFFont(file, properties) {\n    this.properties = properties;\n    var parser = new _cff_parser.CFFParser(file, properties, SEAC_ANALYSIS_ENABLED);\n    this.cff = parser.parse();\n    this.cff.duplicateFirstGlyph();\n    var compiler = new _cff_parser.CFFCompiler(this.cff);\n    this.seacs = this.cff.seacs;\n\n    try {\n      this.data = compiler.compile();\n    } catch (e) {\n      (0, _util.warn)(\"Failed to compile font \" + properties.loadedName);\n      this.data = file;\n    }\n  }\n\n  CFFFont.prototype = {\n    get numGlyphs() {\n      return this.cff.charStrings.count;\n    },\n\n    getCharset: function CFFFont_getCharset() {\n      return this.cff.charset.charset;\n    },\n    getGlyphMapping: function CFFFont_getGlyphMapping() {\n      var cff = this.cff;\n      var properties = this.properties;\n      var charsets = cff.charset.charset;\n      var charCodeToGlyphId;\n      var glyphId;\n\n      if (properties.composite) {\n        charCodeToGlyphId = Object.create(null);\n        var charCode;\n\n        if (cff.isCIDFont) {\n          for (glyphId = 0; glyphId < charsets.length; glyphId++) {\n            var cid = charsets[glyphId];\n            charCode = properties.cMap.charCodeOf(cid);\n            charCodeToGlyphId[charCode] = glyphId;\n          }\n        } else {\n          for (glyphId = 0; glyphId < cff.charStrings.count; glyphId++) {\n            charCode = properties.cMap.charCodeOf(glyphId);\n            charCodeToGlyphId[charCode] = glyphId;\n          }\n        }\n\n        return charCodeToGlyphId;\n      }\n\n      var encoding = cff.encoding ? cff.encoding.encoding : null;\n      charCodeToGlyphId = type1FontGlyphMapping(properties, encoding, charsets);\n      return charCodeToGlyphId;\n    },\n    hasGlyphId: function CFFFont_hasGlyphID(id) {\n      return this.cff.hasGlyphId(id);\n    }\n  };\n  return CFFFont;\n}();\n\n/***/ }),\n/* 223 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.CFFFDSelect = exports.CFFCompiler = exports.CFFPrivateDict = exports.CFFTopDict = exports.CFFCharset = exports.CFFIndex = exports.CFFStrings = exports.CFFHeader = exports.CFF = exports.CFFParser = exports.CFFStandardStrings = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _charsets = __w_pdfjs_require__(224);\n\nvar _encodings = __w_pdfjs_require__(225);\n\nvar MAX_SUBR_NESTING = 10;\nvar CFFStandardStrings = [\".notdef\", \"space\", \"exclam\", \"quotedbl\", \"numbersign\", \"dollar\", \"percent\", \"ampersand\", \"quoteright\", \"parenleft\", \"parenright\", \"asterisk\", \"plus\", \"comma\", \"hyphen\", \"period\", \"slash\", \"zero\", \"one\", \"two\", \"three\", \"four\", \"five\", \"six\", \"seven\", \"eight\", \"nine\", \"colon\", \"semicolon\", \"less\", \"equal\", \"greater\", \"question\", \"at\", \"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\", \"I\", \"J\", \"K\", \"L\", \"M\", \"N\", \"O\", \"P\", \"Q\", \"R\", \"S\", \"T\", \"U\", \"V\", \"W\", \"X\", \"Y\", \"Z\", \"bracketleft\", \"backslash\", \"bracketright\", \"asciicircum\", \"underscore\", \"quoteleft\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\", \"g\", \"h\", \"i\", \"j\", \"k\", \"l\", \"m\", \"n\", \"o\", \"p\", \"q\", \"r\", \"s\", \"t\", \"u\", \"v\", \"w\", \"x\", \"y\", \"z\", \"braceleft\", \"bar\", \"braceright\", \"asciitilde\", \"exclamdown\", \"cent\", \"sterling\", \"fraction\", \"yen\", \"florin\", \"section\", \"currency\", \"quotesingle\", \"quotedblleft\", \"guillemotleft\", \"guilsinglleft\", \"guilsinglright\", \"fi\", \"fl\", \"endash\", \"dagger\", \"daggerdbl\", \"periodcentered\", \"paragraph\", \"bullet\", \"quotesinglbase\", \"quotedblbase\", \"quotedblright\", \"guillemotright\", \"ellipsis\", \"perthousand\", \"questiondown\", \"grave\", \"acute\", \"circumflex\", \"tilde\", \"macron\", \"breve\", \"dotaccent\", \"dieresis\", \"ring\", \"cedilla\", \"hungarumlaut\", \"ogonek\", \"caron\", \"emdash\", \"AE\", \"ordfeminine\", \"Lslash\", \"Oslash\", \"OE\", \"ordmasculine\", \"ae\", \"dotlessi\", \"lslash\", \"oslash\", \"oe\", \"germandbls\", \"onesuperior\", \"logicalnot\", \"mu\", \"trademark\", \"Eth\", \"onehalf\", \"plusminus\", \"Thorn\", \"onequarter\", \"divide\", \"brokenbar\", \"degree\", \"thorn\", \"threequarters\", \"twosuperior\", \"registered\", \"minus\", \"eth\", \"multiply\", \"threesuperior\", \"copyright\", \"Aacute\", \"Acircumflex\", \"Adieresis\", \"Agrave\", \"Aring\", \"Atilde\", \"Ccedilla\", \"Eacute\", \"Ecircumflex\", \"Edieresis\", \"Egrave\", \"Iacute\", \"Icircumflex\", \"Idieresis\", \"Igrave\", \"Ntilde\", \"Oacute\", \"Ocircumflex\", \"Odieresis\", \"Ograve\", \"Otilde\", \"Scaron\", \"Uacute\", \"Ucircumflex\", \"Udieresis\", \"Ugrave\", \"Yacute\", \"Ydieresis\", \"Zcaron\", \"aacute\", \"acircumflex\", \"adieresis\", \"agrave\", \"aring\", \"atilde\", \"ccedilla\", \"eacute\", \"ecircumflex\", \"edieresis\", \"egrave\", \"iacute\", \"icircumflex\", \"idieresis\", \"igrave\", \"ntilde\", \"oacute\", \"ocircumflex\", \"odieresis\", \"ograve\", \"otilde\", \"scaron\", \"uacute\", \"ucircumflex\", \"udieresis\", \"ugrave\", \"yacute\", \"ydieresis\", \"zcaron\", \"exclamsmall\", \"Hungarumlautsmall\", \"dollaroldstyle\", \"dollarsuperior\", \"ampersandsmall\", \"Acutesmall\", \"parenleftsuperior\", \"parenrightsuperior\", \"twodotenleader\", \"onedotenleader\", \"zerooldstyle\", \"oneoldstyle\", \"twooldstyle\", \"threeoldstyle\", \"fouroldstyle\", \"fiveoldstyle\", \"sixoldstyle\", \"sevenoldstyle\", \"eightoldstyle\", \"nineoldstyle\", \"commasuperior\", \"threequartersemdash\", \"periodsuperior\", \"questionsmall\", \"asuperior\", \"bsuperior\", \"centsuperior\", \"dsuperior\", \"esuperior\", \"isuperior\", \"lsuperior\", \"msuperior\", \"nsuperior\", \"osuperior\", \"rsuperior\", \"ssuperior\", \"tsuperior\", \"ff\", \"ffi\", \"ffl\", \"parenleftinferior\", \"parenrightinferior\", \"Circumflexsmall\", \"hyphensuperior\", \"Gravesmall\", \"Asmall\", \"Bsmall\", \"Csmall\", \"Dsmall\", \"Esmall\", \"Fsmall\", \"Gsmall\", \"Hsmall\", \"Ismall\", \"Jsmall\", \"Ksmall\", \"Lsmall\", \"Msmall\", \"Nsmall\", \"Osmall\", \"Psmall\", \"Qsmall\", \"Rsmall\", \"Ssmall\", \"Tsmall\", \"Usmall\", \"Vsmall\", \"Wsmall\", \"Xsmall\", \"Ysmall\", \"Zsmall\", \"colonmonetary\", \"onefitted\", \"rupiah\", \"Tildesmall\", \"exclamdownsmall\", \"centoldstyle\", \"Lslashsmall\", \"Scaronsmall\", \"Zcaronsmall\", \"Dieresissmall\", \"Brevesmall\", \"Caronsmall\", \"Dotaccentsmall\", \"Macronsmall\", \"figuredash\", \"hypheninferior\", \"Ogoneksmall\", \"Ringsmall\", \"Cedillasmall\", \"questiondownsmall\", \"oneeighth\", \"threeeighths\", \"fiveeighths\", \"seveneighths\", \"onethird\", \"twothirds\", \"zerosuperior\", \"foursuperior\", \"fivesuperior\", \"sixsuperior\", \"sevensuperior\", \"eightsuperior\", \"ninesuperior\", \"zeroinferior\", \"oneinferior\", \"twoinferior\", \"threeinferior\", \"fourinferior\", \"fiveinferior\", \"sixinferior\", \"seveninferior\", \"eightinferior\", \"nineinferior\", \"centinferior\", \"dollarinferior\", \"periodinferior\", \"commainferior\", \"Agravesmall\", \"Aacutesmall\", \"Acircumflexsmall\", \"Atildesmall\", \"Adieresissmall\", \"Aringsmall\", \"AEsmall\", \"Ccedillasmall\", \"Egravesmall\", \"Eacutesmall\", \"Ecircumflexsmall\", \"Edieresissmall\", \"Igravesmall\", \"Iacutesmall\", \"Icircumflexsmall\", \"Idieresissmall\", \"Ethsmall\", \"Ntildesmall\", \"Ogravesmall\", \"Oacutesmall\", \"Ocircumflexsmall\", \"Otildesmall\", \"Odieresissmall\", \"OEsmall\", \"Oslashsmall\", \"Ugravesmall\", \"Uacutesmall\", \"Ucircumflexsmall\", \"Udieresissmall\", \"Yacutesmall\", \"Thornsmall\", \"Ydieresissmall\", \"001.000\", \"001.001\", \"001.002\", \"001.003\", \"Black\", \"Bold\", \"Book\", \"Light\", \"Medium\", \"Regular\", \"Roman\", \"Semibold\"];\nexports.CFFStandardStrings = CFFStandardStrings;\nvar NUM_STANDARD_CFF_STRINGS = 391;\n\nvar CFFParser = function CFFParserClosure() {\n  var CharstringValidationData = [null, {\n    id: \"hstem\",\n    min: 2,\n    stackClearing: true,\n    stem: true\n  }, null, {\n    id: \"vstem\",\n    min: 2,\n    stackClearing: true,\n    stem: true\n  }, {\n    id: \"vmoveto\",\n    min: 1,\n    stackClearing: true\n  }, {\n    id: \"rlineto\",\n    min: 2,\n    resetStack: true\n  }, {\n    id: \"hlineto\",\n    min: 1,\n    resetStack: true\n  }, {\n    id: \"vlineto\",\n    min: 1,\n    resetStack: true\n  }, {\n    id: \"rrcurveto\",\n    min: 6,\n    resetStack: true\n  }, null, {\n    id: \"callsubr\",\n    min: 1,\n    undefStack: true\n  }, {\n    id: \"return\",\n    min: 0,\n    undefStack: true\n  }, null, null, {\n    id: \"endchar\",\n    min: 0,\n    stackClearing: true\n  }, null, null, null, {\n    id: \"hstemhm\",\n    min: 2,\n    stackClearing: true,\n    stem: true\n  }, {\n    id: \"hintmask\",\n    min: 0,\n    stackClearing: true\n  }, {\n    id: \"cntrmask\",\n    min: 0,\n    stackClearing: true\n  }, {\n    id: \"rmoveto\",\n    min: 2,\n    stackClearing: true\n  }, {\n    id: \"hmoveto\",\n    min: 1,\n    stackClearing: true\n  }, {\n    id: \"vstemhm\",\n    min: 2,\n    stackClearing: true,\n    stem: true\n  }, {\n    id: \"rcurveline\",\n    min: 8,\n    resetStack: true\n  }, {\n    id: \"rlinecurve\",\n    min: 8,\n    resetStack: true\n  }, {\n    id: \"vvcurveto\",\n    min: 4,\n    resetStack: true\n  }, {\n    id: \"hhcurveto\",\n    min: 4,\n    resetStack: true\n  }, null, {\n    id: \"callgsubr\",\n    min: 1,\n    undefStack: true\n  }, {\n    id: \"vhcurveto\",\n    min: 4,\n    resetStack: true\n  }, {\n    id: \"hvcurveto\",\n    min: 4,\n    resetStack: true\n  }];\n  var CharstringValidationData12 = [null, null, null, {\n    id: \"and\",\n    min: 2,\n    stackDelta: -1\n  }, {\n    id: \"or\",\n    min: 2,\n    stackDelta: -1\n  }, {\n    id: \"not\",\n    min: 1,\n    stackDelta: 0\n  }, null, null, null, {\n    id: \"abs\",\n    min: 1,\n    stackDelta: 0\n  }, {\n    id: \"add\",\n    min: 2,\n    stackDelta: -1,\n    stackFn: function stack_div(stack, index) {\n      stack[index - 2] = stack[index - 2] + stack[index - 1];\n    }\n  }, {\n    id: \"sub\",\n    min: 2,\n    stackDelta: -1,\n    stackFn: function stack_div(stack, index) {\n      stack[index - 2] = stack[index - 2] - stack[index - 1];\n    }\n  }, {\n    id: \"div\",\n    min: 2,\n    stackDelta: -1,\n    stackFn: function stack_div(stack, index) {\n      stack[index - 2] = stack[index - 2] / stack[index - 1];\n    }\n  }, null, {\n    id: \"neg\",\n    min: 1,\n    stackDelta: 0,\n    stackFn: function stack_div(stack, index) {\n      stack[index - 1] = -stack[index - 1];\n    }\n  }, {\n    id: \"eq\",\n    min: 2,\n    stackDelta: -1\n  }, null, null, {\n    id: \"drop\",\n    min: 1,\n    stackDelta: -1\n  }, null, {\n    id: \"put\",\n    min: 2,\n    stackDelta: -2\n  }, {\n    id: \"get\",\n    min: 1,\n    stackDelta: 0\n  }, {\n    id: \"ifelse\",\n    min: 4,\n    stackDelta: -3\n  }, {\n    id: \"random\",\n    min: 0,\n    stackDelta: 1\n  }, {\n    id: \"mul\",\n    min: 2,\n    stackDelta: -1,\n    stackFn: function stack_div(stack, index) {\n      stack[index - 2] = stack[index - 2] * stack[index - 1];\n    }\n  }, null, {\n    id: \"sqrt\",\n    min: 1,\n    stackDelta: 0\n  }, {\n    id: \"dup\",\n    min: 1,\n    stackDelta: 1\n  }, {\n    id: \"exch\",\n    min: 2,\n    stackDelta: 0\n  }, {\n    id: \"index\",\n    min: 2,\n    stackDelta: 0\n  }, {\n    id: \"roll\",\n    min: 3,\n    stackDelta: -2\n  }, null, null, null, {\n    id: \"hflex\",\n    min: 7,\n    resetStack: true\n  }, {\n    id: \"flex\",\n    min: 13,\n    resetStack: true\n  }, {\n    id: \"hflex1\",\n    min: 9,\n    resetStack: true\n  }, {\n    id: \"flex1\",\n    min: 11,\n    resetStack: true\n  }];\n\n  function CFFParser(file, properties, seacAnalysisEnabled) {\n    this.bytes = file.getBytes();\n    this.properties = properties;\n    this.seacAnalysisEnabled = !!seacAnalysisEnabled;\n  }\n\n  CFFParser.prototype = {\n    parse: function CFFParser_parse() {\n      var properties = this.properties;\n      var cff = new CFF();\n      this.cff = cff;\n      var header = this.parseHeader();\n      var nameIndex = this.parseIndex(header.endPos);\n      var topDictIndex = this.parseIndex(nameIndex.endPos);\n      var stringIndex = this.parseIndex(topDictIndex.endPos);\n      var globalSubrIndex = this.parseIndex(stringIndex.endPos);\n      var topDictParsed = this.parseDict(topDictIndex.obj.get(0));\n      var topDict = this.createDict(CFFTopDict, topDictParsed, cff.strings);\n      cff.header = header.obj;\n      cff.names = this.parseNameIndex(nameIndex.obj);\n      cff.strings = this.parseStringIndex(stringIndex.obj);\n      cff.topDict = topDict;\n      cff.globalSubrIndex = globalSubrIndex.obj;\n      this.parsePrivateDict(cff.topDict);\n      cff.isCIDFont = topDict.hasName(\"ROS\");\n      var charStringOffset = topDict.getByName(\"CharStrings\");\n      var charStringIndex = this.parseIndex(charStringOffset).obj;\n      var fontMatrix = topDict.getByName(\"FontMatrix\");\n\n      if (fontMatrix) {\n        properties.fontMatrix = fontMatrix;\n      }\n\n      var fontBBox = topDict.getByName(\"FontBBox\");\n\n      if (fontBBox) {\n        properties.ascent = Math.max(fontBBox[3], fontBBox[1]);\n        properties.descent = Math.min(fontBBox[1], fontBBox[3]);\n        properties.ascentScaled = true;\n      }\n\n      var charset, encoding;\n\n      if (cff.isCIDFont) {\n        var fdArrayIndex = this.parseIndex(topDict.getByName(\"FDArray\")).obj;\n\n        for (var i = 0, ii = fdArrayIndex.count; i < ii; ++i) {\n          var dictRaw = fdArrayIndex.get(i);\n          var fontDict = this.createDict(CFFTopDict, this.parseDict(dictRaw), cff.strings);\n          this.parsePrivateDict(fontDict);\n          cff.fdArray.push(fontDict);\n        }\n\n        encoding = null;\n        charset = this.parseCharsets(topDict.getByName(\"charset\"), charStringIndex.count, cff.strings, true);\n        cff.fdSelect = this.parseFDSelect(topDict.getByName(\"FDSelect\"), charStringIndex.count);\n      } else {\n        charset = this.parseCharsets(topDict.getByName(\"charset\"), charStringIndex.count, cff.strings, false);\n        encoding = this.parseEncoding(topDict.getByName(\"Encoding\"), properties, cff.strings, charset.charset);\n      }\n\n      cff.charset = charset;\n      cff.encoding = encoding;\n      var charStringsAndSeacs = this.parseCharStrings({\n        charStrings: charStringIndex,\n        localSubrIndex: topDict.privateDict.subrsIndex,\n        globalSubrIndex: globalSubrIndex.obj,\n        fdSelect: cff.fdSelect,\n        fdArray: cff.fdArray,\n        privateDict: topDict.privateDict\n      });\n      cff.charStrings = charStringsAndSeacs.charStrings;\n      cff.seacs = charStringsAndSeacs.seacs;\n      cff.widths = charStringsAndSeacs.widths;\n      return cff;\n    },\n    parseHeader: function CFFParser_parseHeader() {\n      var bytes = this.bytes;\n      var bytesLength = bytes.length;\n      var offset = 0;\n\n      while (offset < bytesLength && bytes[offset] !== 1) {\n        ++offset;\n      }\n\n      if (offset >= bytesLength) {\n        throw new _util.FormatError(\"Invalid CFF header\");\n      }\n\n      if (offset !== 0) {\n        (0, _util.info)(\"cff data is shifted\");\n        bytes = bytes.subarray(offset);\n        this.bytes = bytes;\n      }\n\n      var major = bytes[0];\n      var minor = bytes[1];\n      var hdrSize = bytes[2];\n      var offSize = bytes[3];\n      var header = new CFFHeader(major, minor, hdrSize, offSize);\n      return {\n        obj: header,\n        endPos: hdrSize\n      };\n    },\n    parseDict: function CFFParser_parseDict(dict) {\n      var pos = 0;\n\n      function parseOperand() {\n        var value = dict[pos++];\n\n        if (value === 30) {\n          return parseFloatOperand();\n        } else if (value === 28) {\n          value = dict[pos++];\n          value = (value << 24 | dict[pos++] << 16) >> 16;\n          return value;\n        } else if (value === 29) {\n          value = dict[pos++];\n          value = value << 8 | dict[pos++];\n          value = value << 8 | dict[pos++];\n          value = value << 8 | dict[pos++];\n          return value;\n        } else if (value >= 32 && value <= 246) {\n          return value - 139;\n        } else if (value >= 247 && value <= 250) {\n          return (value - 247) * 256 + dict[pos++] + 108;\n        } else if (value >= 251 && value <= 254) {\n          return -((value - 251) * 256) - dict[pos++] - 108;\n        }\n\n        (0, _util.warn)('CFFParser_parseDict: \"' + value + '\" is a reserved command.');\n        return NaN;\n      }\n\n      function parseFloatOperand() {\n        var str = \"\";\n        var eof = 15;\n        var lookup = [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \".\", \"E\", \"E-\", null, \"-\"];\n        var length = dict.length;\n\n        while (pos < length) {\n          var b = dict[pos++];\n          var b1 = b >> 4;\n          var b2 = b & 15;\n\n          if (b1 === eof) {\n            break;\n          }\n\n          str += lookup[b1];\n\n          if (b2 === eof) {\n            break;\n          }\n\n          str += lookup[b2];\n        }\n\n        return parseFloat(str);\n      }\n\n      var operands = [];\n      var entries = [];\n      pos = 0;\n      var end = dict.length;\n\n      while (pos < end) {\n        var b = dict[pos];\n\n        if (b <= 21) {\n          if (b === 12) {\n            b = b << 8 | dict[++pos];\n          }\n\n          entries.push([b, operands]);\n          operands = [];\n          ++pos;\n        } else {\n          operands.push(parseOperand());\n        }\n      }\n\n      return entries;\n    },\n    parseIndex: function CFFParser_parseIndex(pos) {\n      var cffIndex = new CFFIndex();\n      var bytes = this.bytes;\n      var count = bytes[pos++] << 8 | bytes[pos++];\n      var offsets = [];\n      var end = pos;\n      var i, ii;\n\n      if (count !== 0) {\n        var offsetSize = bytes[pos++];\n        var startPos = pos + (count + 1) * offsetSize - 1;\n\n        for (i = 0, ii = count + 1; i < ii; ++i) {\n          var offset = 0;\n\n          for (var j = 0; j < offsetSize; ++j) {\n            offset <<= 8;\n            offset += bytes[pos++];\n          }\n\n          offsets.push(startPos + offset);\n        }\n\n        end = offsets[count];\n      }\n\n      for (i = 0, ii = offsets.length - 1; i < ii; ++i) {\n        var offsetStart = offsets[i];\n        var offsetEnd = offsets[i + 1];\n        cffIndex.add(bytes.subarray(offsetStart, offsetEnd));\n      }\n\n      return {\n        obj: cffIndex,\n        endPos: end\n      };\n    },\n    parseNameIndex: function CFFParser_parseNameIndex(index) {\n      var names = [];\n\n      for (var i = 0, ii = index.count; i < ii; ++i) {\n        var name = index.get(i);\n        names.push((0, _util.bytesToString)(name));\n      }\n\n      return names;\n    },\n    parseStringIndex: function CFFParser_parseStringIndex(index) {\n      var strings = new CFFStrings();\n\n      for (var i = 0, ii = index.count; i < ii; ++i) {\n        var data = index.get(i);\n        strings.add((0, _util.bytesToString)(data));\n      }\n\n      return strings;\n    },\n    createDict: function CFFParser_createDict(Type, dict, strings) {\n      var cffDict = new Type(strings);\n\n      for (var i = 0, ii = dict.length; i < ii; ++i) {\n        var pair = dict[i];\n        var key = pair[0];\n        var value = pair[1];\n        cffDict.setByKey(key, value);\n      }\n\n      return cffDict;\n    },\n    parseCharString: function CFFParser_parseCharString(state, data, localSubrIndex, globalSubrIndex) {\n      if (!data || state.callDepth > MAX_SUBR_NESTING) {\n        return false;\n      }\n\n      var stackSize = state.stackSize;\n      var stack = state.stack;\n      var length = data.length;\n\n      for (var j = 0; j < length;) {\n        var value = data[j++];\n        var validationCommand = null;\n\n        if (value === 12) {\n          var q = data[j++];\n\n          if (q === 0) {\n            data[j - 2] = 139;\n            data[j - 1] = 22;\n            stackSize = 0;\n          } else {\n            validationCommand = CharstringValidationData12[q];\n          }\n        } else if (value === 28) {\n          stack[stackSize] = (data[j] << 24 | data[j + 1] << 16) >> 16;\n          j += 2;\n          stackSize++;\n        } else if (value === 14) {\n          if (stackSize >= 4) {\n            stackSize -= 4;\n\n            if (this.seacAnalysisEnabled) {\n              state.seac = stack.slice(stackSize, stackSize + 4);\n              return false;\n            }\n          }\n\n          validationCommand = CharstringValidationData[value];\n        } else if (value >= 32 && value <= 246) {\n          stack[stackSize] = value - 139;\n          stackSize++;\n        } else if (value >= 247 && value <= 254) {\n          stack[stackSize] = value < 251 ? (value - 247 << 8) + data[j] + 108 : -(value - 251 << 8) - data[j] - 108;\n          j++;\n          stackSize++;\n        } else if (value === 255) {\n          stack[stackSize] = (data[j] << 24 | data[j + 1] << 16 | data[j + 2] << 8 | data[j + 3]) / 65536;\n          j += 4;\n          stackSize++;\n        } else if (value === 19 || value === 20) {\n          state.hints += stackSize >> 1;\n          j += state.hints + 7 >> 3;\n          stackSize %= 2;\n          validationCommand = CharstringValidationData[value];\n        } else if (value === 10 || value === 29) {\n          var subrsIndex;\n\n          if (value === 10) {\n            subrsIndex = localSubrIndex;\n          } else {\n            subrsIndex = globalSubrIndex;\n          }\n\n          if (!subrsIndex) {\n            validationCommand = CharstringValidationData[value];\n            (0, _util.warn)(\"Missing subrsIndex for \" + validationCommand.id);\n            return false;\n          }\n\n          var bias = 32768;\n\n          if (subrsIndex.count < 1240) {\n            bias = 107;\n          } else if (subrsIndex.count < 33900) {\n            bias = 1131;\n          }\n\n          var subrNumber = stack[--stackSize] + bias;\n\n          if (subrNumber < 0 || subrNumber >= subrsIndex.count || isNaN(subrNumber)) {\n            validationCommand = CharstringValidationData[value];\n            (0, _util.warn)(\"Out of bounds subrIndex for \" + validationCommand.id);\n            return false;\n          }\n\n          state.stackSize = stackSize;\n          state.callDepth++;\n          var valid = this.parseCharString(state, subrsIndex.get(subrNumber), localSubrIndex, globalSubrIndex);\n\n          if (!valid) {\n            return false;\n          }\n\n          state.callDepth--;\n          stackSize = state.stackSize;\n          continue;\n        } else if (value === 11) {\n          state.stackSize = stackSize;\n          return true;\n        } else {\n          validationCommand = CharstringValidationData[value];\n        }\n\n        if (validationCommand) {\n          if (validationCommand.stem) {\n            state.hints += stackSize >> 1;\n\n            if (value === 3 || value === 23) {\n              state.hasVStems = true;\n            } else if (state.hasVStems && (value === 1 || value === 18)) {\n              (0, _util.warn)(\"CFF stem hints are in wrong order\");\n              data[j - 1] = value === 1 ? 3 : 23;\n            }\n          }\n\n          if (\"min\" in validationCommand) {\n            if (!state.undefStack && stackSize < validationCommand.min) {\n              (0, _util.warn)(\"Not enough parameters for \" + validationCommand.id + \"; actual: \" + stackSize + \", expected: \" + validationCommand.min);\n              return false;\n            }\n          }\n\n          if (state.firstStackClearing && validationCommand.stackClearing) {\n            state.firstStackClearing = false;\n            stackSize -= validationCommand.min;\n\n            if (stackSize >= 2 && validationCommand.stem) {\n              stackSize %= 2;\n            } else if (stackSize > 1) {\n              (0, _util.warn)(\"Found too many parameters for stack-clearing command\");\n            }\n\n            if (stackSize > 0 && stack[stackSize - 1] >= 0) {\n              state.width = stack[stackSize - 1];\n            }\n          }\n\n          if (\"stackDelta\" in validationCommand) {\n            if (\"stackFn\" in validationCommand) {\n              validationCommand.stackFn(stack, stackSize);\n            }\n\n            stackSize += validationCommand.stackDelta;\n          } else if (validationCommand.stackClearing) {\n            stackSize = 0;\n          } else if (validationCommand.resetStack) {\n            stackSize = 0;\n            state.undefStack = false;\n          } else if (validationCommand.undefStack) {\n            stackSize = 0;\n            state.undefStack = true;\n            state.firstStackClearing = false;\n          }\n        }\n      }\n\n      state.stackSize = stackSize;\n      return true;\n    },\n    parseCharStrings: function parseCharStrings(_ref) {\n      var charStrings = _ref.charStrings,\n          localSubrIndex = _ref.localSubrIndex,\n          globalSubrIndex = _ref.globalSubrIndex,\n          fdSelect = _ref.fdSelect,\n          fdArray = _ref.fdArray,\n          privateDict = _ref.privateDict;\n      var seacs = [];\n      var widths = [];\n      var count = charStrings.count;\n\n      for (var i = 0; i < count; i++) {\n        var charstring = charStrings.get(i);\n        var state = {\n          callDepth: 0,\n          stackSize: 0,\n          stack: [],\n          undefStack: true,\n          hints: 0,\n          firstStackClearing: true,\n          seac: null,\n          width: null,\n          hasVStems: false\n        };\n        var valid = true;\n        var localSubrToUse = null;\n        var privateDictToUse = privateDict;\n\n        if (fdSelect && fdArray.length) {\n          var fdIndex = fdSelect.getFDIndex(i);\n\n          if (fdIndex === -1) {\n            (0, _util.warn)(\"Glyph index is not in fd select.\");\n            valid = false;\n          }\n\n          if (fdIndex >= fdArray.length) {\n            (0, _util.warn)(\"Invalid fd index for glyph index.\");\n            valid = false;\n          }\n\n          if (valid) {\n            privateDictToUse = fdArray[fdIndex].privateDict;\n            localSubrToUse = privateDictToUse.subrsIndex;\n          }\n        } else if (localSubrIndex) {\n          localSubrToUse = localSubrIndex;\n        }\n\n        if (valid) {\n          valid = this.parseCharString(state, charstring, localSubrToUse, globalSubrIndex);\n        }\n\n        if (state.width !== null) {\n          var nominalWidth = privateDictToUse.getByName(\"nominalWidthX\");\n          widths[i] = nominalWidth + state.width;\n        } else {\n          var defaultWidth = privateDictToUse.getByName(\"defaultWidthX\");\n          widths[i] = defaultWidth;\n        }\n\n        if (state.seac !== null) {\n          seacs[i] = state.seac;\n        }\n\n        if (!valid) {\n          charStrings.set(i, new Uint8Array([14]));\n        }\n      }\n\n      return {\n        charStrings: charStrings,\n        seacs: seacs,\n        widths: widths\n      };\n    },\n    emptyPrivateDictionary: function CFFParser_emptyPrivateDictionary(parentDict) {\n      var privateDict = this.createDict(CFFPrivateDict, [], parentDict.strings);\n      parentDict.setByKey(18, [0, 0]);\n      parentDict.privateDict = privateDict;\n    },\n    parsePrivateDict: function CFFParser_parsePrivateDict(parentDict) {\n      if (!parentDict.hasName(\"Private\")) {\n        this.emptyPrivateDictionary(parentDict);\n        return;\n      }\n\n      var privateOffset = parentDict.getByName(\"Private\");\n\n      if (!Array.isArray(privateOffset) || privateOffset.length !== 2) {\n        parentDict.removeByName(\"Private\");\n        return;\n      }\n\n      var size = privateOffset[0];\n      var offset = privateOffset[1];\n\n      if (size === 0 || offset >= this.bytes.length) {\n        this.emptyPrivateDictionary(parentDict);\n        return;\n      }\n\n      var privateDictEnd = offset + size;\n      var dictData = this.bytes.subarray(offset, privateDictEnd);\n      var dict = this.parseDict(dictData);\n      var privateDict = this.createDict(CFFPrivateDict, dict, parentDict.strings);\n      parentDict.privateDict = privateDict;\n\n      if (!privateDict.getByName(\"Subrs\")) {\n        return;\n      }\n\n      var subrsOffset = privateDict.getByName(\"Subrs\");\n      var relativeOffset = offset + subrsOffset;\n\n      if (subrsOffset === 0 || relativeOffset >= this.bytes.length) {\n        this.emptyPrivateDictionary(parentDict);\n        return;\n      }\n\n      var subrsIndex = this.parseIndex(relativeOffset);\n      privateDict.subrsIndex = subrsIndex.obj;\n    },\n    parseCharsets: function CFFParser_parseCharsets(pos, length, strings, cid) {\n      if (pos === 0) {\n        return new CFFCharset(true, CFFCharsetPredefinedTypes.ISO_ADOBE, _charsets.ISOAdobeCharset);\n      } else if (pos === 1) {\n        return new CFFCharset(true, CFFCharsetPredefinedTypes.EXPERT, _charsets.ExpertCharset);\n      } else if (pos === 2) {\n        return new CFFCharset(true, CFFCharsetPredefinedTypes.EXPERT_SUBSET, _charsets.ExpertSubsetCharset);\n      }\n\n      var bytes = this.bytes;\n      var start = pos;\n      var format = bytes[pos++];\n      var charset = [cid ? 0 : \".notdef\"];\n      var id, count, i;\n      length -= 1;\n\n      switch (format) {\n        case 0:\n          for (i = 0; i < length; i++) {\n            id = bytes[pos++] << 8 | bytes[pos++];\n            charset.push(cid ? id : strings.get(id));\n          }\n\n          break;\n\n        case 1:\n          while (charset.length <= length) {\n            id = bytes[pos++] << 8 | bytes[pos++];\n            count = bytes[pos++];\n\n            for (i = 0; i <= count; i++) {\n              charset.push(cid ? id++ : strings.get(id++));\n            }\n          }\n\n          break;\n\n        case 2:\n          while (charset.length <= length) {\n            id = bytes[pos++] << 8 | bytes[pos++];\n            count = bytes[pos++] << 8 | bytes[pos++];\n\n            for (i = 0; i <= count; i++) {\n              charset.push(cid ? id++ : strings.get(id++));\n            }\n          }\n\n          break;\n\n        default:\n          throw new _util.FormatError(\"Unknown charset format\");\n      }\n\n      var end = pos;\n      var raw = bytes.subarray(start, end);\n      return new CFFCharset(false, format, charset, raw);\n    },\n    parseEncoding: function CFFParser_parseEncoding(pos, properties, strings, charset) {\n      var encoding = Object.create(null);\n      var bytes = this.bytes;\n      var predefined = false;\n      var format, i, ii;\n      var raw = null;\n\n      function readSupplement() {\n        var supplementsCount = bytes[pos++];\n\n        for (i = 0; i < supplementsCount; i++) {\n          var code = bytes[pos++];\n          var sid = (bytes[pos++] << 8) + (bytes[pos++] & 0xff);\n          encoding[code] = charset.indexOf(strings.get(sid));\n        }\n      }\n\n      if (pos === 0 || pos === 1) {\n        predefined = true;\n        format = pos;\n        var baseEncoding = pos ? _encodings.ExpertEncoding : _encodings.StandardEncoding;\n\n        for (i = 0, ii = charset.length; i < ii; i++) {\n          var index = baseEncoding.indexOf(charset[i]);\n\n          if (index !== -1) {\n            encoding[index] = i;\n          }\n        }\n      } else {\n        var dataStart = pos;\n        format = bytes[pos++];\n\n        switch (format & 0x7f) {\n          case 0:\n            var glyphsCount = bytes[pos++];\n\n            for (i = 1; i <= glyphsCount; i++) {\n              encoding[bytes[pos++]] = i;\n            }\n\n            break;\n\n          case 1:\n            var rangesCount = bytes[pos++];\n            var gid = 1;\n\n            for (i = 0; i < rangesCount; i++) {\n              var start = bytes[pos++];\n              var left = bytes[pos++];\n\n              for (var j = start; j <= start + left; j++) {\n                encoding[j] = gid++;\n              }\n            }\n\n            break;\n\n          default:\n            throw new _util.FormatError(\"Unknown encoding format: \".concat(format, \" in CFF\"));\n        }\n\n        var dataEnd = pos;\n\n        if (format & 0x80) {\n          bytes[dataStart] &= 0x7f;\n          readSupplement();\n        }\n\n        raw = bytes.subarray(dataStart, dataEnd);\n      }\n\n      format = format & 0x7f;\n      return new CFFEncoding(predefined, format, encoding, raw);\n    },\n    parseFDSelect: function CFFParser_parseFDSelect(pos, length) {\n      var bytes = this.bytes;\n      var format = bytes[pos++];\n      var fdSelect = [];\n      var i;\n\n      switch (format) {\n        case 0:\n          for (i = 0; i < length; ++i) {\n            var id = bytes[pos++];\n            fdSelect.push(id);\n          }\n\n          break;\n\n        case 3:\n          var rangesCount = bytes[pos++] << 8 | bytes[pos++];\n\n          for (i = 0; i < rangesCount; ++i) {\n            var first = bytes[pos++] << 8 | bytes[pos++];\n\n            if (i === 0 && first !== 0) {\n              (0, _util.warn)(\"parseFDSelect: The first range must have a first GID of 0\" + \" -- trying to recover.\");\n              first = 0;\n            }\n\n            var fdIndex = bytes[pos++];\n            var next = bytes[pos] << 8 | bytes[pos + 1];\n\n            for (var j = first; j < next; ++j) {\n              fdSelect.push(fdIndex);\n            }\n          }\n\n          pos += 2;\n          break;\n\n        default:\n          throw new _util.FormatError(\"parseFDSelect: Unknown format \\\"\".concat(format, \"\\\".\"));\n      }\n\n      if (fdSelect.length !== length) {\n        throw new _util.FormatError(\"parseFDSelect: Invalid font data.\");\n      }\n\n      return new CFFFDSelect(format, fdSelect);\n    }\n  };\n  return CFFParser;\n}();\n\nexports.CFFParser = CFFParser;\n\nvar CFF = function CFFClosure() {\n  function CFF() {\n    this.header = null;\n    this.names = [];\n    this.topDict = null;\n    this.strings = new CFFStrings();\n    this.globalSubrIndex = null;\n    this.encoding = null;\n    this.charset = null;\n    this.charStrings = null;\n    this.fdArray = [];\n    this.fdSelect = null;\n    this.isCIDFont = false;\n  }\n\n  CFF.prototype = {\n    duplicateFirstGlyph: function CFF_duplicateFirstGlyph() {\n      if (this.charStrings.count >= 65535) {\n        (0, _util.warn)(\"Not enough space in charstrings to duplicate first glyph.\");\n        return;\n      }\n\n      var glyphZero = this.charStrings.get(0);\n      this.charStrings.add(glyphZero);\n\n      if (this.isCIDFont) {\n        this.fdSelect.fdSelect.push(this.fdSelect.fdSelect[0]);\n      }\n    },\n    hasGlyphId: function CFF_hasGlyphID(id) {\n      if (id < 0 || id >= this.charStrings.count) {\n        return false;\n      }\n\n      var glyph = this.charStrings.get(id);\n      return glyph.length > 0;\n    }\n  };\n  return CFF;\n}();\n\nexports.CFF = CFF;\n\nvar CFFHeader = function CFFHeaderClosure() {\n  function CFFHeader(major, minor, hdrSize, offSize) {\n    this.major = major;\n    this.minor = minor;\n    this.hdrSize = hdrSize;\n    this.offSize = offSize;\n  }\n\n  return CFFHeader;\n}();\n\nexports.CFFHeader = CFFHeader;\n\nvar CFFStrings = function CFFStringsClosure() {\n  function CFFStrings() {\n    this.strings = [];\n  }\n\n  CFFStrings.prototype = {\n    get: function CFFStrings_get(index) {\n      if (index >= 0 && index <= NUM_STANDARD_CFF_STRINGS - 1) {\n        return CFFStandardStrings[index];\n      }\n\n      if (index - NUM_STANDARD_CFF_STRINGS <= this.strings.length) {\n        return this.strings[index - NUM_STANDARD_CFF_STRINGS];\n      }\n\n      return CFFStandardStrings[0];\n    },\n    getSID: function CFFStrings_getSID(str) {\n      var index = CFFStandardStrings.indexOf(str);\n\n      if (index !== -1) {\n        return index;\n      }\n\n      index = this.strings.indexOf(str);\n\n      if (index !== -1) {\n        return index + NUM_STANDARD_CFF_STRINGS;\n      }\n\n      return -1;\n    },\n    add: function CFFStrings_add(value) {\n      this.strings.push(value);\n    },\n\n    get count() {\n      return this.strings.length;\n    }\n\n  };\n  return CFFStrings;\n}();\n\nexports.CFFStrings = CFFStrings;\n\nvar CFFIndex = function CFFIndexClosure() {\n  function CFFIndex() {\n    this.objects = [];\n    this.length = 0;\n  }\n\n  CFFIndex.prototype = {\n    add: function CFFIndex_add(data) {\n      this.length += data.length;\n      this.objects.push(data);\n    },\n    set: function CFFIndex_set(index, data) {\n      this.length += data.length - this.objects[index].length;\n      this.objects[index] = data;\n    },\n    get: function CFFIndex_get(index) {\n      return this.objects[index];\n    },\n\n    get count() {\n      return this.objects.length;\n    }\n\n  };\n  return CFFIndex;\n}();\n\nexports.CFFIndex = CFFIndex;\n\nvar CFFDict = function CFFDictClosure() {\n  function CFFDict(tables, strings) {\n    this.keyToNameMap = tables.keyToNameMap;\n    this.nameToKeyMap = tables.nameToKeyMap;\n    this.defaults = tables.defaults;\n    this.types = tables.types;\n    this.opcodes = tables.opcodes;\n    this.order = tables.order;\n    this.strings = strings;\n    this.values = Object.create(null);\n  }\n\n  CFFDict.prototype = {\n    setByKey: function CFFDict_setByKey(key, value) {\n      if (!(key in this.keyToNameMap)) {\n        return false;\n      }\n\n      var valueLength = value.length;\n\n      if (valueLength === 0) {\n        return true;\n      }\n\n      for (var i = 0; i < valueLength; i++) {\n        if (isNaN(value[i])) {\n          (0, _util.warn)('Invalid CFFDict value: \"' + value + '\" for key \"' + key + '\".');\n          return true;\n        }\n      }\n\n      var type = this.types[key];\n\n      if (type === \"num\" || type === \"sid\" || type === \"offset\") {\n        value = value[0];\n      }\n\n      this.values[key] = value;\n      return true;\n    },\n    setByName: function CFFDict_setByName(name, value) {\n      if (!(name in this.nameToKeyMap)) {\n        throw new _util.FormatError(\"Invalid dictionary name \\\"\".concat(name, \"\\\"\"));\n      }\n\n      this.values[this.nameToKeyMap[name]] = value;\n    },\n    hasName: function CFFDict_hasName(name) {\n      return this.nameToKeyMap[name] in this.values;\n    },\n    getByName: function CFFDict_getByName(name) {\n      if (!(name in this.nameToKeyMap)) {\n        throw new _util.FormatError(\"Invalid dictionary name \".concat(name, \"\\\"\"));\n      }\n\n      var key = this.nameToKeyMap[name];\n\n      if (!(key in this.values)) {\n        return this.defaults[key];\n      }\n\n      return this.values[key];\n    },\n    removeByName: function CFFDict_removeByName(name) {\n      delete this.values[this.nameToKeyMap[name]];\n    }\n  };\n\n  CFFDict.createTables = function CFFDict_createTables(layout) {\n    var tables = {\n      keyToNameMap: {},\n      nameToKeyMap: {},\n      defaults: {},\n      types: {},\n      opcodes: {},\n      order: []\n    };\n\n    for (var i = 0, ii = layout.length; i < ii; ++i) {\n      var entry = layout[i];\n      var key = Array.isArray(entry[0]) ? (entry[0][0] << 8) + entry[0][1] : entry[0];\n      tables.keyToNameMap[key] = entry[1];\n      tables.nameToKeyMap[entry[1]] = key;\n      tables.types[key] = entry[2];\n      tables.defaults[key] = entry[3];\n      tables.opcodes[key] = Array.isArray(entry[0]) ? entry[0] : [entry[0]];\n      tables.order.push(key);\n    }\n\n    return tables;\n  };\n\n  return CFFDict;\n}();\n\nvar CFFTopDict = function CFFTopDictClosure() {\n  var layout = [[[12, 30], \"ROS\", [\"sid\", \"sid\", \"num\"], null], [[12, 20], \"SyntheticBase\", \"num\", null], [0, \"version\", \"sid\", null], [1, \"Notice\", \"sid\", null], [[12, 0], \"Copyright\", \"sid\", null], [2, \"FullName\", \"sid\", null], [3, \"FamilyName\", \"sid\", null], [4, \"Weight\", \"sid\", null], [[12, 1], \"isFixedPitch\", \"num\", 0], [[12, 2], \"ItalicAngle\", \"num\", 0], [[12, 3], \"UnderlinePosition\", \"num\", -100], [[12, 4], \"UnderlineThickness\", \"num\", 50], [[12, 5], \"PaintType\", \"num\", 0], [[12, 6], \"CharstringType\", \"num\", 2], [[12, 7], \"FontMatrix\", [\"num\", \"num\", \"num\", \"num\", \"num\", \"num\"], [0.001, 0, 0, 0.001, 0, 0]], [13, \"UniqueID\", \"num\", null], [5, \"FontBBox\", [\"num\", \"num\", \"num\", \"num\"], [0, 0, 0, 0]], [[12, 8], \"StrokeWidth\", \"num\", 0], [14, \"XUID\", \"array\", null], [15, \"charset\", \"offset\", 0], [16, \"Encoding\", \"offset\", 0], [17, \"CharStrings\", \"offset\", 0], [18, \"Private\", [\"offset\", \"offset\"], null], [[12, 21], \"PostScript\", \"sid\", null], [[12, 22], \"BaseFontName\", \"sid\", null], [[12, 23], \"BaseFontBlend\", \"delta\", null], [[12, 31], \"CIDFontVersion\", \"num\", 0], [[12, 32], \"CIDFontRevision\", \"num\", 0], [[12, 33], \"CIDFontType\", \"num\", 0], [[12, 34], \"CIDCount\", \"num\", 8720], [[12, 35], \"UIDBase\", \"num\", null], [[12, 37], \"FDSelect\", \"offset\", null], [[12, 36], \"FDArray\", \"offset\", null], [[12, 38], \"FontName\", \"sid\", null]];\n  var tables = null;\n\n  function CFFTopDict(strings) {\n    if (tables === null) {\n      tables = CFFDict.createTables(layout);\n    }\n\n    CFFDict.call(this, tables, strings);\n    this.privateDict = null;\n  }\n\n  CFFTopDict.prototype = Object.create(CFFDict.prototype);\n  return CFFTopDict;\n}();\n\nexports.CFFTopDict = CFFTopDict;\n\nvar CFFPrivateDict = function CFFPrivateDictClosure() {\n  var layout = [[6, \"BlueValues\", \"delta\", null], [7, \"OtherBlues\", \"delta\", null], [8, \"FamilyBlues\", \"delta\", null], [9, \"FamilyOtherBlues\", \"delta\", null], [[12, 9], \"BlueScale\", \"num\", 0.039625], [[12, 10], \"BlueShift\", \"num\", 7], [[12, 11], \"BlueFuzz\", \"num\", 1], [10, \"StdHW\", \"num\", null], [11, \"StdVW\", \"num\", null], [[12, 12], \"StemSnapH\", \"delta\", null], [[12, 13], \"StemSnapV\", \"delta\", null], [[12, 14], \"ForceBold\", \"num\", 0], [[12, 17], \"LanguageGroup\", \"num\", 0], [[12, 18], \"ExpansionFactor\", \"num\", 0.06], [[12, 19], \"initialRandomSeed\", \"num\", 0], [20, \"defaultWidthX\", \"num\", 0], [21, \"nominalWidthX\", \"num\", 0], [19, \"Subrs\", \"offset\", null]];\n  var tables = null;\n\n  function CFFPrivateDict(strings) {\n    if (tables === null) {\n      tables = CFFDict.createTables(layout);\n    }\n\n    CFFDict.call(this, tables, strings);\n    this.subrsIndex = null;\n  }\n\n  CFFPrivateDict.prototype = Object.create(CFFDict.prototype);\n  return CFFPrivateDict;\n}();\n\nexports.CFFPrivateDict = CFFPrivateDict;\nvar CFFCharsetPredefinedTypes = {\n  ISO_ADOBE: 0,\n  EXPERT: 1,\n  EXPERT_SUBSET: 2\n};\n\nvar CFFCharset = function CFFCharsetClosure() {\n  function CFFCharset(predefined, format, charset, raw) {\n    this.predefined = predefined;\n    this.format = format;\n    this.charset = charset;\n    this.raw = raw;\n  }\n\n  return CFFCharset;\n}();\n\nexports.CFFCharset = CFFCharset;\n\nvar CFFEncoding = function CFFEncodingClosure() {\n  function CFFEncoding(predefined, format, encoding, raw) {\n    this.predefined = predefined;\n    this.format = format;\n    this.encoding = encoding;\n    this.raw = raw;\n  }\n\n  return CFFEncoding;\n}();\n\nvar CFFFDSelect = function CFFFDSelectClosure() {\n  function CFFFDSelect(format, fdSelect) {\n    this.format = format;\n    this.fdSelect = fdSelect;\n  }\n\n  CFFFDSelect.prototype = {\n    getFDIndex: function CFFFDSelect_get(glyphIndex) {\n      if (glyphIndex < 0 || glyphIndex >= this.fdSelect.length) {\n        return -1;\n      }\n\n      return this.fdSelect[glyphIndex];\n    }\n  };\n  return CFFFDSelect;\n}();\n\nexports.CFFFDSelect = CFFFDSelect;\n\nvar CFFOffsetTracker = function CFFOffsetTrackerClosure() {\n  function CFFOffsetTracker() {\n    this.offsets = Object.create(null);\n  }\n\n  CFFOffsetTracker.prototype = {\n    isTracking: function CFFOffsetTracker_isTracking(key) {\n      return key in this.offsets;\n    },\n    track: function CFFOffsetTracker_track(key, location) {\n      if (key in this.offsets) {\n        throw new _util.FormatError(\"Already tracking location of \".concat(key));\n      }\n\n      this.offsets[key] = location;\n    },\n    offset: function CFFOffsetTracker_offset(value) {\n      for (var key in this.offsets) {\n        this.offsets[key] += value;\n      }\n    },\n    setEntryLocation: function CFFOffsetTracker_setEntryLocation(key, values, output) {\n      if (!(key in this.offsets)) {\n        throw new _util.FormatError(\"Not tracking location of \".concat(key));\n      }\n\n      var data = output.data;\n      var dataOffset = this.offsets[key];\n      var size = 5;\n\n      for (var i = 0, ii = values.length; i < ii; ++i) {\n        var offset0 = i * size + dataOffset;\n        var offset1 = offset0 + 1;\n        var offset2 = offset0 + 2;\n        var offset3 = offset0 + 3;\n        var offset4 = offset0 + 4;\n\n        if (data[offset0] !== 0x1d || data[offset1] !== 0 || data[offset2] !== 0 || data[offset3] !== 0 || data[offset4] !== 0) {\n          throw new _util.FormatError(\"writing to an offset that is not empty\");\n        }\n\n        var value = values[i];\n        data[offset0] = 0x1d;\n        data[offset1] = value >> 24 & 0xff;\n        data[offset2] = value >> 16 & 0xff;\n        data[offset3] = value >> 8 & 0xff;\n        data[offset4] = value & 0xff;\n      }\n    }\n  };\n  return CFFOffsetTracker;\n}();\n\nvar CFFCompiler = function CFFCompilerClosure() {\n  function CFFCompiler(cff) {\n    this.cff = cff;\n  }\n\n  CFFCompiler.prototype = {\n    compile: function CFFCompiler_compile() {\n      var cff = this.cff;\n      var output = {\n        data: [],\n        length: 0,\n        add: function CFFCompiler_add(data) {\n          this.data = this.data.concat(data);\n          this.length = this.data.length;\n        }\n      };\n      var header = this.compileHeader(cff.header);\n      output.add(header);\n      var nameIndex = this.compileNameIndex(cff.names);\n      output.add(nameIndex);\n\n      if (cff.isCIDFont) {\n        if (cff.topDict.hasName(\"FontMatrix\")) {\n          var base = cff.topDict.getByName(\"FontMatrix\");\n          cff.topDict.removeByName(\"FontMatrix\");\n\n          for (var i = 0, ii = cff.fdArray.length; i < ii; i++) {\n            var subDict = cff.fdArray[i];\n            var matrix = base.slice(0);\n\n            if (subDict.hasName(\"FontMatrix\")) {\n              matrix = _util.Util.transform(matrix, subDict.getByName(\"FontMatrix\"));\n            }\n\n            subDict.setByName(\"FontMatrix\", matrix);\n          }\n        }\n      }\n\n      cff.topDict.setByName(\"charset\", 0);\n      var compiled = this.compileTopDicts([cff.topDict], output.length, cff.isCIDFont);\n      output.add(compiled.output);\n      var topDictTracker = compiled.trackers[0];\n      var stringIndex = this.compileStringIndex(cff.strings.strings);\n      output.add(stringIndex);\n      var globalSubrIndex = this.compileIndex(cff.globalSubrIndex);\n      output.add(globalSubrIndex);\n\n      if (cff.encoding && cff.topDict.hasName(\"Encoding\")) {\n        if (cff.encoding.predefined) {\n          topDictTracker.setEntryLocation(\"Encoding\", [cff.encoding.format], output);\n        } else {\n          var encoding = this.compileEncoding(cff.encoding);\n          topDictTracker.setEntryLocation(\"Encoding\", [output.length], output);\n          output.add(encoding);\n        }\n      }\n\n      var charset = this.compileCharset(cff.charset, cff.charStrings.count, cff.strings, cff.isCIDFont);\n      topDictTracker.setEntryLocation(\"charset\", [output.length], output);\n      output.add(charset);\n      var charStrings = this.compileCharStrings(cff.charStrings);\n      topDictTracker.setEntryLocation(\"CharStrings\", [output.length], output);\n      output.add(charStrings);\n\n      if (cff.isCIDFont) {\n        topDictTracker.setEntryLocation(\"FDSelect\", [output.length], output);\n        var fdSelect = this.compileFDSelect(cff.fdSelect);\n        output.add(fdSelect);\n        compiled = this.compileTopDicts(cff.fdArray, output.length, true);\n        topDictTracker.setEntryLocation(\"FDArray\", [output.length], output);\n        output.add(compiled.output);\n        var fontDictTrackers = compiled.trackers;\n        this.compilePrivateDicts(cff.fdArray, fontDictTrackers, output);\n      }\n\n      this.compilePrivateDicts([cff.topDict], [topDictTracker], output);\n      output.add([0]);\n      return output.data;\n    },\n    encodeNumber: function CFFCompiler_encodeNumber(value) {\n      if (parseFloat(value) === parseInt(value, 10) && !isNaN(value)) {\n        return this.encodeInteger(value);\n      }\n\n      return this.encodeFloat(value);\n    },\n    encodeFloat: function CFFCompiler_encodeFloat(num) {\n      var value = num.toString();\n      var m = /\\.(\\d*?)(?:9{5,20}|0{5,20})\\d{0,2}(?:e(.+)|$)/.exec(value);\n\n      if (m) {\n        var epsilon = parseFloat(\"1e\" + ((m[2] ? +m[2] : 0) + m[1].length));\n        value = (Math.round(num * epsilon) / epsilon).toString();\n      }\n\n      var nibbles = \"\";\n      var i, ii;\n\n      for (i = 0, ii = value.length; i < ii; ++i) {\n        var a = value[i];\n\n        if (a === \"e\") {\n          nibbles += value[++i] === \"-\" ? \"c\" : \"b\";\n        } else if (a === \".\") {\n          nibbles += \"a\";\n        } else if (a === \"-\") {\n          nibbles += \"e\";\n        } else {\n          nibbles += a;\n        }\n      }\n\n      nibbles += nibbles.length & 1 ? \"f\" : \"ff\";\n      var out = [30];\n\n      for (i = 0, ii = nibbles.length; i < ii; i += 2) {\n        out.push(parseInt(nibbles.substring(i, i + 2), 16));\n      }\n\n      return out;\n    },\n    encodeInteger: function CFFCompiler_encodeInteger(value) {\n      var code;\n\n      if (value >= -107 && value <= 107) {\n        code = [value + 139];\n      } else if (value >= 108 && value <= 1131) {\n        value = value - 108;\n        code = [(value >> 8) + 247, value & 0xff];\n      } else if (value >= -1131 && value <= -108) {\n        value = -value - 108;\n        code = [(value >> 8) + 251, value & 0xff];\n      } else if (value >= -32768 && value <= 32767) {\n        code = [0x1c, value >> 8 & 0xff, value & 0xff];\n      } else {\n        code = [0x1d, value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff];\n      }\n\n      return code;\n    },\n    compileHeader: function CFFCompiler_compileHeader(header) {\n      return [header.major, header.minor, header.hdrSize, header.offSize];\n    },\n    compileNameIndex: function CFFCompiler_compileNameIndex(names) {\n      var nameIndex = new CFFIndex();\n\n      for (var i = 0, ii = names.length; i < ii; ++i) {\n        var name = names[i];\n        var length = Math.min(name.length, 127);\n        var sanitizedName = new Array(length);\n\n        for (var j = 0; j < length; j++) {\n          var _char = name[j];\n\n          if (_char < \"!\" || _char > \"~\" || _char === \"[\" || _char === \"]\" || _char === \"(\" || _char === \")\" || _char === \"{\" || _char === \"}\" || _char === \"<\" || _char === \">\" || _char === \"/\" || _char === \"%\") {\n            _char = \"_\";\n          }\n\n          sanitizedName[j] = _char;\n        }\n\n        sanitizedName = sanitizedName.join(\"\");\n\n        if (sanitizedName === \"\") {\n          sanitizedName = \"Bad_Font_Name\";\n        }\n\n        nameIndex.add((0, _util.stringToBytes)(sanitizedName));\n      }\n\n      return this.compileIndex(nameIndex);\n    },\n    compileTopDicts: function CFFCompiler_compileTopDicts(dicts, length, removeCidKeys) {\n      var fontDictTrackers = [];\n      var fdArrayIndex = new CFFIndex();\n\n      for (var i = 0, ii = dicts.length; i < ii; ++i) {\n        var fontDict = dicts[i];\n\n        if (removeCidKeys) {\n          fontDict.removeByName(\"CIDFontVersion\");\n          fontDict.removeByName(\"CIDFontRevision\");\n          fontDict.removeByName(\"CIDFontType\");\n          fontDict.removeByName(\"CIDCount\");\n          fontDict.removeByName(\"UIDBase\");\n        }\n\n        var fontDictTracker = new CFFOffsetTracker();\n        var fontDictData = this.compileDict(fontDict, fontDictTracker);\n        fontDictTrackers.push(fontDictTracker);\n        fdArrayIndex.add(fontDictData);\n        fontDictTracker.offset(length);\n      }\n\n      fdArrayIndex = this.compileIndex(fdArrayIndex, fontDictTrackers);\n      return {\n        trackers: fontDictTrackers,\n        output: fdArrayIndex\n      };\n    },\n    compilePrivateDicts: function CFFCompiler_compilePrivateDicts(dicts, trackers, output) {\n      for (var i = 0, ii = dicts.length; i < ii; ++i) {\n        var fontDict = dicts[i];\n        var privateDict = fontDict.privateDict;\n\n        if (!privateDict || !fontDict.hasName(\"Private\")) {\n          throw new _util.FormatError(\"There must be a private dictionary.\");\n        }\n\n        var privateDictTracker = new CFFOffsetTracker();\n        var privateDictData = this.compileDict(privateDict, privateDictTracker);\n        var outputLength = output.length;\n        privateDictTracker.offset(outputLength);\n\n        if (!privateDictData.length) {\n          outputLength = 0;\n        }\n\n        trackers[i].setEntryLocation(\"Private\", [privateDictData.length, outputLength], output);\n        output.add(privateDictData);\n\n        if (privateDict.subrsIndex && privateDict.hasName(\"Subrs\")) {\n          var subrs = this.compileIndex(privateDict.subrsIndex);\n          privateDictTracker.setEntryLocation(\"Subrs\", [privateDictData.length], output);\n          output.add(subrs);\n        }\n      }\n    },\n    compileDict: function CFFCompiler_compileDict(dict, offsetTracker) {\n      var out = [];\n      var order = dict.order;\n\n      for (var i = 0; i < order.length; ++i) {\n        var key = order[i];\n\n        if (!(key in dict.values)) {\n          continue;\n        }\n\n        var values = dict.values[key];\n        var types = dict.types[key];\n\n        if (!Array.isArray(types)) {\n          types = [types];\n        }\n\n        if (!Array.isArray(values)) {\n          values = [values];\n        }\n\n        if (values.length === 0) {\n          continue;\n        }\n\n        for (var j = 0, jj = types.length; j < jj; ++j) {\n          var type = types[j];\n          var value = values[j];\n\n          switch (type) {\n            case \"num\":\n            case \"sid\":\n              out = out.concat(this.encodeNumber(value));\n              break;\n\n            case \"offset\":\n              var name = dict.keyToNameMap[key];\n\n              if (!offsetTracker.isTracking(name)) {\n                offsetTracker.track(name, out.length);\n              }\n\n              out = out.concat([0x1d, 0, 0, 0, 0]);\n              break;\n\n            case \"array\":\n            case \"delta\":\n              out = out.concat(this.encodeNumber(value));\n\n              for (var k = 1, kk = values.length; k < kk; ++k) {\n                out = out.concat(this.encodeNumber(values[k]));\n              }\n\n              break;\n\n            default:\n              throw new _util.FormatError(\"Unknown data type of \".concat(type));\n          }\n        }\n\n        out = out.concat(dict.opcodes[key]);\n      }\n\n      return out;\n    },\n    compileStringIndex: function CFFCompiler_compileStringIndex(strings) {\n      var stringIndex = new CFFIndex();\n\n      for (var i = 0, ii = strings.length; i < ii; ++i) {\n        stringIndex.add((0, _util.stringToBytes)(strings[i]));\n      }\n\n      return this.compileIndex(stringIndex);\n    },\n    compileGlobalSubrIndex: function CFFCompiler_compileGlobalSubrIndex() {\n      var globalSubrIndex = this.cff.globalSubrIndex;\n      this.out.writeByteArray(this.compileIndex(globalSubrIndex));\n    },\n    compileCharStrings: function CFFCompiler_compileCharStrings(charStrings) {\n      var charStringsIndex = new CFFIndex();\n\n      for (var i = 0; i < charStrings.count; i++) {\n        var glyph = charStrings.get(i);\n\n        if (glyph.length === 0) {\n          charStringsIndex.add(new Uint8Array([0x8b, 0x0e]));\n          continue;\n        }\n\n        charStringsIndex.add(glyph);\n      }\n\n      return this.compileIndex(charStringsIndex);\n    },\n    compileCharset: function CFFCompiler_compileCharset(charset, numGlyphs, strings, isCIDFont) {\n      var out;\n      var numGlyphsLessNotDef = numGlyphs - 1;\n\n      if (isCIDFont) {\n        out = new Uint8Array([2, 0, 0, numGlyphsLessNotDef >> 8 & 0xff, numGlyphsLessNotDef & 0xff]);\n      } else {\n        var length = 1 + numGlyphsLessNotDef * 2;\n        out = new Uint8Array(length);\n        out[0] = 0;\n        var charsetIndex = 0;\n        var numCharsets = charset.charset.length;\n        var warned = false;\n\n        for (var i = 1; i < out.length; i += 2) {\n          var sid = 0;\n\n          if (charsetIndex < numCharsets) {\n            var name = charset.charset[charsetIndex++];\n            sid = strings.getSID(name);\n\n            if (sid === -1) {\n              sid = 0;\n\n              if (!warned) {\n                warned = true;\n                (0, _util.warn)(\"Couldn't find \".concat(name, \" in CFF strings\"));\n              }\n            }\n          }\n\n          out[i] = sid >> 8 & 0xff;\n          out[i + 1] = sid & 0xff;\n        }\n      }\n\n      return this.compileTypedArray(out);\n    },\n    compileEncoding: function CFFCompiler_compileEncoding(encoding) {\n      return this.compileTypedArray(encoding.raw);\n    },\n    compileFDSelect: function CFFCompiler_compileFDSelect(fdSelect) {\n      var format = fdSelect.format;\n      var out, i;\n\n      switch (format) {\n        case 0:\n          out = new Uint8Array(1 + fdSelect.fdSelect.length);\n          out[0] = format;\n\n          for (i = 0; i < fdSelect.fdSelect.length; i++) {\n            out[i + 1] = fdSelect.fdSelect[i];\n          }\n\n          break;\n\n        case 3:\n          var start = 0;\n          var lastFD = fdSelect.fdSelect[0];\n          var ranges = [format, 0, 0, start >> 8 & 0xff, start & 0xff, lastFD];\n\n          for (i = 1; i < fdSelect.fdSelect.length; i++) {\n            var currentFD = fdSelect.fdSelect[i];\n\n            if (currentFD !== lastFD) {\n              ranges.push(i >> 8 & 0xff, i & 0xff, currentFD);\n              lastFD = currentFD;\n            }\n          }\n\n          var numRanges = (ranges.length - 3) / 3;\n          ranges[1] = numRanges >> 8 & 0xff;\n          ranges[2] = numRanges & 0xff;\n          ranges.push(i >> 8 & 0xff, i & 0xff);\n          out = new Uint8Array(ranges);\n          break;\n      }\n\n      return this.compileTypedArray(out);\n    },\n    compileTypedArray: function CFFCompiler_compileTypedArray(data) {\n      var out = [];\n\n      for (var i = 0, ii = data.length; i < ii; ++i) {\n        out[i] = data[i];\n      }\n\n      return out;\n    },\n    compileIndex: function CFFCompiler_compileIndex(index, trackers) {\n      trackers = trackers || [];\n      var objects = index.objects;\n      var count = objects.length;\n\n      if (count === 0) {\n        return [0, 0, 0];\n      }\n\n      var data = [count >> 8 & 0xff, count & 0xff];\n      var lastOffset = 1,\n          i;\n\n      for (i = 0; i < count; ++i) {\n        lastOffset += objects[i].length;\n      }\n\n      var offsetSize;\n\n      if (lastOffset < 0x100) {\n        offsetSize = 1;\n      } else if (lastOffset < 0x10000) {\n        offsetSize = 2;\n      } else if (lastOffset < 0x1000000) {\n        offsetSize = 3;\n      } else {\n        offsetSize = 4;\n      }\n\n      data.push(offsetSize);\n      var relativeOffset = 1;\n\n      for (i = 0; i < count + 1; i++) {\n        if (offsetSize === 1) {\n          data.push(relativeOffset & 0xff);\n        } else if (offsetSize === 2) {\n          data.push(relativeOffset >> 8 & 0xff, relativeOffset & 0xff);\n        } else if (offsetSize === 3) {\n          data.push(relativeOffset >> 16 & 0xff, relativeOffset >> 8 & 0xff, relativeOffset & 0xff);\n        } else {\n          data.push(relativeOffset >>> 24 & 0xff, relativeOffset >> 16 & 0xff, relativeOffset >> 8 & 0xff, relativeOffset & 0xff);\n        }\n\n        if (objects[i]) {\n          relativeOffset += objects[i].length;\n        }\n      }\n\n      for (i = 0; i < count; i++) {\n        if (trackers[i]) {\n          trackers[i].offset(data.length);\n        }\n\n        for (var j = 0, jj = objects[i].length; j < jj; j++) {\n          data.push(objects[i][j]);\n        }\n      }\n\n      return data;\n    }\n  };\n  return CFFCompiler;\n}();\n\nexports.CFFCompiler = CFFCompiler;\n\n/***/ }),\n/* 224 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.ExpertSubsetCharset = exports.ExpertCharset = exports.ISOAdobeCharset = void 0;\nvar ISOAdobeCharset = [\".notdef\", \"space\", \"exclam\", \"quotedbl\", \"numbersign\", \"dollar\", \"percent\", \"ampersand\", \"quoteright\", \"parenleft\", \"parenright\", \"asterisk\", \"plus\", \"comma\", \"hyphen\", \"period\", \"slash\", \"zero\", \"one\", \"two\", \"three\", \"four\", \"five\", \"six\", \"seven\", \"eight\", \"nine\", \"colon\", \"semicolon\", \"less\", \"equal\", \"greater\", \"question\", \"at\", \"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\", \"I\", \"J\", \"K\", \"L\", \"M\", \"N\", \"O\", \"P\", \"Q\", \"R\", \"S\", \"T\", \"U\", \"V\", \"W\", \"X\", \"Y\", \"Z\", \"bracketleft\", \"backslash\", \"bracketright\", \"asciicircum\", \"underscore\", \"quoteleft\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\", \"g\", \"h\", \"i\", \"j\", \"k\", \"l\", \"m\", \"n\", \"o\", \"p\", \"q\", \"r\", \"s\", \"t\", \"u\", \"v\", \"w\", \"x\", \"y\", \"z\", \"braceleft\", \"bar\", \"braceright\", \"asciitilde\", \"exclamdown\", \"cent\", \"sterling\", \"fraction\", \"yen\", \"florin\", \"section\", \"currency\", \"quotesingle\", \"quotedblleft\", \"guillemotleft\", \"guilsinglleft\", \"guilsinglright\", \"fi\", \"fl\", \"endash\", \"dagger\", \"daggerdbl\", \"periodcentered\", \"paragraph\", \"bullet\", \"quotesinglbase\", \"quotedblbase\", \"quotedblright\", \"guillemotright\", \"ellipsis\", \"perthousand\", \"questiondown\", \"grave\", \"acute\", \"circumflex\", \"tilde\", \"macron\", \"breve\", \"dotaccent\", \"dieresis\", \"ring\", \"cedilla\", \"hungarumlaut\", \"ogonek\", \"caron\", \"emdash\", \"AE\", \"ordfeminine\", \"Lslash\", \"Oslash\", \"OE\", \"ordmasculine\", \"ae\", \"dotlessi\", \"lslash\", \"oslash\", \"oe\", \"germandbls\", \"onesuperior\", \"logicalnot\", \"mu\", \"trademark\", \"Eth\", \"onehalf\", \"plusminus\", \"Thorn\", \"onequarter\", \"divide\", \"brokenbar\", \"degree\", \"thorn\", \"threequarters\", \"twosuperior\", \"registered\", \"minus\", \"eth\", \"multiply\", \"threesuperior\", \"copyright\", \"Aacute\", \"Acircumflex\", \"Adieresis\", \"Agrave\", \"Aring\", \"Atilde\", \"Ccedilla\", \"Eacute\", \"Ecircumflex\", \"Edieresis\", \"Egrave\", \"Iacute\", \"Icircumflex\", \"Idieresis\", \"Igrave\", \"Ntilde\", \"Oacute\", \"Ocircumflex\", \"Odieresis\", \"Ograve\", \"Otilde\", \"Scaron\", \"Uacute\", \"Ucircumflex\", \"Udieresis\", \"Ugrave\", \"Yacute\", \"Ydieresis\", \"Zcaron\", \"aacute\", \"acircumflex\", \"adieresis\", \"agrave\", \"aring\", \"atilde\", \"ccedilla\", \"eacute\", \"ecircumflex\", \"edieresis\", \"egrave\", \"iacute\", \"icircumflex\", \"idieresis\", \"igrave\", \"ntilde\", \"oacute\", \"ocircumflex\", \"odieresis\", \"ograve\", \"otilde\", \"scaron\", \"uacute\", \"ucircumflex\", \"udieresis\", \"ugrave\", \"yacute\", \"ydieresis\", \"zcaron\"];\nexports.ISOAdobeCharset = ISOAdobeCharset;\nvar ExpertCharset = [\".notdef\", \"space\", \"exclamsmall\", \"Hungarumlautsmall\", \"dollaroldstyle\", \"dollarsuperior\", \"ampersandsmall\", \"Acutesmall\", \"parenleftsuperior\", \"parenrightsuperior\", \"twodotenleader\", \"onedotenleader\", \"comma\", \"hyphen\", \"period\", \"fraction\", \"zerooldstyle\", \"oneoldstyle\", \"twooldstyle\", \"threeoldstyle\", \"fouroldstyle\", \"fiveoldstyle\", \"sixoldstyle\", \"sevenoldstyle\", \"eightoldstyle\", \"nineoldstyle\", \"colon\", \"semicolon\", \"commasuperior\", \"threequartersemdash\", \"periodsuperior\", \"questionsmall\", \"asuperior\", \"bsuperior\", \"centsuperior\", \"dsuperior\", \"esuperior\", \"isuperior\", \"lsuperior\", \"msuperior\", \"nsuperior\", \"osuperior\", \"rsuperior\", \"ssuperior\", \"tsuperior\", \"ff\", \"fi\", \"fl\", \"ffi\", \"ffl\", \"parenleftinferior\", \"parenrightinferior\", \"Circumflexsmall\", \"hyphensuperior\", \"Gravesmall\", \"Asmall\", \"Bsmall\", \"Csmall\", \"Dsmall\", \"Esmall\", \"Fsmall\", \"Gsmall\", \"Hsmall\", \"Ismall\", \"Jsmall\", \"Ksmall\", \"Lsmall\", \"Msmall\", \"Nsmall\", \"Osmall\", \"Psmall\", \"Qsmall\", \"Rsmall\", \"Ssmall\", \"Tsmall\", \"Usmall\", \"Vsmall\", \"Wsmall\", \"Xsmall\", \"Ysmall\", \"Zsmall\", \"colonmonetary\", \"onefitted\", \"rupiah\", \"Tildesmall\", \"exclamdownsmall\", \"centoldstyle\", \"Lslashsmall\", \"Scaronsmall\", \"Zcaronsmall\", \"Dieresissmall\", \"Brevesmall\", \"Caronsmall\", \"Dotaccentsmall\", \"Macronsmall\", \"figuredash\", \"hypheninferior\", \"Ogoneksmall\", \"Ringsmall\", \"Cedillasmall\", \"onequarter\", \"onehalf\", \"threequarters\", \"questiondownsmall\", \"oneeighth\", \"threeeighths\", \"fiveeighths\", \"seveneighths\", \"onethird\", \"twothirds\", \"zerosuperior\", \"onesuperior\", \"twosuperior\", \"threesuperior\", \"foursuperior\", \"fivesuperior\", \"sixsuperior\", \"sevensuperior\", \"eightsuperior\", \"ninesuperior\", \"zeroinferior\", \"oneinferior\", \"twoinferior\", \"threeinferior\", \"fourinferior\", \"fiveinferior\", \"sixinferior\", \"seveninferior\", \"eightinferior\", \"nineinferior\", \"centinferior\", \"dollarinferior\", \"periodinferior\", \"commainferior\", \"Agravesmall\", \"Aacutesmall\", \"Acircumflexsmall\", \"Atildesmall\", \"Adieresissmall\", \"Aringsmall\", \"AEsmall\", \"Ccedillasmall\", \"Egravesmall\", \"Eacutesmall\", \"Ecircumflexsmall\", \"Edieresissmall\", \"Igravesmall\", \"Iacutesmall\", \"Icircumflexsmall\", \"Idieresissmall\", \"Ethsmall\", \"Ntildesmall\", \"Ogravesmall\", \"Oacutesmall\", \"Ocircumflexsmall\", \"Otildesmall\", \"Odieresissmall\", \"OEsmall\", \"Oslashsmall\", \"Ugravesmall\", \"Uacutesmall\", \"Ucircumflexsmall\", \"Udieresissmall\", \"Yacutesmall\", \"Thornsmall\", \"Ydieresissmall\"];\nexports.ExpertCharset = ExpertCharset;\nvar ExpertSubsetCharset = [\".notdef\", \"space\", \"dollaroldstyle\", \"dollarsuperior\", \"parenleftsuperior\", \"parenrightsuperior\", \"twodotenleader\", \"onedotenleader\", \"comma\", \"hyphen\", \"period\", \"fraction\", \"zerooldstyle\", \"oneoldstyle\", \"twooldstyle\", \"threeoldstyle\", \"fouroldstyle\", \"fiveoldstyle\", \"sixoldstyle\", \"sevenoldstyle\", \"eightoldstyle\", \"nineoldstyle\", \"colon\", \"semicolon\", \"commasuperior\", \"threequartersemdash\", \"periodsuperior\", \"asuperior\", \"bsuperior\", \"centsuperior\", \"dsuperior\", \"esuperior\", \"isuperior\", \"lsuperior\", \"msuperior\", \"nsuperior\", \"osuperior\", \"rsuperior\", \"ssuperior\", \"tsuperior\", \"ff\", \"fi\", \"fl\", \"ffi\", \"ffl\", \"parenleftinferior\", \"parenrightinferior\", \"hyphensuperior\", \"colonmonetary\", \"onefitted\", \"rupiah\", \"centoldstyle\", \"figuredash\", \"hypheninferior\", \"onequarter\", \"onehalf\", \"threequarters\", \"oneeighth\", \"threeeighths\", \"fiveeighths\", \"seveneighths\", \"onethird\", \"twothirds\", \"zerosuperior\", \"onesuperior\", \"twosuperior\", \"threesuperior\", \"foursuperior\", \"fivesuperior\", \"sixsuperior\", \"sevensuperior\", \"eightsuperior\", \"ninesuperior\", \"zeroinferior\", \"oneinferior\", \"twoinferior\", \"threeinferior\", \"fourinferior\", \"fiveinferior\", \"sixinferior\", \"seveninferior\", \"eightinferior\", \"nineinferior\", \"centinferior\", \"dollarinferior\", \"periodinferior\", \"commainferior\"];\nexports.ExpertSubsetCharset = ExpertSubsetCharset;\n\n/***/ }),\n/* 225 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.getEncoding = getEncoding;\nexports.ExpertEncoding = exports.ZapfDingbatsEncoding = exports.SymbolSetEncoding = exports.MacRomanEncoding = exports.StandardEncoding = exports.WinAnsiEncoding = void 0;\nvar ExpertEncoding = [\"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"space\", \"exclamsmall\", \"Hungarumlautsmall\", \"\", \"dollaroldstyle\", \"dollarsuperior\", \"ampersandsmall\", \"Acutesmall\", \"parenleftsuperior\", \"parenrightsuperior\", \"twodotenleader\", \"onedotenleader\", \"comma\", \"hyphen\", \"period\", \"fraction\", \"zerooldstyle\", \"oneoldstyle\", \"twooldstyle\", \"threeoldstyle\", \"fouroldstyle\", \"fiveoldstyle\", \"sixoldstyle\", \"sevenoldstyle\", \"eightoldstyle\", \"nineoldstyle\", \"colon\", \"semicolon\", \"commasuperior\", \"threequartersemdash\", \"periodsuperior\", \"questionsmall\", \"\", \"asuperior\", \"bsuperior\", \"centsuperior\", \"dsuperior\", \"esuperior\", \"\", \"\", \"\", \"isuperior\", \"\", \"\", \"lsuperior\", \"msuperior\", \"nsuperior\", \"osuperior\", \"\", \"\", \"rsuperior\", \"ssuperior\", \"tsuperior\", \"\", \"ff\", \"fi\", \"fl\", \"ffi\", \"ffl\", \"parenleftinferior\", \"\", \"parenrightinferior\", \"Circumflexsmall\", \"hyphensuperior\", \"Gravesmall\", \"Asmall\", \"Bsmall\", \"Csmall\", \"Dsmall\", \"Esmall\", \"Fsmall\", \"Gsmall\", \"Hsmall\", \"Ismall\", \"Jsmall\", \"Ksmall\", \"Lsmall\", \"Msmall\", \"Nsmall\", \"Osmall\", \"Psmall\", \"Qsmall\", \"Rsmall\", \"Ssmall\", \"Tsmall\", \"Usmall\", \"Vsmall\", \"Wsmall\", \"Xsmall\", \"Ysmall\", \"Zsmall\", \"colonmonetary\", \"onefitted\", \"rupiah\", \"Tildesmall\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"exclamdownsmall\", \"centoldstyle\", \"Lslashsmall\", \"\", \"\", \"Scaronsmall\", \"Zcaronsmall\", \"Dieresissmall\", \"Brevesmall\", \"Caronsmall\", \"\", \"Dotaccentsmall\", \"\", \"\", \"Macronsmall\", \"\", \"\", \"figuredash\", \"hypheninferior\", \"\", \"\", \"Ogoneksmall\", \"Ringsmall\", \"Cedillasmall\", \"\", \"\", \"\", \"onequarter\", \"onehalf\", \"threequarters\", \"questiondownsmall\", \"oneeighth\", \"threeeighths\", \"fiveeighths\", \"seveneighths\", \"onethird\", \"twothirds\", \"\", \"\", \"zerosuperior\", \"onesuperior\", \"twosuperior\", \"threesuperior\", \"foursuperior\", \"fivesuperior\", \"sixsuperior\", \"sevensuperior\", \"eightsuperior\", \"ninesuperior\", \"zeroinferior\", \"oneinferior\", \"twoinferior\", \"threeinferior\", \"fourinferior\", \"fiveinferior\", \"sixinferior\", \"seveninferior\", \"eightinferior\", \"nineinferior\", \"centinferior\", \"dollarinferior\", \"periodinferior\", \"commainferior\", \"Agravesmall\", \"Aacutesmall\", \"Acircumflexsmall\", \"Atildesmall\", \"Adieresissmall\", \"Aringsmall\", \"AEsmall\", \"Ccedillasmall\", \"Egravesmall\", \"Eacutesmall\", \"Ecircumflexsmall\", \"Edieresissmall\", \"Igravesmall\", \"Iacutesmall\", \"Icircumflexsmall\", \"Idieresissmall\", \"Ethsmall\", \"Ntildesmall\", \"Ogravesmall\", \"Oacutesmall\", \"Ocircumflexsmall\", \"Otildesmall\", \"Odieresissmall\", \"OEsmall\", \"Oslashsmall\", \"Ugravesmall\", \"Uacutesmall\", \"Ucircumflexsmall\", \"Udieresissmall\", \"Yacutesmall\", \"Thornsmall\", \"Ydieresissmall\"];\nexports.ExpertEncoding = ExpertEncoding;\nvar MacExpertEncoding = [\"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"space\", \"exclamsmall\", \"Hungarumlautsmall\", \"centoldstyle\", \"dollaroldstyle\", \"dollarsuperior\", \"ampersandsmall\", \"Acutesmall\", \"parenleftsuperior\", \"parenrightsuperior\", \"twodotenleader\", \"onedotenleader\", \"comma\", \"hyphen\", \"period\", \"fraction\", \"zerooldstyle\", \"oneoldstyle\", \"twooldstyle\", \"threeoldstyle\", \"fouroldstyle\", \"fiveoldstyle\", \"sixoldstyle\", \"sevenoldstyle\", \"eightoldstyle\", \"nineoldstyle\", \"colon\", \"semicolon\", \"\", \"threequartersemdash\", \"\", \"questionsmall\", \"\", \"\", \"\", \"\", \"Ethsmall\", \"\", \"\", \"onequarter\", \"onehalf\", \"threequarters\", \"oneeighth\", \"threeeighths\", \"fiveeighths\", \"seveneighths\", \"onethird\", \"twothirds\", \"\", \"\", \"\", \"\", \"\", \"\", \"ff\", \"fi\", \"fl\", \"ffi\", \"ffl\", \"parenleftinferior\", \"\", \"parenrightinferior\", \"Circumflexsmall\", \"hypheninferior\", \"Gravesmall\", \"Asmall\", \"Bsmall\", \"Csmall\", \"Dsmall\", \"Esmall\", \"Fsmall\", \"Gsmall\", \"Hsmall\", \"Ismall\", \"Jsmall\", \"Ksmall\", \"Lsmall\", \"Msmall\", \"Nsmall\", \"Osmall\", \"Psmall\", \"Qsmall\", \"Rsmall\", \"Ssmall\", \"Tsmall\", \"Usmall\", \"Vsmall\", \"Wsmall\", \"Xsmall\", \"Ysmall\", \"Zsmall\", \"colonmonetary\", \"onefitted\", \"rupiah\", \"Tildesmall\", \"\", \"\", \"asuperior\", \"centsuperior\", \"\", \"\", \"\", \"\", \"Aacutesmall\", \"Agravesmall\", \"Acircumflexsmall\", \"Adieresissmall\", \"Atildesmall\", \"Aringsmall\", \"Ccedillasmall\", \"Eacutesmall\", \"Egravesmall\", \"Ecircumflexsmall\", \"Edieresissmall\", \"Iacutesmall\", \"Igravesmall\", \"Icircumflexsmall\", \"Idieresissmall\", \"Ntildesmall\", \"Oacutesmall\", \"Ogravesmall\", \"Ocircumflexsmall\", \"Odieresissmall\", \"Otildesmall\", \"Uacutesmall\", \"Ugravesmall\", \"Ucircumflexsmall\", \"Udieresissmall\", \"\", \"eightsuperior\", \"fourinferior\", \"threeinferior\", \"sixinferior\", \"eightinferior\", \"seveninferior\", \"Scaronsmall\", \"\", \"centinferior\", \"twoinferior\", \"\", \"Dieresissmall\", \"\", \"Caronsmall\", \"osuperior\", \"fiveinferior\", \"\", \"commainferior\", \"periodinferior\", \"Yacutesmall\", \"\", \"dollarinferior\", \"\", \"\", \"Thornsmall\", \"\", \"nineinferior\", \"zeroinferior\", \"Zcaronsmall\", \"AEsmall\", \"Oslashsmall\", \"questiondownsmall\", \"oneinferior\", \"Lslashsmall\", \"\", \"\", \"\", \"\", \"\", \"\", \"Cedillasmall\", \"\", \"\", \"\", \"\", \"\", \"OEsmall\", \"figuredash\", \"hyphensuperior\", \"\", \"\", \"\", \"\", \"exclamdownsmall\", \"\", \"Ydieresissmall\", \"\", \"onesuperior\", \"twosuperior\", \"threesuperior\", \"foursuperior\", \"fivesuperior\", \"sixsuperior\", \"sevensuperior\", \"ninesuperior\", \"zerosuperior\", \"\", \"esuperior\", \"rsuperior\", \"tsuperior\", \"\", \"\", \"isuperior\", \"ssuperior\", \"dsuperior\", \"\", \"\", \"\", \"\", \"\", \"lsuperior\", \"Ogoneksmall\", \"Brevesmall\", \"Macronsmall\", \"bsuperior\", \"nsuperior\", \"msuperior\", \"commasuperior\", \"periodsuperior\", \"Dotaccentsmall\", \"Ringsmall\", \"\", \"\", \"\", \"\"];\nvar MacRomanEncoding = [\"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"space\", \"exclam\", \"quotedbl\", \"numbersign\", \"dollar\", \"percent\", \"ampersand\", \"quotesingle\", \"parenleft\", \"parenright\", \"asterisk\", \"plus\", \"comma\", \"hyphen\", \"period\", \"slash\", \"zero\", \"one\", \"two\", \"three\", \"four\", \"five\", \"six\", \"seven\", \"eight\", \"nine\", \"colon\", \"semicolon\", \"less\", \"equal\", \"greater\", \"question\", \"at\", \"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\", \"I\", \"J\", \"K\", \"L\", \"M\", \"N\", \"O\", \"P\", \"Q\", \"R\", \"S\", \"T\", \"U\", \"V\", \"W\", \"X\", \"Y\", \"Z\", \"bracketleft\", \"backslash\", \"bracketright\", \"asciicircum\", \"underscore\", \"grave\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\", \"g\", \"h\", \"i\", \"j\", \"k\", \"l\", \"m\", \"n\", \"o\", \"p\", \"q\", \"r\", \"s\", \"t\", \"u\", \"v\", \"w\", \"x\", \"y\", \"z\", \"braceleft\", \"bar\", \"braceright\", \"asciitilde\", \"\", \"Adieresis\", \"Aring\", \"Ccedilla\", \"Eacute\", \"Ntilde\", \"Odieresis\", \"Udieresis\", \"aacute\", \"agrave\", \"acircumflex\", \"adieresis\", \"atilde\", \"aring\", \"ccedilla\", \"eacute\", \"egrave\", \"ecircumflex\", \"edieresis\", \"iacute\", \"igrave\", \"icircumflex\", \"idieresis\", \"ntilde\", \"oacute\", \"ograve\", \"ocircumflex\", \"odieresis\", \"otilde\", \"uacute\", \"ugrave\", \"ucircumflex\", \"udieresis\", \"dagger\", \"degree\", \"cent\", \"sterling\", \"section\", \"bullet\", \"paragraph\", \"germandbls\", \"registered\", \"copyright\", \"trademark\", \"acute\", \"dieresis\", \"notequal\", \"AE\", \"Oslash\", \"infinity\", \"plusminus\", \"lessequal\", \"greaterequal\", \"yen\", \"mu\", \"partialdiff\", \"summation\", \"product\", \"pi\", \"integral\", \"ordfeminine\", \"ordmasculine\", \"Omega\", \"ae\", \"oslash\", \"questiondown\", \"exclamdown\", \"logicalnot\", \"radical\", \"florin\", \"approxequal\", \"Delta\", \"guillemotleft\", \"guillemotright\", \"ellipsis\", \"space\", \"Agrave\", \"Atilde\", \"Otilde\", \"OE\", \"oe\", \"endash\", \"emdash\", \"quotedblleft\", \"quotedblright\", \"quoteleft\", \"quoteright\", \"divide\", \"lozenge\", \"ydieresis\", \"Ydieresis\", \"fraction\", \"currency\", \"guilsinglleft\", \"guilsinglright\", \"fi\", \"fl\", \"daggerdbl\", \"periodcentered\", \"quotesinglbase\", \"quotedblbase\", \"perthousand\", \"Acircumflex\", \"Ecircumflex\", \"Aacute\", \"Edieresis\", \"Egrave\", \"Iacute\", \"Icircumflex\", \"Idieresis\", \"Igrave\", \"Oacute\", \"Ocircumflex\", \"apple\", \"Ograve\", \"Uacute\", \"Ucircumflex\", \"Ugrave\", \"dotlessi\", \"circumflex\", \"tilde\", \"macron\", \"breve\", \"dotaccent\", \"ring\", \"cedilla\", \"hungarumlaut\", \"ogonek\", \"caron\"];\nexports.MacRomanEncoding = MacRomanEncoding;\nvar StandardEncoding = [\"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"space\", \"exclam\", \"quotedbl\", \"numbersign\", \"dollar\", \"percent\", \"ampersand\", \"quoteright\", \"parenleft\", \"parenright\", \"asterisk\", \"plus\", \"comma\", \"hyphen\", \"period\", \"slash\", \"zero\", \"one\", \"two\", \"three\", \"four\", \"five\", \"six\", \"seven\", \"eight\", \"nine\", \"colon\", \"semicolon\", \"less\", \"equal\", \"greater\", \"question\", \"at\", \"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\", \"I\", \"J\", \"K\", \"L\", \"M\", \"N\", \"O\", \"P\", \"Q\", \"R\", \"S\", \"T\", \"U\", \"V\", \"W\", \"X\", \"Y\", \"Z\", \"bracketleft\", \"backslash\", \"bracketright\", \"asciicircum\", \"underscore\", \"quoteleft\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\", \"g\", \"h\", \"i\", \"j\", \"k\", \"l\", \"m\", \"n\", \"o\", \"p\", \"q\", \"r\", \"s\", \"t\", \"u\", \"v\", \"w\", \"x\", \"y\", \"z\", \"braceleft\", \"bar\", \"braceright\", \"asciitilde\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"exclamdown\", \"cent\", \"sterling\", \"fraction\", \"yen\", \"florin\", \"section\", \"currency\", \"quotesingle\", \"quotedblleft\", \"guillemotleft\", \"guilsinglleft\", \"guilsinglright\", \"fi\", \"fl\", \"\", \"endash\", \"dagger\", \"daggerdbl\", \"periodcentered\", \"\", \"paragraph\", \"bullet\", \"quotesinglbase\", \"quotedblbase\", \"quotedblright\", \"guillemotright\", \"ellipsis\", \"perthousand\", \"\", \"questiondown\", \"\", \"grave\", \"acute\", \"circumflex\", \"tilde\", \"macron\", \"breve\", \"dotaccent\", \"dieresis\", \"\", \"ring\", \"cedilla\", \"\", \"hungarumlaut\", \"ogonek\", \"caron\", \"emdash\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"AE\", \"\", \"ordfeminine\", \"\", \"\", \"\", \"\", \"Lslash\", \"Oslash\", \"OE\", \"ordmasculine\", \"\", \"\", \"\", \"\", \"\", \"ae\", \"\", \"\", \"\", \"dotlessi\", \"\", \"\", \"lslash\", \"oslash\", \"oe\", \"germandbls\", \"\", \"\", \"\", \"\"];\nexports.StandardEncoding = StandardEncoding;\nvar WinAnsiEncoding = [\"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"space\", \"exclam\", \"quotedbl\", \"numbersign\", \"dollar\", \"percent\", \"ampersand\", \"quotesingle\", \"parenleft\", \"parenright\", \"asterisk\", \"plus\", \"comma\", \"hyphen\", \"period\", \"slash\", \"zero\", \"one\", \"two\", \"three\", \"four\", \"five\", \"six\", \"seven\", \"eight\", \"nine\", \"colon\", \"semicolon\", \"less\", \"equal\", \"greater\", \"question\", \"at\", \"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\", \"I\", \"J\", \"K\", \"L\", \"M\", \"N\", \"O\", \"P\", \"Q\", \"R\", \"S\", \"T\", \"U\", \"V\", \"W\", \"X\", \"Y\", \"Z\", \"bracketleft\", \"backslash\", \"bracketright\", \"asciicircum\", \"underscore\", \"grave\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\", \"g\", \"h\", \"i\", \"j\", \"k\", \"l\", \"m\", \"n\", \"o\", \"p\", \"q\", \"r\", \"s\", \"t\", \"u\", \"v\", \"w\", \"x\", \"y\", \"z\", \"braceleft\", \"bar\", \"braceright\", \"asciitilde\", \"bullet\", \"Euro\", \"bullet\", \"quotesinglbase\", \"florin\", \"quotedblbase\", \"ellipsis\", \"dagger\", \"daggerdbl\", \"circumflex\", \"perthousand\", \"Scaron\", \"guilsinglleft\", \"OE\", \"bullet\", \"Zcaron\", \"bullet\", \"bullet\", \"quoteleft\", \"quoteright\", \"quotedblleft\", \"quotedblright\", \"bullet\", \"endash\", \"emdash\", \"tilde\", \"trademark\", \"scaron\", \"guilsinglright\", \"oe\", \"bullet\", \"zcaron\", \"Ydieresis\", \"space\", \"exclamdown\", \"cent\", \"sterling\", \"currency\", \"yen\", \"brokenbar\", \"section\", \"dieresis\", \"copyright\", \"ordfeminine\", \"guillemotleft\", \"logicalnot\", \"hyphen\", \"registered\", \"macron\", \"degree\", \"plusminus\", \"twosuperior\", \"threesuperior\", \"acute\", \"mu\", \"paragraph\", \"periodcentered\", \"cedilla\", \"onesuperior\", \"ordmasculine\", \"guillemotright\", \"onequarter\", \"onehalf\", \"threequarters\", \"questiondown\", \"Agrave\", \"Aacute\", \"Acircumflex\", \"Atilde\", \"Adieresis\", \"Aring\", \"AE\", \"Ccedilla\", \"Egrave\", \"Eacute\", \"Ecircumflex\", \"Edieresis\", \"Igrave\", \"Iacute\", \"Icircumflex\", \"Idieresis\", \"Eth\", \"Ntilde\", \"Ograve\", \"Oacute\", \"Ocircumflex\", \"Otilde\", \"Odieresis\", \"multiply\", \"Oslash\", \"Ugrave\", \"Uacute\", \"Ucircumflex\", \"Udieresis\", \"Yacute\", \"Thorn\", \"germandbls\", \"agrave\", \"aacute\", \"acircumflex\", \"atilde\", \"adieresis\", \"aring\", \"ae\", \"ccedilla\", \"egrave\", \"eacute\", \"ecircumflex\", \"edieresis\", \"igrave\", \"iacute\", \"icircumflex\", \"idieresis\", \"eth\", \"ntilde\", \"ograve\", \"oacute\", \"ocircumflex\", \"otilde\", \"odieresis\", \"divide\", \"oslash\", \"ugrave\", \"uacute\", \"ucircumflex\", \"udieresis\", \"yacute\", \"thorn\", \"ydieresis\"];\nexports.WinAnsiEncoding = WinAnsiEncoding;\nvar SymbolSetEncoding = [\"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"space\", \"exclam\", \"universal\", \"numbersign\", \"existential\", \"percent\", \"ampersand\", \"suchthat\", \"parenleft\", \"parenright\", \"asteriskmath\", \"plus\", \"comma\", \"minus\", \"period\", \"slash\", \"zero\", \"one\", \"two\", \"three\", \"four\", \"five\", \"six\", \"seven\", \"eight\", \"nine\", \"colon\", \"semicolon\", \"less\", \"equal\", \"greater\", \"question\", \"congruent\", \"Alpha\", \"Beta\", \"Chi\", \"Delta\", \"Epsilon\", \"Phi\", \"Gamma\", \"Eta\", \"Iota\", \"theta1\", \"Kappa\", \"Lambda\", \"Mu\", \"Nu\", \"Omicron\", \"Pi\", \"Theta\", \"Rho\", \"Sigma\", \"Tau\", \"Upsilon\", \"sigma1\", \"Omega\", \"Xi\", \"Psi\", \"Zeta\", \"bracketleft\", \"therefore\", \"bracketright\", \"perpendicular\", \"underscore\", \"radicalex\", \"alpha\", \"beta\", \"chi\", \"delta\", \"epsilon\", \"phi\", \"gamma\", \"eta\", \"iota\", \"phi1\", \"kappa\", \"lambda\", \"mu\", \"nu\", \"omicron\", \"pi\", \"theta\", \"rho\", \"sigma\", \"tau\", \"upsilon\", \"omega1\", \"omega\", \"xi\", \"psi\", \"zeta\", \"braceleft\", \"bar\", \"braceright\", \"similar\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"Euro\", \"Upsilon1\", \"minute\", \"lessequal\", \"fraction\", \"infinity\", \"florin\", \"club\", \"diamond\", \"heart\", \"spade\", \"arrowboth\", \"arrowleft\", \"arrowup\", \"arrowright\", \"arrowdown\", \"degree\", \"plusminus\", \"second\", \"greaterequal\", \"multiply\", \"proportional\", \"partialdiff\", \"bullet\", \"divide\", \"notequal\", \"equivalence\", \"approxequal\", \"ellipsis\", \"arrowvertex\", \"arrowhorizex\", \"carriagereturn\", \"aleph\", \"Ifraktur\", \"Rfraktur\", \"weierstrass\", \"circlemultiply\", \"circleplus\", \"emptyset\", \"intersection\", \"union\", \"propersuperset\", \"reflexsuperset\", \"notsubset\", \"propersubset\", \"reflexsubset\", \"element\", \"notelement\", \"angle\", \"gradient\", \"registerserif\", \"copyrightserif\", \"trademarkserif\", \"product\", \"radical\", \"dotmath\", \"logicalnot\", \"logicaland\", \"logicalor\", \"arrowdblboth\", \"arrowdblleft\", \"arrowdblup\", \"arrowdblright\", \"arrowdbldown\", \"lozenge\", \"angleleft\", \"registersans\", \"copyrightsans\", \"trademarksans\", \"summation\", \"parenlefttp\", \"parenleftex\", \"parenleftbt\", \"bracketlefttp\", \"bracketleftex\", \"bracketleftbt\", \"bracelefttp\", \"braceleftmid\", \"braceleftbt\", \"braceex\", \"\", \"angleright\", \"integral\", \"integraltp\", \"integralex\", \"integralbt\", \"parenrighttp\", \"parenrightex\", \"parenrightbt\", \"bracketrighttp\", \"bracketrightex\", \"bracketrightbt\", \"bracerighttp\", \"bracerightmid\", \"bracerightbt\", \"\"];\nexports.SymbolSetEncoding = SymbolSetEncoding;\nvar ZapfDingbatsEncoding = [\"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"space\", \"a1\", \"a2\", \"a202\", \"a3\", \"a4\", \"a5\", \"a119\", \"a118\", \"a117\", \"a11\", \"a12\", \"a13\", \"a14\", \"a15\", \"a16\", \"a105\", \"a17\", \"a18\", \"a19\", \"a20\", \"a21\", \"a22\", \"a23\", \"a24\", \"a25\", \"a26\", \"a27\", \"a28\", \"a6\", \"a7\", \"a8\", \"a9\", \"a10\", \"a29\", \"a30\", \"a31\", \"a32\", \"a33\", \"a34\", \"a35\", \"a36\", \"a37\", \"a38\", \"a39\", \"a40\", \"a41\", \"a42\", \"a43\", \"a44\", \"a45\", \"a46\", \"a47\", \"a48\", \"a49\", \"a50\", \"a51\", \"a52\", \"a53\", \"a54\", \"a55\", \"a56\", \"a57\", \"a58\", \"a59\", \"a60\", \"a61\", \"a62\", \"a63\", \"a64\", \"a65\", \"a66\", \"a67\", \"a68\", \"a69\", \"a70\", \"a71\", \"a72\", \"a73\", \"a74\", \"a203\", \"a75\", \"a204\", \"a76\", \"a77\", \"a78\", \"a79\", \"a81\", \"a82\", \"a83\", \"a84\", \"a97\", \"a98\", \"a99\", \"a100\", \"\", \"a89\", \"a90\", \"a93\", \"a94\", \"a91\", \"a92\", \"a205\", \"a85\", \"a206\", \"a86\", \"a87\", \"a88\", \"a95\", \"a96\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"a101\", \"a102\", \"a103\", \"a104\", \"a106\", \"a107\", \"a108\", \"a112\", \"a111\", \"a110\", \"a109\", \"a120\", \"a121\", \"a122\", \"a123\", \"a124\", \"a125\", \"a126\", \"a127\", \"a128\", \"a129\", \"a130\", \"a131\", \"a132\", \"a133\", \"a134\", \"a135\", \"a136\", \"a137\", \"a138\", \"a139\", \"a140\", \"a141\", \"a142\", \"a143\", \"a144\", \"a145\", \"a146\", \"a147\", \"a148\", \"a149\", \"a150\", \"a151\", \"a152\", \"a153\", \"a154\", \"a155\", \"a156\", \"a157\", \"a158\", \"a159\", \"a160\", \"a161\", \"a163\", \"a164\", \"a196\", \"a165\", \"a192\", \"a166\", \"a167\", \"a168\", \"a169\", \"a170\", \"a171\", \"a172\", \"a173\", \"a162\", \"a174\", \"a175\", \"a176\", \"a177\", \"a178\", \"a179\", \"a193\", \"a180\", \"a199\", \"a181\", \"a200\", \"a182\", \"\", \"a201\", \"a183\", \"a184\", \"a197\", \"a185\", \"a194\", \"a198\", \"a186\", \"a195\", \"a187\", \"a188\", \"a189\", \"a190\", \"a191\", \"\"];\nexports.ZapfDingbatsEncoding = ZapfDingbatsEncoding;\n\nfunction getEncoding(encodingName) {\n  switch (encodingName) {\n    case \"WinAnsiEncoding\":\n      return WinAnsiEncoding;\n\n    case \"StandardEncoding\":\n      return StandardEncoding;\n\n    case \"MacRomanEncoding\":\n      return MacRomanEncoding;\n\n    case \"SymbolSetEncoding\":\n      return SymbolSetEncoding;\n\n    case \"ZapfDingbatsEncoding\":\n      return ZapfDingbatsEncoding;\n\n    case \"ExpertEncoding\":\n      return ExpertEncoding;\n\n    case \"MacExpertEncoding\":\n      return MacExpertEncoding;\n\n    default:\n      return null;\n  }\n}\n\n/***/ }),\n/* 226 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar getLookupTableFactory = __w_pdfjs_require__(201).getLookupTableFactory;\nvar getGlyphsUnicode = getLookupTableFactory(function (t) {\n t.A = 0x0041;\n t.AE = 0x00c6;\n t.AEacute = 0x01fc;\n t.AEmacron = 0x01e2;\n t.AEsmall = 0xf7e6;\n t.Aacute = 0x00c1;\n t.Aacutesmall = 0xf7e1;\n t.Abreve = 0x0102;\n t.Abreveacute = 0x1eae;\n t.Abrevecyrillic = 0x04d0;\n t.Abrevedotbelow = 0x1eb6;\n t.Abrevegrave = 0x1eb0;\n t.Abrevehookabove = 0x1eb2;\n t.Abrevetilde = 0x1eb4;\n t.Acaron = 0x01cd;\n t.Acircle = 0x24b6;\n t.Acircumflex = 0x00c2;\n t.Acircumflexacute = 0x1ea4;\n t.Acircumflexdotbelow = 0x1eac;\n t.Acircumflexgrave = 0x1ea6;\n t.Acircumflexhookabove = 0x1ea8;\n t.Acircumflexsmall = 0xf7e2;\n t.Acircumflextilde = 0x1eaa;\n t.Acute = 0xf6c9;\n t.Acutesmall = 0xf7b4;\n t.Acyrillic = 0x0410;\n t.Adblgrave = 0x0200;\n t.Adieresis = 0x00c4;\n t.Adieresiscyrillic = 0x04d2;\n t.Adieresismacron = 0x01de;\n t.Adieresissmall = 0xf7e4;\n t.Adotbelow = 0x1ea0;\n t.Adotmacron = 0x01e0;\n t.Agrave = 0x00c0;\n t.Agravesmall = 0xf7e0;\n t.Ahookabove = 0x1ea2;\n t.Aiecyrillic = 0x04d4;\n t.Ainvertedbreve = 0x0202;\n t.Alpha = 0x0391;\n t.Alphatonos = 0x0386;\n t.Amacron = 0x0100;\n t.Amonospace = 0xff21;\n t.Aogonek = 0x0104;\n t.Aring = 0x00c5;\n t.Aringacute = 0x01fa;\n t.Aringbelow = 0x1e00;\n t.Aringsmall = 0xf7e5;\n t.Asmall = 0xf761;\n t.Atilde = 0x00c3;\n t.Atildesmall = 0xf7e3;\n t.Aybarmenian = 0x0531;\n t.B = 0x0042;\n t.Bcircle = 0x24b7;\n t.Bdotaccent = 0x1e02;\n t.Bdotbelow = 0x1e04;\n t.Becyrillic = 0x0411;\n t.Benarmenian = 0x0532;\n t.Beta = 0x0392;\n t.Bhook = 0x0181;\n t.Blinebelow = 0x1e06;\n t.Bmonospace = 0xff22;\n t.Brevesmall = 0xf6f4;\n t.Bsmall = 0xf762;\n t.Btopbar = 0x0182;\n t.C = 0x0043;\n t.Caarmenian = 0x053e;\n t.Cacute = 0x0106;\n t.Caron = 0xf6ca;\n t.Caronsmall = 0xf6f5;\n t.Ccaron = 0x010c;\n t.Ccedilla = 0x00c7;\n t.Ccedillaacute = 0x1e08;\n t.Ccedillasmall = 0xf7e7;\n t.Ccircle = 0x24b8;\n t.Ccircumflex = 0x0108;\n t.Cdot = 0x010a;\n t.Cdotaccent = 0x010a;\n t.Cedillasmall = 0xf7b8;\n t.Chaarmenian = 0x0549;\n t.Cheabkhasiancyrillic = 0x04bc;\n t.Checyrillic = 0x0427;\n t.Chedescenderabkhasiancyrillic = 0x04be;\n t.Chedescendercyrillic = 0x04b6;\n t.Chedieresiscyrillic = 0x04f4;\n t.Cheharmenian = 0x0543;\n t.Chekhakassiancyrillic = 0x04cb;\n t.Cheverticalstrokecyrillic = 0x04b8;\n t.Chi = 0x03a7;\n t.Chook = 0x0187;\n t.Circumflexsmall = 0xf6f6;\n t.Cmonospace = 0xff23;\n t.Coarmenian = 0x0551;\n t.Csmall = 0xf763;\n t.D = 0x0044;\n t.DZ = 0x01f1;\n t.DZcaron = 0x01c4;\n t.Daarmenian = 0x0534;\n t.Dafrican = 0x0189;\n t.Dcaron = 0x010e;\n t.Dcedilla = 0x1e10;\n t.Dcircle = 0x24b9;\n t.Dcircumflexbelow = 0x1e12;\n t.Dcroat = 0x0110;\n t.Ddotaccent = 0x1e0a;\n t.Ddotbelow = 0x1e0c;\n t.Decyrillic = 0x0414;\n t.Deicoptic = 0x03ee;\n t.Delta = 0x2206;\n t.Deltagreek = 0x0394;\n t.Dhook = 0x018a;\n t.Dieresis = 0xf6cb;\n t.DieresisAcute = 0xf6cc;\n t.DieresisGrave = 0xf6cd;\n t.Dieresissmall = 0xf7a8;\n t.Digammagreek = 0x03dc;\n t.Djecyrillic = 0x0402;\n t.Dlinebelow = 0x1e0e;\n t.Dmonospace = 0xff24;\n t.Dotaccentsmall = 0xf6f7;\n t.Dslash = 0x0110;\n t.Dsmall = 0xf764;\n t.Dtopbar = 0x018b;\n t.Dz = 0x01f2;\n t.Dzcaron = 0x01c5;\n t.Dzeabkhasiancyrillic = 0x04e0;\n t.Dzecyrillic = 0x0405;\n t.Dzhecyrillic = 0x040f;\n t.E = 0x0045;\n t.Eacute = 0x00c9;\n t.Eacutesmall = 0xf7e9;\n t.Ebreve = 0x0114;\n t.Ecaron = 0x011a;\n t.Ecedillabreve = 0x1e1c;\n t.Echarmenian = 0x0535;\n t.Ecircle = 0x24ba;\n t.Ecircumflex = 0x00ca;\n t.Ecircumflexacute = 0x1ebe;\n t.Ecircumflexbelow = 0x1e18;\n t.Ecircumflexdotbelow = 0x1ec6;\n t.Ecircumflexgrave = 0x1ec0;\n t.Ecircumflexhookabove = 0x1ec2;\n t.Ecircumflexsmall = 0xf7ea;\n t.Ecircumflextilde = 0x1ec4;\n t.Ecyrillic = 0x0404;\n t.Edblgrave = 0x0204;\n t.Edieresis = 0x00cb;\n t.Edieresissmall = 0xf7eb;\n t.Edot = 0x0116;\n t.Edotaccent = 0x0116;\n t.Edotbelow = 0x1eb8;\n t.Efcyrillic = 0x0424;\n t.Egrave = 0x00c8;\n t.Egravesmall = 0xf7e8;\n t.Eharmenian = 0x0537;\n t.Ehookabove = 0x1eba;\n t.Eightroman = 0x2167;\n t.Einvertedbreve = 0x0206;\n t.Eiotifiedcyrillic = 0x0464;\n t.Elcyrillic = 0x041b;\n t.Elevenroman = 0x216a;\n t.Emacron = 0x0112;\n t.Emacronacute = 0x1e16;\n t.Emacrongrave = 0x1e14;\n t.Emcyrillic = 0x041c;\n t.Emonospace = 0xff25;\n t.Encyrillic = 0x041d;\n t.Endescendercyrillic = 0x04a2;\n t.Eng = 0x014a;\n t.Enghecyrillic = 0x04a4;\n t.Enhookcyrillic = 0x04c7;\n t.Eogonek = 0x0118;\n t.Eopen = 0x0190;\n t.Epsilon = 0x0395;\n t.Epsilontonos = 0x0388;\n t.Ercyrillic = 0x0420;\n t.Ereversed = 0x018e;\n t.Ereversedcyrillic = 0x042d;\n t.Escyrillic = 0x0421;\n t.Esdescendercyrillic = 0x04aa;\n t.Esh = 0x01a9;\n t.Esmall = 0xf765;\n t.Eta = 0x0397;\n t.Etarmenian = 0x0538;\n t.Etatonos = 0x0389;\n t.Eth = 0x00d0;\n t.Ethsmall = 0xf7f0;\n t.Etilde = 0x1ebc;\n t.Etildebelow = 0x1e1a;\n t.Euro = 0x20ac;\n t.Ezh = 0x01b7;\n t.Ezhcaron = 0x01ee;\n t.Ezhreversed = 0x01b8;\n t.F = 0x0046;\n t.Fcircle = 0x24bb;\n t.Fdotaccent = 0x1e1e;\n t.Feharmenian = 0x0556;\n t.Feicoptic = 0x03e4;\n t.Fhook = 0x0191;\n t.Fitacyrillic = 0x0472;\n t.Fiveroman = 0x2164;\n t.Fmonospace = 0xff26;\n t.Fourroman = 0x2163;\n t.Fsmall = 0xf766;\n t.G = 0x0047;\n t.GBsquare = 0x3387;\n t.Gacute = 0x01f4;\n t.Gamma = 0x0393;\n t.Gammaafrican = 0x0194;\n t.Gangiacoptic = 0x03ea;\n t.Gbreve = 0x011e;\n t.Gcaron = 0x01e6;\n t.Gcedilla = 0x0122;\n t.Gcircle = 0x24bc;\n t.Gcircumflex = 0x011c;\n t.Gcommaaccent = 0x0122;\n t.Gdot = 0x0120;\n t.Gdotaccent = 0x0120;\n t.Gecyrillic = 0x0413;\n t.Ghadarmenian = 0x0542;\n t.Ghemiddlehookcyrillic = 0x0494;\n t.Ghestrokecyrillic = 0x0492;\n t.Gheupturncyrillic = 0x0490;\n t.Ghook = 0x0193;\n t.Gimarmenian = 0x0533;\n t.Gjecyrillic = 0x0403;\n t.Gmacron = 0x1e20;\n t.Gmonospace = 0xff27;\n t.Grave = 0xf6ce;\n t.Gravesmall = 0xf760;\n t.Gsmall = 0xf767;\n t.Gsmallhook = 0x029b;\n t.Gstroke = 0x01e4;\n t.H = 0x0048;\n t.H18533 = 0x25cf;\n t.H18543 = 0x25aa;\n t.H18551 = 0x25ab;\n t.H22073 = 0x25a1;\n t.HPsquare = 0x33cb;\n t.Haabkhasiancyrillic = 0x04a8;\n t.Hadescendercyrillic = 0x04b2;\n t.Hardsigncyrillic = 0x042a;\n t.Hbar = 0x0126;\n t.Hbrevebelow = 0x1e2a;\n t.Hcedilla = 0x1e28;\n t.Hcircle = 0x24bd;\n t.Hcircumflex = 0x0124;\n t.Hdieresis = 0x1e26;\n t.Hdotaccent = 0x1e22;\n t.Hdotbelow = 0x1e24;\n t.Hmonospace = 0xff28;\n t.Hoarmenian = 0x0540;\n t.Horicoptic = 0x03e8;\n t.Hsmall = 0xf768;\n t.Hungarumlaut = 0xf6cf;\n t.Hungarumlautsmall = 0xf6f8;\n t.Hzsquare = 0x3390;\n t.I = 0x0049;\n t.IAcyrillic = 0x042f;\n t.IJ = 0x0132;\n t.IUcyrillic = 0x042e;\n t.Iacute = 0x00cd;\n t.Iacutesmall = 0xf7ed;\n t.Ibreve = 0x012c;\n t.Icaron = 0x01cf;\n t.Icircle = 0x24be;\n t.Icircumflex = 0x00ce;\n t.Icircumflexsmall = 0xf7ee;\n t.Icyrillic = 0x0406;\n t.Idblgrave = 0x0208;\n t.Idieresis = 0x00cf;\n t.Idieresisacute = 0x1e2e;\n t.Idieresiscyrillic = 0x04e4;\n t.Idieresissmall = 0xf7ef;\n t.Idot = 0x0130;\n t.Idotaccent = 0x0130;\n t.Idotbelow = 0x1eca;\n t.Iebrevecyrillic = 0x04d6;\n t.Iecyrillic = 0x0415;\n t.Ifraktur = 0x2111;\n t.Igrave = 0x00cc;\n t.Igravesmall = 0xf7ec;\n t.Ihookabove = 0x1ec8;\n t.Iicyrillic = 0x0418;\n t.Iinvertedbreve = 0x020a;\n t.Iishortcyrillic = 0x0419;\n t.Imacron = 0x012a;\n t.Imacroncyrillic = 0x04e2;\n t.Imonospace = 0xff29;\n t.Iniarmenian = 0x053b;\n t.Iocyrillic = 0x0401;\n t.Iogonek = 0x012e;\n t.Iota = 0x0399;\n t.Iotaafrican = 0x0196;\n t.Iotadieresis = 0x03aa;\n t.Iotatonos = 0x038a;\n t.Ismall = 0xf769;\n t.Istroke = 0x0197;\n t.Itilde = 0x0128;\n t.Itildebelow = 0x1e2c;\n t.Izhitsacyrillic = 0x0474;\n t.Izhitsadblgravecyrillic = 0x0476;\n t.J = 0x004a;\n t.Jaarmenian = 0x0541;\n t.Jcircle = 0x24bf;\n t.Jcircumflex = 0x0134;\n t.Jecyrillic = 0x0408;\n t.Jheharmenian = 0x054b;\n t.Jmonospace = 0xff2a;\n t.Jsmall = 0xf76a;\n t.K = 0x004b;\n t.KBsquare = 0x3385;\n t.KKsquare = 0x33cd;\n t.Kabashkircyrillic = 0x04a0;\n t.Kacute = 0x1e30;\n t.Kacyrillic = 0x041a;\n t.Kadescendercyrillic = 0x049a;\n t.Kahookcyrillic = 0x04c3;\n t.Kappa = 0x039a;\n t.Kastrokecyrillic = 0x049e;\n t.Kaverticalstrokecyrillic = 0x049c;\n t.Kcaron = 0x01e8;\n t.Kcedilla = 0x0136;\n t.Kcircle = 0x24c0;\n t.Kcommaaccent = 0x0136;\n t.Kdotbelow = 0x1e32;\n t.Keharmenian = 0x0554;\n t.Kenarmenian = 0x053f;\n t.Khacyrillic = 0x0425;\n t.Kheicoptic = 0x03e6;\n t.Khook = 0x0198;\n t.Kjecyrillic = 0x040c;\n t.Klinebelow = 0x1e34;\n t.Kmonospace = 0xff2b;\n t.Koppacyrillic = 0x0480;\n t.Koppagreek = 0x03de;\n t.Ksicyrillic = 0x046e;\n t.Ksmall = 0xf76b;\n t.L = 0x004c;\n t.LJ = 0x01c7;\n t.LL = 0xf6bf;\n t.Lacute = 0x0139;\n t.Lambda = 0x039b;\n t.Lcaron = 0x013d;\n t.Lcedilla = 0x013b;\n t.Lcircle = 0x24c1;\n t.Lcircumflexbelow = 0x1e3c;\n t.Lcommaaccent = 0x013b;\n t.Ldot = 0x013f;\n t.Ldotaccent = 0x013f;\n t.Ldotbelow = 0x1e36;\n t.Ldotbelowmacron = 0x1e38;\n t.Liwnarmenian = 0x053c;\n t.Lj = 0x01c8;\n t.Ljecyrillic = 0x0409;\n t.Llinebelow = 0x1e3a;\n t.Lmonospace = 0xff2c;\n t.Lslash = 0x0141;\n t.Lslashsmall = 0xf6f9;\n t.Lsmall = 0xf76c;\n t.M = 0x004d;\n t.MBsquare = 0x3386;\n t.Macron = 0xf6d0;\n t.Macronsmall = 0xf7af;\n t.Macute = 0x1e3e;\n t.Mcircle = 0x24c2;\n t.Mdotaccent = 0x1e40;\n t.Mdotbelow = 0x1e42;\n t.Menarmenian = 0x0544;\n t.Mmonospace = 0xff2d;\n t.Msmall = 0xf76d;\n t.Mturned = 0x019c;\n t.Mu = 0x039c;\n t.N = 0x004e;\n t.NJ = 0x01ca;\n t.Nacute = 0x0143;\n t.Ncaron = 0x0147;\n t.Ncedilla = 0x0145;\n t.Ncircle = 0x24c3;\n t.Ncircumflexbelow = 0x1e4a;\n t.Ncommaaccent = 0x0145;\n t.Ndotaccent = 0x1e44;\n t.Ndotbelow = 0x1e46;\n t.Nhookleft = 0x019d;\n t.Nineroman = 0x2168;\n t.Nj = 0x01cb;\n t.Njecyrillic = 0x040a;\n t.Nlinebelow = 0x1e48;\n t.Nmonospace = 0xff2e;\n t.Nowarmenian = 0x0546;\n t.Nsmall = 0xf76e;\n t.Ntilde = 0x00d1;\n t.Ntildesmall = 0xf7f1;\n t.Nu = 0x039d;\n t.O = 0x004f;\n t.OE = 0x0152;\n t.OEsmall = 0xf6fa;\n t.Oacute = 0x00d3;\n t.Oacutesmall = 0xf7f3;\n t.Obarredcyrillic = 0x04e8;\n t.Obarreddieresiscyrillic = 0x04ea;\n t.Obreve = 0x014e;\n t.Ocaron = 0x01d1;\n t.Ocenteredtilde = 0x019f;\n t.Ocircle = 0x24c4;\n t.Ocircumflex = 0x00d4;\n t.Ocircumflexacute = 0x1ed0;\n t.Ocircumflexdotbelow = 0x1ed8;\n t.Ocircumflexgrave = 0x1ed2;\n t.Ocircumflexhookabove = 0x1ed4;\n t.Ocircumflexsmall = 0xf7f4;\n t.Ocircumflextilde = 0x1ed6;\n t.Ocyrillic = 0x041e;\n t.Odblacute = 0x0150;\n t.Odblgrave = 0x020c;\n t.Odieresis = 0x00d6;\n t.Odieresiscyrillic = 0x04e6;\n t.Odieresissmall = 0xf7f6;\n t.Odotbelow = 0x1ecc;\n t.Ogoneksmall = 0xf6fb;\n t.Ograve = 0x00d2;\n t.Ogravesmall = 0xf7f2;\n t.Oharmenian = 0x0555;\n t.Ohm = 0x2126;\n t.Ohookabove = 0x1ece;\n t.Ohorn = 0x01a0;\n t.Ohornacute = 0x1eda;\n t.Ohorndotbelow = 0x1ee2;\n t.Ohorngrave = 0x1edc;\n t.Ohornhookabove = 0x1ede;\n t.Ohorntilde = 0x1ee0;\n t.Ohungarumlaut = 0x0150;\n t.Oi = 0x01a2;\n t.Oinvertedbreve = 0x020e;\n t.Omacron = 0x014c;\n t.Omacronacute = 0x1e52;\n t.Omacrongrave = 0x1e50;\n t.Omega = 0x2126;\n t.Omegacyrillic = 0x0460;\n t.Omegagreek = 0x03a9;\n t.Omegaroundcyrillic = 0x047a;\n t.Omegatitlocyrillic = 0x047c;\n t.Omegatonos = 0x038f;\n t.Omicron = 0x039f;\n t.Omicrontonos = 0x038c;\n t.Omonospace = 0xff2f;\n t.Oneroman = 0x2160;\n t.Oogonek = 0x01ea;\n t.Oogonekmacron = 0x01ec;\n t.Oopen = 0x0186;\n t.Oslash = 0x00d8;\n t.Oslashacute = 0x01fe;\n t.Oslashsmall = 0xf7f8;\n t.Osmall = 0xf76f;\n t.Ostrokeacute = 0x01fe;\n t.Otcyrillic = 0x047e;\n t.Otilde = 0x00d5;\n t.Otildeacute = 0x1e4c;\n t.Otildedieresis = 0x1e4e;\n t.Otildesmall = 0xf7f5;\n t.P = 0x0050;\n t.Pacute = 0x1e54;\n t.Pcircle = 0x24c5;\n t.Pdotaccent = 0x1e56;\n t.Pecyrillic = 0x041f;\n t.Peharmenian = 0x054a;\n t.Pemiddlehookcyrillic = 0x04a6;\n t.Phi = 0x03a6;\n t.Phook = 0x01a4;\n t.Pi = 0x03a0;\n t.Piwrarmenian = 0x0553;\n t.Pmonospace = 0xff30;\n t.Psi = 0x03a8;\n t.Psicyrillic = 0x0470;\n t.Psmall = 0xf770;\n t.Q = 0x0051;\n t.Qcircle = 0x24c6;\n t.Qmonospace = 0xff31;\n t.Qsmall = 0xf771;\n t.R = 0x0052;\n t.Raarmenian = 0x054c;\n t.Racute = 0x0154;\n t.Rcaron = 0x0158;\n t.Rcedilla = 0x0156;\n t.Rcircle = 0x24c7;\n t.Rcommaaccent = 0x0156;\n t.Rdblgrave = 0x0210;\n t.Rdotaccent = 0x1e58;\n t.Rdotbelow = 0x1e5a;\n t.Rdotbelowmacron = 0x1e5c;\n t.Reharmenian = 0x0550;\n t.Rfraktur = 0x211c;\n t.Rho = 0x03a1;\n t.Ringsmall = 0xf6fc;\n t.Rinvertedbreve = 0x0212;\n t.Rlinebelow = 0x1e5e;\n t.Rmonospace = 0xff32;\n t.Rsmall = 0xf772;\n t.Rsmallinverted = 0x0281;\n t.Rsmallinvertedsuperior = 0x02b6;\n t.S = 0x0053;\n t.SF010000 = 0x250c;\n t.SF020000 = 0x2514;\n t.SF030000 = 0x2510;\n t.SF040000 = 0x2518;\n t.SF050000 = 0x253c;\n t.SF060000 = 0x252c;\n t.SF070000 = 0x2534;\n t.SF080000 = 0x251c;\n t.SF090000 = 0x2524;\n t.SF100000 = 0x2500;\n t.SF110000 = 0x2502;\n t.SF190000 = 0x2561;\n t.SF200000 = 0x2562;\n t.SF210000 = 0x2556;\n t.SF220000 = 0x2555;\n t.SF230000 = 0x2563;\n t.SF240000 = 0x2551;\n t.SF250000 = 0x2557;\n t.SF260000 = 0x255d;\n t.SF270000 = 0x255c;\n t.SF280000 = 0x255b;\n t.SF360000 = 0x255e;\n t.SF370000 = 0x255f;\n t.SF380000 = 0x255a;\n t.SF390000 = 0x2554;\n t.SF400000 = 0x2569;\n t.SF410000 = 0x2566;\n t.SF420000 = 0x2560;\n t.SF430000 = 0x2550;\n t.SF440000 = 0x256c;\n t.SF450000 = 0x2567;\n t.SF460000 = 0x2568;\n t.SF470000 = 0x2564;\n t.SF480000 = 0x2565;\n t.SF490000 = 0x2559;\n t.SF500000 = 0x2558;\n t.SF510000 = 0x2552;\n t.SF520000 = 0x2553;\n t.SF530000 = 0x256b;\n t.SF540000 = 0x256a;\n t.Sacute = 0x015a;\n t.Sacutedotaccent = 0x1e64;\n t.Sampigreek = 0x03e0;\n t.Scaron = 0x0160;\n t.Scarondotaccent = 0x1e66;\n t.Scaronsmall = 0xf6fd;\n t.Scedilla = 0x015e;\n t.Schwa = 0x018f;\n t.Schwacyrillic = 0x04d8;\n t.Schwadieresiscyrillic = 0x04da;\n t.Scircle = 0x24c8;\n t.Scircumflex = 0x015c;\n t.Scommaaccent = 0x0218;\n t.Sdotaccent = 0x1e60;\n t.Sdotbelow = 0x1e62;\n t.Sdotbelowdotaccent = 0x1e68;\n t.Seharmenian = 0x054d;\n t.Sevenroman = 0x2166;\n t.Shaarmenian = 0x0547;\n t.Shacyrillic = 0x0428;\n t.Shchacyrillic = 0x0429;\n t.Sheicoptic = 0x03e2;\n t.Shhacyrillic = 0x04ba;\n t.Shimacoptic = 0x03ec;\n t.Sigma = 0x03a3;\n t.Sixroman = 0x2165;\n t.Smonospace = 0xff33;\n t.Softsigncyrillic = 0x042c;\n t.Ssmall = 0xf773;\n t.Stigmagreek = 0x03da;\n t.T = 0x0054;\n t.Tau = 0x03a4;\n t.Tbar = 0x0166;\n t.Tcaron = 0x0164;\n t.Tcedilla = 0x0162;\n t.Tcircle = 0x24c9;\n t.Tcircumflexbelow = 0x1e70;\n t.Tcommaaccent = 0x0162;\n t.Tdotaccent = 0x1e6a;\n t.Tdotbelow = 0x1e6c;\n t.Tecyrillic = 0x0422;\n t.Tedescendercyrillic = 0x04ac;\n t.Tenroman = 0x2169;\n t.Tetsecyrillic = 0x04b4;\n t.Theta = 0x0398;\n t.Thook = 0x01ac;\n t.Thorn = 0x00de;\n t.Thornsmall = 0xf7fe;\n t.Threeroman = 0x2162;\n t.Tildesmall = 0xf6fe;\n t.Tiwnarmenian = 0x054f;\n t.Tlinebelow = 0x1e6e;\n t.Tmonospace = 0xff34;\n t.Toarmenian = 0x0539;\n t.Tonefive = 0x01bc;\n t.Tonesix = 0x0184;\n t.Tonetwo = 0x01a7;\n t.Tretroflexhook = 0x01ae;\n t.Tsecyrillic = 0x0426;\n t.Tshecyrillic = 0x040b;\n t.Tsmall = 0xf774;\n t.Twelveroman = 0x216b;\n t.Tworoman = 0x2161;\n t.U = 0x0055;\n t.Uacute = 0x00da;\n t.Uacutesmall = 0xf7fa;\n t.Ubreve = 0x016c;\n t.Ucaron = 0x01d3;\n t.Ucircle = 0x24ca;\n t.Ucircumflex = 0x00db;\n t.Ucircumflexbelow = 0x1e76;\n t.Ucircumflexsmall = 0xf7fb;\n t.Ucyrillic = 0x0423;\n t.Udblacute = 0x0170;\n t.Udblgrave = 0x0214;\n t.Udieresis = 0x00dc;\n t.Udieresisacute = 0x01d7;\n t.Udieresisbelow = 0x1e72;\n t.Udieresiscaron = 0x01d9;\n t.Udieresiscyrillic = 0x04f0;\n t.Udieresisgrave = 0x01db;\n t.Udieresismacron = 0x01d5;\n t.Udieresissmall = 0xf7fc;\n t.Udotbelow = 0x1ee4;\n t.Ugrave = 0x00d9;\n t.Ugravesmall = 0xf7f9;\n t.Uhookabove = 0x1ee6;\n t.Uhorn = 0x01af;\n t.Uhornacute = 0x1ee8;\n t.Uhorndotbelow = 0x1ef0;\n t.Uhorngrave = 0x1eea;\n t.Uhornhookabove = 0x1eec;\n t.Uhorntilde = 0x1eee;\n t.Uhungarumlaut = 0x0170;\n t.Uhungarumlautcyrillic = 0x04f2;\n t.Uinvertedbreve = 0x0216;\n t.Ukcyrillic = 0x0478;\n t.Umacron = 0x016a;\n t.Umacroncyrillic = 0x04ee;\n t.Umacrondieresis = 0x1e7a;\n t.Umonospace = 0xff35;\n t.Uogonek = 0x0172;\n t.Upsilon = 0x03a5;\n t.Upsilon1 = 0x03d2;\n t.Upsilonacutehooksymbolgreek = 0x03d3;\n t.Upsilonafrican = 0x01b1;\n t.Upsilondieresis = 0x03ab;\n t.Upsilondieresishooksymbolgreek = 0x03d4;\n t.Upsilonhooksymbol = 0x03d2;\n t.Upsilontonos = 0x038e;\n t.Uring = 0x016e;\n t.Ushortcyrillic = 0x040e;\n t.Usmall = 0xf775;\n t.Ustraightcyrillic = 0x04ae;\n t.Ustraightstrokecyrillic = 0x04b0;\n t.Utilde = 0x0168;\n t.Utildeacute = 0x1e78;\n t.Utildebelow = 0x1e74;\n t.V = 0x0056;\n t.Vcircle = 0x24cb;\n t.Vdotbelow = 0x1e7e;\n t.Vecyrillic = 0x0412;\n t.Vewarmenian = 0x054e;\n t.Vhook = 0x01b2;\n t.Vmonospace = 0xff36;\n t.Voarmenian = 0x0548;\n t.Vsmall = 0xf776;\n t.Vtilde = 0x1e7c;\n t.W = 0x0057;\n t.Wacute = 0x1e82;\n t.Wcircle = 0x24cc;\n t.Wcircumflex = 0x0174;\n t.Wdieresis = 0x1e84;\n t.Wdotaccent = 0x1e86;\n t.Wdotbelow = 0x1e88;\n t.Wgrave = 0x1e80;\n t.Wmonospace = 0xff37;\n t.Wsmall = 0xf777;\n t.X = 0x0058;\n t.Xcircle = 0x24cd;\n t.Xdieresis = 0x1e8c;\n t.Xdotaccent = 0x1e8a;\n t.Xeharmenian = 0x053d;\n t.Xi = 0x039e;\n t.Xmonospace = 0xff38;\n t.Xsmall = 0xf778;\n t.Y = 0x0059;\n t.Yacute = 0x00dd;\n t.Yacutesmall = 0xf7fd;\n t.Yatcyrillic = 0x0462;\n t.Ycircle = 0x24ce;\n t.Ycircumflex = 0x0176;\n t.Ydieresis = 0x0178;\n t.Ydieresissmall = 0xf7ff;\n t.Ydotaccent = 0x1e8e;\n t.Ydotbelow = 0x1ef4;\n t.Yericyrillic = 0x042b;\n t.Yerudieresiscyrillic = 0x04f8;\n t.Ygrave = 0x1ef2;\n t.Yhook = 0x01b3;\n t.Yhookabove = 0x1ef6;\n t.Yiarmenian = 0x0545;\n t.Yicyrillic = 0x0407;\n t.Yiwnarmenian = 0x0552;\n t.Ymonospace = 0xff39;\n t.Ysmall = 0xf779;\n t.Ytilde = 0x1ef8;\n t.Yusbigcyrillic = 0x046a;\n t.Yusbigiotifiedcyrillic = 0x046c;\n t.Yuslittlecyrillic = 0x0466;\n t.Yuslittleiotifiedcyrillic = 0x0468;\n t.Z = 0x005a;\n t.Zaarmenian = 0x0536;\n t.Zacute = 0x0179;\n t.Zcaron = 0x017d;\n t.Zcaronsmall = 0xf6ff;\n t.Zcircle = 0x24cf;\n t.Zcircumflex = 0x1e90;\n t.Zdot = 0x017b;\n t.Zdotaccent = 0x017b;\n t.Zdotbelow = 0x1e92;\n t.Zecyrillic = 0x0417;\n t.Zedescendercyrillic = 0x0498;\n t.Zedieresiscyrillic = 0x04de;\n t.Zeta = 0x0396;\n t.Zhearmenian = 0x053a;\n t.Zhebrevecyrillic = 0x04c1;\n t.Zhecyrillic = 0x0416;\n t.Zhedescendercyrillic = 0x0496;\n t.Zhedieresiscyrillic = 0x04dc;\n t.Zlinebelow = 0x1e94;\n t.Zmonospace = 0xff3a;\n t.Zsmall = 0xf77a;\n t.Zstroke = 0x01b5;\n t.a = 0x0061;\n t.aabengali = 0x0986;\n t.aacute = 0x00e1;\n t.aadeva = 0x0906;\n t.aagujarati = 0x0a86;\n t.aagurmukhi = 0x0a06;\n t.aamatragurmukhi = 0x0a3e;\n t.aarusquare = 0x3303;\n t.aavowelsignbengali = 0x09be;\n t.aavowelsigndeva = 0x093e;\n t.aavowelsigngujarati = 0x0abe;\n t.abbreviationmarkarmenian = 0x055f;\n t.abbreviationsigndeva = 0x0970;\n t.abengali = 0x0985;\n t.abopomofo = 0x311a;\n t.abreve = 0x0103;\n t.abreveacute = 0x1eaf;\n t.abrevecyrillic = 0x04d1;\n t.abrevedotbelow = 0x1eb7;\n t.abrevegrave = 0x1eb1;\n t.abrevehookabove = 0x1eb3;\n t.abrevetilde = 0x1eb5;\n t.acaron = 0x01ce;\n t.acircle = 0x24d0;\n t.acircumflex = 0x00e2;\n t.acircumflexacute = 0x1ea5;\n t.acircumflexdotbelow = 0x1ead;\n t.acircumflexgrave = 0x1ea7;\n t.acircumflexhookabove = 0x1ea9;\n t.acircumflextilde = 0x1eab;\n t.acute = 0x00b4;\n t.acutebelowcmb = 0x0317;\n t.acutecmb = 0x0301;\n t.acutecomb = 0x0301;\n t.acutedeva = 0x0954;\n t.acutelowmod = 0x02cf;\n t.acutetonecmb = 0x0341;\n t.acyrillic = 0x0430;\n t.adblgrave = 0x0201;\n t.addakgurmukhi = 0x0a71;\n t.adeva = 0x0905;\n t.adieresis = 0x00e4;\n t.adieresiscyrillic = 0x04d3;\n t.adieresismacron = 0x01df;\n t.adotbelow = 0x1ea1;\n t.adotmacron = 0x01e1;\n t.ae = 0x00e6;\n t.aeacute = 0x01fd;\n t.aekorean = 0x3150;\n t.aemacron = 0x01e3;\n t.afii00208 = 0x2015;\n t.afii08941 = 0x20a4;\n t.afii10017 = 0x0410;\n t.afii10018 = 0x0411;\n t.afii10019 = 0x0412;\n t.afii10020 = 0x0413;\n t.afii10021 = 0x0414;\n t.afii10022 = 0x0415;\n t.afii10023 = 0x0401;\n t.afii10024 = 0x0416;\n t.afii10025 = 0x0417;\n t.afii10026 = 0x0418;\n t.afii10027 = 0x0419;\n t.afii10028 = 0x041a;\n t.afii10029 = 0x041b;\n t.afii10030 = 0x041c;\n t.afii10031 = 0x041d;\n t.afii10032 = 0x041e;\n t.afii10033 = 0x041f;\n t.afii10034 = 0x0420;\n t.afii10035 = 0x0421;\n t.afii10036 = 0x0422;\n t.afii10037 = 0x0423;\n t.afii10038 = 0x0424;\n t.afii10039 = 0x0425;\n t.afii10040 = 0x0426;\n t.afii10041 = 0x0427;\n t.afii10042 = 0x0428;\n t.afii10043 = 0x0429;\n t.afii10044 = 0x042a;\n t.afii10045 = 0x042b;\n t.afii10046 = 0x042c;\n t.afii10047 = 0x042d;\n t.afii10048 = 0x042e;\n t.afii10049 = 0x042f;\n t.afii10050 = 0x0490;\n t.afii10051 = 0x0402;\n t.afii10052 = 0x0403;\n t.afii10053 = 0x0404;\n t.afii10054 = 0x0405;\n t.afii10055 = 0x0406;\n t.afii10056 = 0x0407;\n t.afii10057 = 0x0408;\n t.afii10058 = 0x0409;\n t.afii10059 = 0x040a;\n t.afii10060 = 0x040b;\n t.afii10061 = 0x040c;\n t.afii10062 = 0x040e;\n t.afii10063 = 0xf6c4;\n t.afii10064 = 0xf6c5;\n t.afii10065 = 0x0430;\n t.afii10066 = 0x0431;\n t.afii10067 = 0x0432;\n t.afii10068 = 0x0433;\n t.afii10069 = 0x0434;\n t.afii10070 = 0x0435;\n t.afii10071 = 0x0451;\n t.afii10072 = 0x0436;\n t.afii10073 = 0x0437;\n t.afii10074 = 0x0438;\n t.afii10075 = 0x0439;\n t.afii10076 = 0x043a;\n t.afii10077 = 0x043b;\n t.afii10078 = 0x043c;\n t.afii10079 = 0x043d;\n t.afii10080 = 0x043e;\n t.afii10081 = 0x043f;\n t.afii10082 = 0x0440;\n t.afii10083 = 0x0441;\n t.afii10084 = 0x0442;\n t.afii10085 = 0x0443;\n t.afii10086 = 0x0444;\n t.afii10087 = 0x0445;\n t.afii10088 = 0x0446;\n t.afii10089 = 0x0447;\n t.afii10090 = 0x0448;\n t.afii10091 = 0x0449;\n t.afii10092 = 0x044a;\n t.afii10093 = 0x044b;\n t.afii10094 = 0x044c;\n t.afii10095 = 0x044d;\n t.afii10096 = 0x044e;\n t.afii10097 = 0x044f;\n t.afii10098 = 0x0491;\n t.afii10099 = 0x0452;\n t.afii10100 = 0x0453;\n t.afii10101 = 0x0454;\n t.afii10102 = 0x0455;\n t.afii10103 = 0x0456;\n t.afii10104 = 0x0457;\n t.afii10105 = 0x0458;\n t.afii10106 = 0x0459;\n t.afii10107 = 0x045a;\n t.afii10108 = 0x045b;\n t.afii10109 = 0x045c;\n t.afii10110 = 0x045e;\n t.afii10145 = 0x040f;\n t.afii10146 = 0x0462;\n t.afii10147 = 0x0472;\n t.afii10148 = 0x0474;\n t.afii10192 = 0xf6c6;\n t.afii10193 = 0x045f;\n t.afii10194 = 0x0463;\n t.afii10195 = 0x0473;\n t.afii10196 = 0x0475;\n t.afii10831 = 0xf6c7;\n t.afii10832 = 0xf6c8;\n t.afii10846 = 0x04d9;\n t.afii299 = 0x200e;\n t.afii300 = 0x200f;\n t.afii301 = 0x200d;\n t.afii57381 = 0x066a;\n t.afii57388 = 0x060c;\n t.afii57392 = 0x0660;\n t.afii57393 = 0x0661;\n t.afii57394 = 0x0662;\n t.afii57395 = 0x0663;\n t.afii57396 = 0x0664;\n t.afii57397 = 0x0665;\n t.afii57398 = 0x0666;\n t.afii57399 = 0x0667;\n t.afii57400 = 0x0668;\n t.afii57401 = 0x0669;\n t.afii57403 = 0x061b;\n t.afii57407 = 0x061f;\n t.afii57409 = 0x0621;\n t.afii57410 = 0x0622;\n t.afii57411 = 0x0623;\n t.afii57412 = 0x0624;\n t.afii57413 = 0x0625;\n t.afii57414 = 0x0626;\n t.afii57415 = 0x0627;\n t.afii57416 = 0x0628;\n t.afii57417 = 0x0629;\n t.afii57418 = 0x062a;\n t.afii57419 = 0x062b;\n t.afii57420 = 0x062c;\n t.afii57421 = 0x062d;\n t.afii57422 = 0x062e;\n t.afii57423 = 0x062f;\n t.afii57424 = 0x0630;\n t.afii57425 = 0x0631;\n t.afii57426 = 0x0632;\n t.afii57427 = 0x0633;\n t.afii57428 = 0x0634;\n t.afii57429 = 0x0635;\n t.afii57430 = 0x0636;\n t.afii57431 = 0x0637;\n t.afii57432 = 0x0638;\n t.afii57433 = 0x0639;\n t.afii57434 = 0x063a;\n t.afii57440 = 0x0640;\n t.afii57441 = 0x0641;\n t.afii57442 = 0x0642;\n t.afii57443 = 0x0643;\n t.afii57444 = 0x0644;\n t.afii57445 = 0x0645;\n t.afii57446 = 0x0646;\n t.afii57448 = 0x0648;\n t.afii57449 = 0x0649;\n t.afii57450 = 0x064a;\n t.afii57451 = 0x064b;\n t.afii57452 = 0x064c;\n t.afii57453 = 0x064d;\n t.afii57454 = 0x064e;\n t.afii57455 = 0x064f;\n t.afii57456 = 0x0650;\n t.afii57457 = 0x0651;\n t.afii57458 = 0x0652;\n t.afii57470 = 0x0647;\n t.afii57505 = 0x06a4;\n t.afii57506 = 0x067e;\n t.afii57507 = 0x0686;\n t.afii57508 = 0x0698;\n t.afii57509 = 0x06af;\n t.afii57511 = 0x0679;\n t.afii57512 = 0x0688;\n t.afii57513 = 0x0691;\n t.afii57514 = 0x06ba;\n t.afii57519 = 0x06d2;\n t.afii57534 = 0x06d5;\n t.afii57636 = 0x20aa;\n t.afii57645 = 0x05be;\n t.afii57658 = 0x05c3;\n t.afii57664 = 0x05d0;\n t.afii57665 = 0x05d1;\n t.afii57666 = 0x05d2;\n t.afii57667 = 0x05d3;\n t.afii57668 = 0x05d4;\n t.afii57669 = 0x05d5;\n t.afii57670 = 0x05d6;\n t.afii57671 = 0x05d7;\n t.afii57672 = 0x05d8;\n t.afii57673 = 0x05d9;\n t.afii57674 = 0x05da;\n t.afii57675 = 0x05db;\n t.afii57676 = 0x05dc;\n t.afii57677 = 0x05dd;\n t.afii57678 = 0x05de;\n t.afii57679 = 0x05df;\n t.afii57680 = 0x05e0;\n t.afii57681 = 0x05e1;\n t.afii57682 = 0x05e2;\n t.afii57683 = 0x05e3;\n t.afii57684 = 0x05e4;\n t.afii57685 = 0x05e5;\n t.afii57686 = 0x05e6;\n t.afii57687 = 0x05e7;\n t.afii57688 = 0x05e8;\n t.afii57689 = 0x05e9;\n t.afii57690 = 0x05ea;\n t.afii57694 = 0xfb2a;\n t.afii57695 = 0xfb2b;\n t.afii57700 = 0xfb4b;\n t.afii57705 = 0xfb1f;\n t.afii57716 = 0x05f0;\n t.afii57717 = 0x05f1;\n t.afii57718 = 0x05f2;\n t.afii57723 = 0xfb35;\n t.afii57793 = 0x05b4;\n t.afii57794 = 0x05b5;\n t.afii57795 = 0x05b6;\n t.afii57796 = 0x05bb;\n t.afii57797 = 0x05b8;\n t.afii57798 = 0x05b7;\n t.afii57799 = 0x05b0;\n t.afii57800 = 0x05b2;\n t.afii57801 = 0x05b1;\n t.afii57802 = 0x05b3;\n t.afii57803 = 0x05c2;\n t.afii57804 = 0x05c1;\n t.afii57806 = 0x05b9;\n t.afii57807 = 0x05bc;\n t.afii57839 = 0x05bd;\n t.afii57841 = 0x05bf;\n t.afii57842 = 0x05c0;\n t.afii57929 = 0x02bc;\n t.afii61248 = 0x2105;\n t.afii61289 = 0x2113;\n t.afii61352 = 0x2116;\n t.afii61573 = 0x202c;\n t.afii61574 = 0x202d;\n t.afii61575 = 0x202e;\n t.afii61664 = 0x200c;\n t.afii63167 = 0x066d;\n t.afii64937 = 0x02bd;\n t.agrave = 0x00e0;\n t.agujarati = 0x0a85;\n t.agurmukhi = 0x0a05;\n t.ahiragana = 0x3042;\n t.ahookabove = 0x1ea3;\n t.aibengali = 0x0990;\n t.aibopomofo = 0x311e;\n t.aideva = 0x0910;\n t.aiecyrillic = 0x04d5;\n t.aigujarati = 0x0a90;\n t.aigurmukhi = 0x0a10;\n t.aimatragurmukhi = 0x0a48;\n t.ainarabic = 0x0639;\n t.ainfinalarabic = 0xfeca;\n t.aininitialarabic = 0xfecb;\n t.ainmedialarabic = 0xfecc;\n t.ainvertedbreve = 0x0203;\n t.aivowelsignbengali = 0x09c8;\n t.aivowelsigndeva = 0x0948;\n t.aivowelsigngujarati = 0x0ac8;\n t.akatakana = 0x30a2;\n t.akatakanahalfwidth = 0xff71;\n t.akorean = 0x314f;\n t.alef = 0x05d0;\n t.alefarabic = 0x0627;\n t.alefdageshhebrew = 0xfb30;\n t.aleffinalarabic = 0xfe8e;\n t.alefhamzaabovearabic = 0x0623;\n t.alefhamzaabovefinalarabic = 0xfe84;\n t.alefhamzabelowarabic = 0x0625;\n t.alefhamzabelowfinalarabic = 0xfe88;\n t.alefhebrew = 0x05d0;\n t.aleflamedhebrew = 0xfb4f;\n t.alefmaddaabovearabic = 0x0622;\n t.alefmaddaabovefinalarabic = 0xfe82;\n t.alefmaksuraarabic = 0x0649;\n t.alefmaksurafinalarabic = 0xfef0;\n t.alefmaksurainitialarabic = 0xfef3;\n t.alefmaksuramedialarabic = 0xfef4;\n t.alefpatahhebrew = 0xfb2e;\n t.alefqamatshebrew = 0xfb2f;\n t.aleph = 0x2135;\n t.allequal = 0x224c;\n t.alpha = 0x03b1;\n t.alphatonos = 0x03ac;\n t.amacron = 0x0101;\n t.amonospace = 0xff41;\n t.ampersand = 0x0026;\n t.ampersandmonospace = 0xff06;\n t.ampersandsmall = 0xf726;\n t.amsquare = 0x33c2;\n t.anbopomofo = 0x3122;\n t.angbopomofo = 0x3124;\n t.angbracketleft = 0x3008;\n t.angbracketright = 0x3009;\n t.angkhankhuthai = 0x0e5a;\n t.angle = 0x2220;\n t.anglebracketleft = 0x3008;\n t.anglebracketleftvertical = 0xfe3f;\n t.anglebracketright = 0x3009;\n t.anglebracketrightvertical = 0xfe40;\n t.angleleft = 0x2329;\n t.angleright = 0x232a;\n t.angstrom = 0x212b;\n t.anoteleia = 0x0387;\n t.anudattadeva = 0x0952;\n t.anusvarabengali = 0x0982;\n t.anusvaradeva = 0x0902;\n t.anusvaragujarati = 0x0a82;\n t.aogonek = 0x0105;\n t.apaatosquare = 0x3300;\n t.aparen = 0x249c;\n t.apostrophearmenian = 0x055a;\n t.apostrophemod = 0x02bc;\n t.apple = 0xf8ff;\n t.approaches = 0x2250;\n t.approxequal = 0x2248;\n t.approxequalorimage = 0x2252;\n t.approximatelyequal = 0x2245;\n t.araeaekorean = 0x318e;\n t.araeakorean = 0x318d;\n t.arc = 0x2312;\n t.arighthalfring = 0x1e9a;\n t.aring = 0x00e5;\n t.aringacute = 0x01fb;\n t.aringbelow = 0x1e01;\n t.arrowboth = 0x2194;\n t.arrowdashdown = 0x21e3;\n t.arrowdashleft = 0x21e0;\n t.arrowdashright = 0x21e2;\n t.arrowdashup = 0x21e1;\n t.arrowdblboth = 0x21d4;\n t.arrowdbldown = 0x21d3;\n t.arrowdblleft = 0x21d0;\n t.arrowdblright = 0x21d2;\n t.arrowdblup = 0x21d1;\n t.arrowdown = 0x2193;\n t.arrowdownleft = 0x2199;\n t.arrowdownright = 0x2198;\n t.arrowdownwhite = 0x21e9;\n t.arrowheaddownmod = 0x02c5;\n t.arrowheadleftmod = 0x02c2;\n t.arrowheadrightmod = 0x02c3;\n t.arrowheadupmod = 0x02c4;\n t.arrowhorizex = 0xf8e7;\n t.arrowleft = 0x2190;\n t.arrowleftdbl = 0x21d0;\n t.arrowleftdblstroke = 0x21cd;\n t.arrowleftoverright = 0x21c6;\n t.arrowleftwhite = 0x21e6;\n t.arrowright = 0x2192;\n t.arrowrightdblstroke = 0x21cf;\n t.arrowrightheavy = 0x279e;\n t.arrowrightoverleft = 0x21c4;\n t.arrowrightwhite = 0x21e8;\n t.arrowtableft = 0x21e4;\n t.arrowtabright = 0x21e5;\n t.arrowup = 0x2191;\n t.arrowupdn = 0x2195;\n t.arrowupdnbse = 0x21a8;\n t.arrowupdownbase = 0x21a8;\n t.arrowupleft = 0x2196;\n t.arrowupleftofdown = 0x21c5;\n t.arrowupright = 0x2197;\n t.arrowupwhite = 0x21e7;\n t.arrowvertex = 0xf8e6;\n t.asciicircum = 0x005e;\n t.asciicircummonospace = 0xff3e;\n t.asciitilde = 0x007e;\n t.asciitildemonospace = 0xff5e;\n t.ascript = 0x0251;\n t.ascriptturned = 0x0252;\n t.asmallhiragana = 0x3041;\n t.asmallkatakana = 0x30a1;\n t.asmallkatakanahalfwidth = 0xff67;\n t.asterisk = 0x002a;\n t.asteriskaltonearabic = 0x066d;\n t.asteriskarabic = 0x066d;\n t.asteriskmath = 0x2217;\n t.asteriskmonospace = 0xff0a;\n t.asterisksmall = 0xfe61;\n t.asterism = 0x2042;\n t.asuperior = 0xf6e9;\n t.asymptoticallyequal = 0x2243;\n t.at = 0x0040;\n t.atilde = 0x00e3;\n t.atmonospace = 0xff20;\n t.atsmall = 0xfe6b;\n t.aturned = 0x0250;\n t.aubengali = 0x0994;\n t.aubopomofo = 0x3120;\n t.audeva = 0x0914;\n t.augujarati = 0x0a94;\n t.augurmukhi = 0x0a14;\n t.aulengthmarkbengali = 0x09d7;\n t.aumatragurmukhi = 0x0a4c;\n t.auvowelsignbengali = 0x09cc;\n t.auvowelsigndeva = 0x094c;\n t.auvowelsigngujarati = 0x0acc;\n t.avagrahadeva = 0x093d;\n t.aybarmenian = 0x0561;\n t.ayin = 0x05e2;\n t.ayinaltonehebrew = 0xfb20;\n t.ayinhebrew = 0x05e2;\n t.b = 0x0062;\n t.babengali = 0x09ac;\n t.backslash = 0x005c;\n t.backslashmonospace = 0xff3c;\n t.badeva = 0x092c;\n t.bagujarati = 0x0aac;\n t.bagurmukhi = 0x0a2c;\n t.bahiragana = 0x3070;\n t.bahtthai = 0x0e3f;\n t.bakatakana = 0x30d0;\n t.bar = 0x007c;\n t.barmonospace = 0xff5c;\n t.bbopomofo = 0x3105;\n t.bcircle = 0x24d1;\n t.bdotaccent = 0x1e03;\n t.bdotbelow = 0x1e05;\n t.beamedsixteenthnotes = 0x266c;\n t.because = 0x2235;\n t.becyrillic = 0x0431;\n t.beharabic = 0x0628;\n t.behfinalarabic = 0xfe90;\n t.behinitialarabic = 0xfe91;\n t.behiragana = 0x3079;\n t.behmedialarabic = 0xfe92;\n t.behmeeminitialarabic = 0xfc9f;\n t.behmeemisolatedarabic = 0xfc08;\n t.behnoonfinalarabic = 0xfc6d;\n t.bekatakana = 0x30d9;\n t.benarmenian = 0x0562;\n t.bet = 0x05d1;\n t.beta = 0x03b2;\n t.betasymbolgreek = 0x03d0;\n t.betdagesh = 0xfb31;\n t.betdageshhebrew = 0xfb31;\n t.bethebrew = 0x05d1;\n t.betrafehebrew = 0xfb4c;\n t.bhabengali = 0x09ad;\n t.bhadeva = 0x092d;\n t.bhagujarati = 0x0aad;\n t.bhagurmukhi = 0x0a2d;\n t.bhook = 0x0253;\n t.bihiragana = 0x3073;\n t.bikatakana = 0x30d3;\n t.bilabialclick = 0x0298;\n t.bindigurmukhi = 0x0a02;\n t.birusquare = 0x3331;\n t.blackcircle = 0x25cf;\n t.blackdiamond = 0x25c6;\n t.blackdownpointingtriangle = 0x25bc;\n t.blackleftpointingpointer = 0x25c4;\n t.blackleftpointingtriangle = 0x25c0;\n t.blacklenticularbracketleft = 0x3010;\n t.blacklenticularbracketleftvertical = 0xfe3b;\n t.blacklenticularbracketright = 0x3011;\n t.blacklenticularbracketrightvertical = 0xfe3c;\n t.blacklowerlefttriangle = 0x25e3;\n t.blacklowerrighttriangle = 0x25e2;\n t.blackrectangle = 0x25ac;\n t.blackrightpointingpointer = 0x25ba;\n t.blackrightpointingtriangle = 0x25b6;\n t.blacksmallsquare = 0x25aa;\n t.blacksmilingface = 0x263b;\n t.blacksquare = 0x25a0;\n t.blackstar = 0x2605;\n t.blackupperlefttriangle = 0x25e4;\n t.blackupperrighttriangle = 0x25e5;\n t.blackuppointingsmalltriangle = 0x25b4;\n t.blackuppointingtriangle = 0x25b2;\n t.blank = 0x2423;\n t.blinebelow = 0x1e07;\n t.block = 0x2588;\n t.bmonospace = 0xff42;\n t.bobaimaithai = 0x0e1a;\n t.bohiragana = 0x307c;\n t.bokatakana = 0x30dc;\n t.bparen = 0x249d;\n t.bqsquare = 0x33c3;\n t.braceex = 0xf8f4;\n t.braceleft = 0x007b;\n t.braceleftbt = 0xf8f3;\n t.braceleftmid = 0xf8f2;\n t.braceleftmonospace = 0xff5b;\n t.braceleftsmall = 0xfe5b;\n t.bracelefttp = 0xf8f1;\n t.braceleftvertical = 0xfe37;\n t.braceright = 0x007d;\n t.bracerightbt = 0xf8fe;\n t.bracerightmid = 0xf8fd;\n t.bracerightmonospace = 0xff5d;\n t.bracerightsmall = 0xfe5c;\n t.bracerighttp = 0xf8fc;\n t.bracerightvertical = 0xfe38;\n t.bracketleft = 0x005b;\n t.bracketleftbt = 0xf8f0;\n t.bracketleftex = 0xf8ef;\n t.bracketleftmonospace = 0xff3b;\n t.bracketlefttp = 0xf8ee;\n t.bracketright = 0x005d;\n t.bracketrightbt = 0xf8fb;\n t.bracketrightex = 0xf8fa;\n t.bracketrightmonospace = 0xff3d;\n t.bracketrighttp = 0xf8f9;\n t.breve = 0x02d8;\n t.brevebelowcmb = 0x032e;\n t.brevecmb = 0x0306;\n t.breveinvertedbelowcmb = 0x032f;\n t.breveinvertedcmb = 0x0311;\n t.breveinverteddoublecmb = 0x0361;\n t.bridgebelowcmb = 0x032a;\n t.bridgeinvertedbelowcmb = 0x033a;\n t.brokenbar = 0x00a6;\n t.bstroke = 0x0180;\n t.bsuperior = 0xf6ea;\n t.btopbar = 0x0183;\n t.buhiragana = 0x3076;\n t.bukatakana = 0x30d6;\n t.bullet = 0x2022;\n t.bulletinverse = 0x25d8;\n t.bulletoperator = 0x2219;\n t.bullseye = 0x25ce;\n t.c = 0x0063;\n t.caarmenian = 0x056e;\n t.cabengali = 0x099a;\n t.cacute = 0x0107;\n t.cadeva = 0x091a;\n t.cagujarati = 0x0a9a;\n t.cagurmukhi = 0x0a1a;\n t.calsquare = 0x3388;\n t.candrabindubengali = 0x0981;\n t.candrabinducmb = 0x0310;\n t.candrabindudeva = 0x0901;\n t.candrabindugujarati = 0x0a81;\n t.capslock = 0x21ea;\n t.careof = 0x2105;\n t.caron = 0x02c7;\n t.caronbelowcmb = 0x032c;\n t.caroncmb = 0x030c;\n t.carriagereturn = 0x21b5;\n t.cbopomofo = 0x3118;\n t.ccaron = 0x010d;\n t.ccedilla = 0x00e7;\n t.ccedillaacute = 0x1e09;\n t.ccircle = 0x24d2;\n t.ccircumflex = 0x0109;\n t.ccurl = 0x0255;\n t.cdot = 0x010b;\n t.cdotaccent = 0x010b;\n t.cdsquare = 0x33c5;\n t.cedilla = 0x00b8;\n t.cedillacmb = 0x0327;\n t.cent = 0x00a2;\n t.centigrade = 0x2103;\n t.centinferior = 0xf6df;\n t.centmonospace = 0xffe0;\n t.centoldstyle = 0xf7a2;\n t.centsuperior = 0xf6e0;\n t.chaarmenian = 0x0579;\n t.chabengali = 0x099b;\n t.chadeva = 0x091b;\n t.chagujarati = 0x0a9b;\n t.chagurmukhi = 0x0a1b;\n t.chbopomofo = 0x3114;\n t.cheabkhasiancyrillic = 0x04bd;\n t.checkmark = 0x2713;\n t.checyrillic = 0x0447;\n t.chedescenderabkhasiancyrillic = 0x04bf;\n t.chedescendercyrillic = 0x04b7;\n t.chedieresiscyrillic = 0x04f5;\n t.cheharmenian = 0x0573;\n t.chekhakassiancyrillic = 0x04cc;\n t.cheverticalstrokecyrillic = 0x04b9;\n t.chi = 0x03c7;\n t.chieuchacirclekorean = 0x3277;\n t.chieuchaparenkorean = 0x3217;\n t.chieuchcirclekorean = 0x3269;\n t.chieuchkorean = 0x314a;\n t.chieuchparenkorean = 0x3209;\n t.chochangthai = 0x0e0a;\n t.chochanthai = 0x0e08;\n t.chochingthai = 0x0e09;\n t.chochoethai = 0x0e0c;\n t.chook = 0x0188;\n t.cieucacirclekorean = 0x3276;\n t.cieucaparenkorean = 0x3216;\n t.cieuccirclekorean = 0x3268;\n t.cieuckorean = 0x3148;\n t.cieucparenkorean = 0x3208;\n t.cieucuparenkorean = 0x321c;\n t.circle = 0x25cb;\n t.circlecopyrt = 0x00a9;\n t.circlemultiply = 0x2297;\n t.circleot = 0x2299;\n t.circleplus = 0x2295;\n t.circlepostalmark = 0x3036;\n t.circlewithlefthalfblack = 0x25d0;\n t.circlewithrighthalfblack = 0x25d1;\n t.circumflex = 0x02c6;\n t.circumflexbelowcmb = 0x032d;\n t.circumflexcmb = 0x0302;\n t.clear = 0x2327;\n t.clickalveolar = 0x01c2;\n t.clickdental = 0x01c0;\n t.clicklateral = 0x01c1;\n t.clickretroflex = 0x01c3;\n t.club = 0x2663;\n t.clubsuitblack = 0x2663;\n t.clubsuitwhite = 0x2667;\n t.cmcubedsquare = 0x33a4;\n t.cmonospace = 0xff43;\n t.cmsquaredsquare = 0x33a0;\n t.coarmenian = 0x0581;\n t.colon = 0x003a;\n t.colonmonetary = 0x20a1;\n t.colonmonospace = 0xff1a;\n t.colonsign = 0x20a1;\n t.colonsmall = 0xfe55;\n t.colontriangularhalfmod = 0x02d1;\n t.colontriangularmod = 0x02d0;\n t.comma = 0x002c;\n t.commaabovecmb = 0x0313;\n t.commaaboverightcmb = 0x0315;\n t.commaaccent = 0xf6c3;\n t.commaarabic = 0x060c;\n t.commaarmenian = 0x055d;\n t.commainferior = 0xf6e1;\n t.commamonospace = 0xff0c;\n t.commareversedabovecmb = 0x0314;\n t.commareversedmod = 0x02bd;\n t.commasmall = 0xfe50;\n t.commasuperior = 0xf6e2;\n t.commaturnedabovecmb = 0x0312;\n t.commaturnedmod = 0x02bb;\n t.compass = 0x263c;\n t.congruent = 0x2245;\n t.contourintegral = 0x222e;\n t.control = 0x2303;\n t.controlACK = 0x0006;\n t.controlBEL = 0x0007;\n t.controlBS = 0x0008;\n t.controlCAN = 0x0018;\n t.controlCR = 0x000d;\n t.controlDC1 = 0x0011;\n t.controlDC2 = 0x0012;\n t.controlDC3 = 0x0013;\n t.controlDC4 = 0x0014;\n t.controlDEL = 0x007f;\n t.controlDLE = 0x0010;\n t.controlEM = 0x0019;\n t.controlENQ = 0x0005;\n t.controlEOT = 0x0004;\n t.controlESC = 0x001b;\n t.controlETB = 0x0017;\n t.controlETX = 0x0003;\n t.controlFF = 0x000c;\n t.controlFS = 0x001c;\n t.controlGS = 0x001d;\n t.controlHT = 0x0009;\n t.controlLF = 0x000a;\n t.controlNAK = 0x0015;\n t.controlNULL = 0x0000;\n t.controlRS = 0x001e;\n t.controlSI = 0x000f;\n t.controlSO = 0x000e;\n t.controlSOT = 0x0002;\n t.controlSTX = 0x0001;\n t.controlSUB = 0x001a;\n t.controlSYN = 0x0016;\n t.controlUS = 0x001f;\n t.controlVT = 0x000b;\n t.copyright = 0x00a9;\n t.copyrightsans = 0xf8e9;\n t.copyrightserif = 0xf6d9;\n t.cornerbracketleft = 0x300c;\n t.cornerbracketlefthalfwidth = 0xff62;\n t.cornerbracketleftvertical = 0xfe41;\n t.cornerbracketright = 0x300d;\n t.cornerbracketrighthalfwidth = 0xff63;\n t.cornerbracketrightvertical = 0xfe42;\n t.corporationsquare = 0x337f;\n t.cosquare = 0x33c7;\n t.coverkgsquare = 0x33c6;\n t.cparen = 0x249e;\n t.cruzeiro = 0x20a2;\n t.cstretched = 0x0297;\n t.curlyand = 0x22cf;\n t.curlyor = 0x22ce;\n t.currency = 0x00a4;\n t.cyrBreve = 0xf6d1;\n t.cyrFlex = 0xf6d2;\n t.cyrbreve = 0xf6d4;\n t.cyrflex = 0xf6d5;\n t.d = 0x0064;\n t.daarmenian = 0x0564;\n t.dabengali = 0x09a6;\n t.dadarabic = 0x0636;\n t.dadeva = 0x0926;\n t.dadfinalarabic = 0xfebe;\n t.dadinitialarabic = 0xfebf;\n t.dadmedialarabic = 0xfec0;\n t.dagesh = 0x05bc;\n t.dageshhebrew = 0x05bc;\n t.dagger = 0x2020;\n t.daggerdbl = 0x2021;\n t.dagujarati = 0x0aa6;\n t.dagurmukhi = 0x0a26;\n t.dahiragana = 0x3060;\n t.dakatakana = 0x30c0;\n t.dalarabic = 0x062f;\n t.dalet = 0x05d3;\n t.daletdagesh = 0xfb33;\n t.daletdageshhebrew = 0xfb33;\n t.dalethebrew = 0x05d3;\n t.dalfinalarabic = 0xfeaa;\n t.dammaarabic = 0x064f;\n t.dammalowarabic = 0x064f;\n t.dammatanaltonearabic = 0x064c;\n t.dammatanarabic = 0x064c;\n t.danda = 0x0964;\n t.dargahebrew = 0x05a7;\n t.dargalefthebrew = 0x05a7;\n t.dasiapneumatacyrilliccmb = 0x0485;\n t.dblGrave = 0xf6d3;\n t.dblanglebracketleft = 0x300a;\n t.dblanglebracketleftvertical = 0xfe3d;\n t.dblanglebracketright = 0x300b;\n t.dblanglebracketrightvertical = 0xfe3e;\n t.dblarchinvertedbelowcmb = 0x032b;\n t.dblarrowleft = 0x21d4;\n t.dblarrowright = 0x21d2;\n t.dbldanda = 0x0965;\n t.dblgrave = 0xf6d6;\n t.dblgravecmb = 0x030f;\n t.dblintegral = 0x222c;\n t.dbllowline = 0x2017;\n t.dbllowlinecmb = 0x0333;\n t.dbloverlinecmb = 0x033f;\n t.dblprimemod = 0x02ba;\n t.dblverticalbar = 0x2016;\n t.dblverticallineabovecmb = 0x030e;\n t.dbopomofo = 0x3109;\n t.dbsquare = 0x33c8;\n t.dcaron = 0x010f;\n t.dcedilla = 0x1e11;\n t.dcircle = 0x24d3;\n t.dcircumflexbelow = 0x1e13;\n t.dcroat = 0x0111;\n t.ddabengali = 0x09a1;\n t.ddadeva = 0x0921;\n t.ddagujarati = 0x0aa1;\n t.ddagurmukhi = 0x0a21;\n t.ddalarabic = 0x0688;\n t.ddalfinalarabic = 0xfb89;\n t.dddhadeva = 0x095c;\n t.ddhabengali = 0x09a2;\n t.ddhadeva = 0x0922;\n t.ddhagujarati = 0x0aa2;\n t.ddhagurmukhi = 0x0a22;\n t.ddotaccent = 0x1e0b;\n t.ddotbelow = 0x1e0d;\n t.decimalseparatorarabic = 0x066b;\n t.decimalseparatorpersian = 0x066b;\n t.decyrillic = 0x0434;\n t.degree = 0x00b0;\n t.dehihebrew = 0x05ad;\n t.dehiragana = 0x3067;\n t.deicoptic = 0x03ef;\n t.dekatakana = 0x30c7;\n t.deleteleft = 0x232b;\n t.deleteright = 0x2326;\n t.delta = 0x03b4;\n t.deltaturned = 0x018d;\n t.denominatorminusonenumeratorbengali = 0x09f8;\n t.dezh = 0x02a4;\n t.dhabengali = 0x09a7;\n t.dhadeva = 0x0927;\n t.dhagujarati = 0x0aa7;\n t.dhagurmukhi = 0x0a27;\n t.dhook = 0x0257;\n t.dialytikatonos = 0x0385;\n t.dialytikatonoscmb = 0x0344;\n t.diamond = 0x2666;\n t.diamondsuitwhite = 0x2662;\n t.dieresis = 0x00a8;\n t.dieresisacute = 0xf6d7;\n t.dieresisbelowcmb = 0x0324;\n t.dieresiscmb = 0x0308;\n t.dieresisgrave = 0xf6d8;\n t.dieresistonos = 0x0385;\n t.dihiragana = 0x3062;\n t.dikatakana = 0x30c2;\n t.dittomark = 0x3003;\n t.divide = 0x00f7;\n t.divides = 0x2223;\n t.divisionslash = 0x2215;\n t.djecyrillic = 0x0452;\n t.dkshade = 0x2593;\n t.dlinebelow = 0x1e0f;\n t.dlsquare = 0x3397;\n t.dmacron = 0x0111;\n t.dmonospace = 0xff44;\n t.dnblock = 0x2584;\n t.dochadathai = 0x0e0e;\n t.dodekthai = 0x0e14;\n t.dohiragana = 0x3069;\n t.dokatakana = 0x30c9;\n t.dollar = 0x0024;\n t.dollarinferior = 0xf6e3;\n t.dollarmonospace = 0xff04;\n t.dollaroldstyle = 0xf724;\n t.dollarsmall = 0xfe69;\n t.dollarsuperior = 0xf6e4;\n t.dong = 0x20ab;\n t.dorusquare = 0x3326;\n t.dotaccent = 0x02d9;\n t.dotaccentcmb = 0x0307;\n t.dotbelowcmb = 0x0323;\n t.dotbelowcomb = 0x0323;\n t.dotkatakana = 0x30fb;\n t.dotlessi = 0x0131;\n t.dotlessj = 0xf6be;\n t.dotlessjstrokehook = 0x0284;\n t.dotmath = 0x22c5;\n t.dottedcircle = 0x25cc;\n t.doubleyodpatah = 0xfb1f;\n t.doubleyodpatahhebrew = 0xfb1f;\n t.downtackbelowcmb = 0x031e;\n t.downtackmod = 0x02d5;\n t.dparen = 0x249f;\n t.dsuperior = 0xf6eb;\n t.dtail = 0x0256;\n t.dtopbar = 0x018c;\n t.duhiragana = 0x3065;\n t.dukatakana = 0x30c5;\n t.dz = 0x01f3;\n t.dzaltone = 0x02a3;\n t.dzcaron = 0x01c6;\n t.dzcurl = 0x02a5;\n t.dzeabkhasiancyrillic = 0x04e1;\n t.dzecyrillic = 0x0455;\n t.dzhecyrillic = 0x045f;\n t.e = 0x0065;\n t.eacute = 0x00e9;\n t.earth = 0x2641;\n t.ebengali = 0x098f;\n t.ebopomofo = 0x311c;\n t.ebreve = 0x0115;\n t.ecandradeva = 0x090d;\n t.ecandragujarati = 0x0a8d;\n t.ecandravowelsigndeva = 0x0945;\n t.ecandravowelsigngujarati = 0x0ac5;\n t.ecaron = 0x011b;\n t.ecedillabreve = 0x1e1d;\n t.echarmenian = 0x0565;\n t.echyiwnarmenian = 0x0587;\n t.ecircle = 0x24d4;\n t.ecircumflex = 0x00ea;\n t.ecircumflexacute = 0x1ebf;\n t.ecircumflexbelow = 0x1e19;\n t.ecircumflexdotbelow = 0x1ec7;\n t.ecircumflexgrave = 0x1ec1;\n t.ecircumflexhookabove = 0x1ec3;\n t.ecircumflextilde = 0x1ec5;\n t.ecyrillic = 0x0454;\n t.edblgrave = 0x0205;\n t.edeva = 0x090f;\n t.edieresis = 0x00eb;\n t.edot = 0x0117;\n t.edotaccent = 0x0117;\n t.edotbelow = 0x1eb9;\n t.eegurmukhi = 0x0a0f;\n t.eematragurmukhi = 0x0a47;\n t.efcyrillic = 0x0444;\n t.egrave = 0x00e8;\n t.egujarati = 0x0a8f;\n t.eharmenian = 0x0567;\n t.ehbopomofo = 0x311d;\n t.ehiragana = 0x3048;\n t.ehookabove = 0x1ebb;\n t.eibopomofo = 0x311f;\n t.eight = 0x0038;\n t.eightarabic = 0x0668;\n t.eightbengali = 0x09ee;\n t.eightcircle = 0x2467;\n t.eightcircleinversesansserif = 0x2791;\n t.eightdeva = 0x096e;\n t.eighteencircle = 0x2471;\n t.eighteenparen = 0x2485;\n t.eighteenperiod = 0x2499;\n t.eightgujarati = 0x0aee;\n t.eightgurmukhi = 0x0a6e;\n t.eighthackarabic = 0x0668;\n t.eighthangzhou = 0x3028;\n t.eighthnotebeamed = 0x266b;\n t.eightideographicparen = 0x3227;\n t.eightinferior = 0x2088;\n t.eightmonospace = 0xff18;\n t.eightoldstyle = 0xf738;\n t.eightparen = 0x247b;\n t.eightperiod = 0x248f;\n t.eightpersian = 0x06f8;\n t.eightroman = 0x2177;\n t.eightsuperior = 0x2078;\n t.eightthai = 0x0e58;\n t.einvertedbreve = 0x0207;\n t.eiotifiedcyrillic = 0x0465;\n t.ekatakana = 0x30a8;\n t.ekatakanahalfwidth = 0xff74;\n t.ekonkargurmukhi = 0x0a74;\n t.ekorean = 0x3154;\n t.elcyrillic = 0x043b;\n t.element = 0x2208;\n t.elevencircle = 0x246a;\n t.elevenparen = 0x247e;\n t.elevenperiod = 0x2492;\n t.elevenroman = 0x217a;\n t.ellipsis = 0x2026;\n t.ellipsisvertical = 0x22ee;\n t.emacron = 0x0113;\n t.emacronacute = 0x1e17;\n t.emacrongrave = 0x1e15;\n t.emcyrillic = 0x043c;\n t.emdash = 0x2014;\n t.emdashvertical = 0xfe31;\n t.emonospace = 0xff45;\n t.emphasismarkarmenian = 0x055b;\n t.emptyset = 0x2205;\n t.enbopomofo = 0x3123;\n t.encyrillic = 0x043d;\n t.endash = 0x2013;\n t.endashvertical = 0xfe32;\n t.endescendercyrillic = 0x04a3;\n t.eng = 0x014b;\n t.engbopomofo = 0x3125;\n t.enghecyrillic = 0x04a5;\n t.enhookcyrillic = 0x04c8;\n t.enspace = 0x2002;\n t.eogonek = 0x0119;\n t.eokorean = 0x3153;\n t.eopen = 0x025b;\n t.eopenclosed = 0x029a;\n t.eopenreversed = 0x025c;\n t.eopenreversedclosed = 0x025e;\n t.eopenreversedhook = 0x025d;\n t.eparen = 0x24a0;\n t.epsilon = 0x03b5;\n t.epsilontonos = 0x03ad;\n t.equal = 0x003d;\n t.equalmonospace = 0xff1d;\n t.equalsmall = 0xfe66;\n t.equalsuperior = 0x207c;\n t.equivalence = 0x2261;\n t.erbopomofo = 0x3126;\n t.ercyrillic = 0x0440;\n t.ereversed = 0x0258;\n t.ereversedcyrillic = 0x044d;\n t.escyrillic = 0x0441;\n t.esdescendercyrillic = 0x04ab;\n t.esh = 0x0283;\n t.eshcurl = 0x0286;\n t.eshortdeva = 0x090e;\n t.eshortvowelsigndeva = 0x0946;\n t.eshreversedloop = 0x01aa;\n t.eshsquatreversed = 0x0285;\n t.esmallhiragana = 0x3047;\n t.esmallkatakana = 0x30a7;\n t.esmallkatakanahalfwidth = 0xff6a;\n t.estimated = 0x212e;\n t.esuperior = 0xf6ec;\n t.eta = 0x03b7;\n t.etarmenian = 0x0568;\n t.etatonos = 0x03ae;\n t.eth = 0x00f0;\n t.etilde = 0x1ebd;\n t.etildebelow = 0x1e1b;\n t.etnahtafoukhhebrew = 0x0591;\n t.etnahtafoukhlefthebrew = 0x0591;\n t.etnahtahebrew = 0x0591;\n t.etnahtalefthebrew = 0x0591;\n t.eturned = 0x01dd;\n t.eukorean = 0x3161;\n t.euro = 0x20ac;\n t.evowelsignbengali = 0x09c7;\n t.evowelsigndeva = 0x0947;\n t.evowelsigngujarati = 0x0ac7;\n t.exclam = 0x0021;\n t.exclamarmenian = 0x055c;\n t.exclamdbl = 0x203c;\n t.exclamdown = 0x00a1;\n t.exclamdownsmall = 0xf7a1;\n t.exclammonospace = 0xff01;\n t.exclamsmall = 0xf721;\n t.existential = 0x2203;\n t.ezh = 0x0292;\n t.ezhcaron = 0x01ef;\n t.ezhcurl = 0x0293;\n t.ezhreversed = 0x01b9;\n t.ezhtail = 0x01ba;\n t.f = 0x0066;\n t.fadeva = 0x095e;\n t.fagurmukhi = 0x0a5e;\n t.fahrenheit = 0x2109;\n t.fathaarabic = 0x064e;\n t.fathalowarabic = 0x064e;\n t.fathatanarabic = 0x064b;\n t.fbopomofo = 0x3108;\n t.fcircle = 0x24d5;\n t.fdotaccent = 0x1e1f;\n t.feharabic = 0x0641;\n t.feharmenian = 0x0586;\n t.fehfinalarabic = 0xfed2;\n t.fehinitialarabic = 0xfed3;\n t.fehmedialarabic = 0xfed4;\n t.feicoptic = 0x03e5;\n t.female = 0x2640;\n t.ff = 0xfb00;\n t.f_f = 0xfb00;\n t.ffi = 0xfb03;\n t.ffl = 0xfb04;\n t.fi = 0xfb01;\n t.fifteencircle = 0x246e;\n t.fifteenparen = 0x2482;\n t.fifteenperiod = 0x2496;\n t.figuredash = 0x2012;\n t.filledbox = 0x25a0;\n t.filledrect = 0x25ac;\n t.finalkaf = 0x05da;\n t.finalkafdagesh = 0xfb3a;\n t.finalkafdageshhebrew = 0xfb3a;\n t.finalkafhebrew = 0x05da;\n t.finalmem = 0x05dd;\n t.finalmemhebrew = 0x05dd;\n t.finalnun = 0x05df;\n t.finalnunhebrew = 0x05df;\n t.finalpe = 0x05e3;\n t.finalpehebrew = 0x05e3;\n t.finaltsadi = 0x05e5;\n t.finaltsadihebrew = 0x05e5;\n t.firsttonechinese = 0x02c9;\n t.fisheye = 0x25c9;\n t.fitacyrillic = 0x0473;\n t.five = 0x0035;\n t.fivearabic = 0x0665;\n t.fivebengali = 0x09eb;\n t.fivecircle = 0x2464;\n t.fivecircleinversesansserif = 0x278e;\n t.fivedeva = 0x096b;\n t.fiveeighths = 0x215d;\n t.fivegujarati = 0x0aeb;\n t.fivegurmukhi = 0x0a6b;\n t.fivehackarabic = 0x0665;\n t.fivehangzhou = 0x3025;\n t.fiveideographicparen = 0x3224;\n t.fiveinferior = 0x2085;\n t.fivemonospace = 0xff15;\n t.fiveoldstyle = 0xf735;\n t.fiveparen = 0x2478;\n t.fiveperiod = 0x248c;\n t.fivepersian = 0x06f5;\n t.fiveroman = 0x2174;\n t.fivesuperior = 0x2075;\n t.fivethai = 0x0e55;\n t.fl = 0xfb02;\n t.florin = 0x0192;\n t.fmonospace = 0xff46;\n t.fmsquare = 0x3399;\n t.fofanthai = 0x0e1f;\n t.fofathai = 0x0e1d;\n t.fongmanthai = 0x0e4f;\n t.forall = 0x2200;\n t.four = 0x0034;\n t.fourarabic = 0x0664;\n t.fourbengali = 0x09ea;\n t.fourcircle = 0x2463;\n t.fourcircleinversesansserif = 0x278d;\n t.fourdeva = 0x096a;\n t.fourgujarati = 0x0aea;\n t.fourgurmukhi = 0x0a6a;\n t.fourhackarabic = 0x0664;\n t.fourhangzhou = 0x3024;\n t.fourideographicparen = 0x3223;\n t.fourinferior = 0x2084;\n t.fourmonospace = 0xff14;\n t.fournumeratorbengali = 0x09f7;\n t.fouroldstyle = 0xf734;\n t.fourparen = 0x2477;\n t.fourperiod = 0x248b;\n t.fourpersian = 0x06f4;\n t.fourroman = 0x2173;\n t.foursuperior = 0x2074;\n t.fourteencircle = 0x246d;\n t.fourteenparen = 0x2481;\n t.fourteenperiod = 0x2495;\n t.fourthai = 0x0e54;\n t.fourthtonechinese = 0x02cb;\n t.fparen = 0x24a1;\n t.fraction = 0x2044;\n t.franc = 0x20a3;\n t.g = 0x0067;\n t.gabengali = 0x0997;\n t.gacute = 0x01f5;\n t.gadeva = 0x0917;\n t.gafarabic = 0x06af;\n t.gaffinalarabic = 0xfb93;\n t.gafinitialarabic = 0xfb94;\n t.gafmedialarabic = 0xfb95;\n t.gagujarati = 0x0a97;\n t.gagurmukhi = 0x0a17;\n t.gahiragana = 0x304c;\n t.gakatakana = 0x30ac;\n t.gamma = 0x03b3;\n t.gammalatinsmall = 0x0263;\n t.gammasuperior = 0x02e0;\n t.gangiacoptic = 0x03eb;\n t.gbopomofo = 0x310d;\n t.gbreve = 0x011f;\n t.gcaron = 0x01e7;\n t.gcedilla = 0x0123;\n t.gcircle = 0x24d6;\n t.gcircumflex = 0x011d;\n t.gcommaaccent = 0x0123;\n t.gdot = 0x0121;\n t.gdotaccent = 0x0121;\n t.gecyrillic = 0x0433;\n t.gehiragana = 0x3052;\n t.gekatakana = 0x30b2;\n t.geometricallyequal = 0x2251;\n t.gereshaccenthebrew = 0x059c;\n t.gereshhebrew = 0x05f3;\n t.gereshmuqdamhebrew = 0x059d;\n t.germandbls = 0x00df;\n t.gershayimaccenthebrew = 0x059e;\n t.gershayimhebrew = 0x05f4;\n t.getamark = 0x3013;\n t.ghabengali = 0x0998;\n t.ghadarmenian = 0x0572;\n t.ghadeva = 0x0918;\n t.ghagujarati = 0x0a98;\n t.ghagurmukhi = 0x0a18;\n t.ghainarabic = 0x063a;\n t.ghainfinalarabic = 0xfece;\n t.ghaininitialarabic = 0xfecf;\n t.ghainmedialarabic = 0xfed0;\n t.ghemiddlehookcyrillic = 0x0495;\n t.ghestrokecyrillic = 0x0493;\n t.gheupturncyrillic = 0x0491;\n t.ghhadeva = 0x095a;\n t.ghhagurmukhi = 0x0a5a;\n t.ghook = 0x0260;\n t.ghzsquare = 0x3393;\n t.gihiragana = 0x304e;\n t.gikatakana = 0x30ae;\n t.gimarmenian = 0x0563;\n t.gimel = 0x05d2;\n t.gimeldagesh = 0xfb32;\n t.gimeldageshhebrew = 0xfb32;\n t.gimelhebrew = 0x05d2;\n t.gjecyrillic = 0x0453;\n t.glottalinvertedstroke = 0x01be;\n t.glottalstop = 0x0294;\n t.glottalstopinverted = 0x0296;\n t.glottalstopmod = 0x02c0;\n t.glottalstopreversed = 0x0295;\n t.glottalstopreversedmod = 0x02c1;\n t.glottalstopreversedsuperior = 0x02e4;\n t.glottalstopstroke = 0x02a1;\n t.glottalstopstrokereversed = 0x02a2;\n t.gmacron = 0x1e21;\n t.gmonospace = 0xff47;\n t.gohiragana = 0x3054;\n t.gokatakana = 0x30b4;\n t.gparen = 0x24a2;\n t.gpasquare = 0x33ac;\n t.gradient = 0x2207;\n t.grave = 0x0060;\n t.gravebelowcmb = 0x0316;\n t.gravecmb = 0x0300;\n t.gravecomb = 0x0300;\n t.gravedeva = 0x0953;\n t.gravelowmod = 0x02ce;\n t.gravemonospace = 0xff40;\n t.gravetonecmb = 0x0340;\n t.greater = 0x003e;\n t.greaterequal = 0x2265;\n t.greaterequalorless = 0x22db;\n t.greatermonospace = 0xff1e;\n t.greaterorequivalent = 0x2273;\n t.greaterorless = 0x2277;\n t.greateroverequal = 0x2267;\n t.greatersmall = 0xfe65;\n t.gscript = 0x0261;\n t.gstroke = 0x01e5;\n t.guhiragana = 0x3050;\n t.guillemotleft = 0x00ab;\n t.guillemotright = 0x00bb;\n t.guilsinglleft = 0x2039;\n t.guilsinglright = 0x203a;\n t.gukatakana = 0x30b0;\n t.guramusquare = 0x3318;\n t.gysquare = 0x33c9;\n t.h = 0x0068;\n t.haabkhasiancyrillic = 0x04a9;\n t.haaltonearabic = 0x06c1;\n t.habengali = 0x09b9;\n t.hadescendercyrillic = 0x04b3;\n t.hadeva = 0x0939;\n t.hagujarati = 0x0ab9;\n t.hagurmukhi = 0x0a39;\n t.haharabic = 0x062d;\n t.hahfinalarabic = 0xfea2;\n t.hahinitialarabic = 0xfea3;\n t.hahiragana = 0x306f;\n t.hahmedialarabic = 0xfea4;\n t.haitusquare = 0x332a;\n t.hakatakana = 0x30cf;\n t.hakatakanahalfwidth = 0xff8a;\n t.halantgurmukhi = 0x0a4d;\n t.hamzaarabic = 0x0621;\n t.hamzalowarabic = 0x0621;\n t.hangulfiller = 0x3164;\n t.hardsigncyrillic = 0x044a;\n t.harpoonleftbarbup = 0x21bc;\n t.harpoonrightbarbup = 0x21c0;\n t.hasquare = 0x33ca;\n t.hatafpatah = 0x05b2;\n t.hatafpatah16 = 0x05b2;\n t.hatafpatah23 = 0x05b2;\n t.hatafpatah2f = 0x05b2;\n t.hatafpatahhebrew = 0x05b2;\n t.hatafpatahnarrowhebrew = 0x05b2;\n t.hatafpatahquarterhebrew = 0x05b2;\n t.hatafpatahwidehebrew = 0x05b2;\n t.hatafqamats = 0x05b3;\n t.hatafqamats1b = 0x05b3;\n t.hatafqamats28 = 0x05b3;\n t.hatafqamats34 = 0x05b3;\n t.hatafqamatshebrew = 0x05b3;\n t.hatafqamatsnarrowhebrew = 0x05b3;\n t.hatafqamatsquarterhebrew = 0x05b3;\n t.hatafqamatswidehebrew = 0x05b3;\n t.hatafsegol = 0x05b1;\n t.hatafsegol17 = 0x05b1;\n t.hatafsegol24 = 0x05b1;\n t.hatafsegol30 = 0x05b1;\n t.hatafsegolhebrew = 0x05b1;\n t.hatafsegolnarrowhebrew = 0x05b1;\n t.hatafsegolquarterhebrew = 0x05b1;\n t.hatafsegolwidehebrew = 0x05b1;\n t.hbar = 0x0127;\n t.hbopomofo = 0x310f;\n t.hbrevebelow = 0x1e2b;\n t.hcedilla = 0x1e29;\n t.hcircle = 0x24d7;\n t.hcircumflex = 0x0125;\n t.hdieresis = 0x1e27;\n t.hdotaccent = 0x1e23;\n t.hdotbelow = 0x1e25;\n t.he = 0x05d4;\n t.heart = 0x2665;\n t.heartsuitblack = 0x2665;\n t.heartsuitwhite = 0x2661;\n t.hedagesh = 0xfb34;\n t.hedageshhebrew = 0xfb34;\n t.hehaltonearabic = 0x06c1;\n t.heharabic = 0x0647;\n t.hehebrew = 0x05d4;\n t.hehfinalaltonearabic = 0xfba7;\n t.hehfinalalttwoarabic = 0xfeea;\n t.hehfinalarabic = 0xfeea;\n t.hehhamzaabovefinalarabic = 0xfba5;\n t.hehhamzaaboveisolatedarabic = 0xfba4;\n t.hehinitialaltonearabic = 0xfba8;\n t.hehinitialarabic = 0xfeeb;\n t.hehiragana = 0x3078;\n t.hehmedialaltonearabic = 0xfba9;\n t.hehmedialarabic = 0xfeec;\n t.heiseierasquare = 0x337b;\n t.hekatakana = 0x30d8;\n t.hekatakanahalfwidth = 0xff8d;\n t.hekutaarusquare = 0x3336;\n t.henghook = 0x0267;\n t.herutusquare = 0x3339;\n t.het = 0x05d7;\n t.hethebrew = 0x05d7;\n t.hhook = 0x0266;\n t.hhooksuperior = 0x02b1;\n t.hieuhacirclekorean = 0x327b;\n t.hieuhaparenkorean = 0x321b;\n t.hieuhcirclekorean = 0x326d;\n t.hieuhkorean = 0x314e;\n t.hieuhparenkorean = 0x320d;\n t.hihiragana = 0x3072;\n t.hikatakana = 0x30d2;\n t.hikatakanahalfwidth = 0xff8b;\n t.hiriq = 0x05b4;\n t.hiriq14 = 0x05b4;\n t.hiriq21 = 0x05b4;\n t.hiriq2d = 0x05b4;\n t.hiriqhebrew = 0x05b4;\n t.hiriqnarrowhebrew = 0x05b4;\n t.hiriqquarterhebrew = 0x05b4;\n t.hiriqwidehebrew = 0x05b4;\n t.hlinebelow = 0x1e96;\n t.hmonospace = 0xff48;\n t.hoarmenian = 0x0570;\n t.hohipthai = 0x0e2b;\n t.hohiragana = 0x307b;\n t.hokatakana = 0x30db;\n t.hokatakanahalfwidth = 0xff8e;\n t.holam = 0x05b9;\n t.holam19 = 0x05b9;\n t.holam26 = 0x05b9;\n t.holam32 = 0x05b9;\n t.holamhebrew = 0x05b9;\n t.holamnarrowhebrew = 0x05b9;\n t.holamquarterhebrew = 0x05b9;\n t.holamwidehebrew = 0x05b9;\n t.honokhukthai = 0x0e2e;\n t.hookabovecomb = 0x0309;\n t.hookcmb = 0x0309;\n t.hookpalatalizedbelowcmb = 0x0321;\n t.hookretroflexbelowcmb = 0x0322;\n t.hoonsquare = 0x3342;\n t.horicoptic = 0x03e9;\n t.horizontalbar = 0x2015;\n t.horncmb = 0x031b;\n t.hotsprings = 0x2668;\n t.house = 0x2302;\n t.hparen = 0x24a3;\n t.hsuperior = 0x02b0;\n t.hturned = 0x0265;\n t.huhiragana = 0x3075;\n t.huiitosquare = 0x3333;\n t.hukatakana = 0x30d5;\n t.hukatakanahalfwidth = 0xff8c;\n t.hungarumlaut = 0x02dd;\n t.hungarumlautcmb = 0x030b;\n t.hv = 0x0195;\n t.hyphen = 0x002d;\n t.hypheninferior = 0xf6e5;\n t.hyphenmonospace = 0xff0d;\n t.hyphensmall = 0xfe63;\n t.hyphensuperior = 0xf6e6;\n t.hyphentwo = 0x2010;\n t.i = 0x0069;\n t.iacute = 0x00ed;\n t.iacyrillic = 0x044f;\n t.ibengali = 0x0987;\n t.ibopomofo = 0x3127;\n t.ibreve = 0x012d;\n t.icaron = 0x01d0;\n t.icircle = 0x24d8;\n t.icircumflex = 0x00ee;\n t.icyrillic = 0x0456;\n t.idblgrave = 0x0209;\n t.ideographearthcircle = 0x328f;\n t.ideographfirecircle = 0x328b;\n t.ideographicallianceparen = 0x323f;\n t.ideographiccallparen = 0x323a;\n t.ideographiccentrecircle = 0x32a5;\n t.ideographicclose = 0x3006;\n t.ideographiccomma = 0x3001;\n t.ideographiccommaleft = 0xff64;\n t.ideographiccongratulationparen = 0x3237;\n t.ideographiccorrectcircle = 0x32a3;\n t.ideographicearthparen = 0x322f;\n t.ideographicenterpriseparen = 0x323d;\n t.ideographicexcellentcircle = 0x329d;\n t.ideographicfestivalparen = 0x3240;\n t.ideographicfinancialcircle = 0x3296;\n t.ideographicfinancialparen = 0x3236;\n t.ideographicfireparen = 0x322b;\n t.ideographichaveparen = 0x3232;\n t.ideographichighcircle = 0x32a4;\n t.ideographiciterationmark = 0x3005;\n t.ideographiclaborcircle = 0x3298;\n t.ideographiclaborparen = 0x3238;\n t.ideographicleftcircle = 0x32a7;\n t.ideographiclowcircle = 0x32a6;\n t.ideographicmedicinecircle = 0x32a9;\n t.ideographicmetalparen = 0x322e;\n t.ideographicmoonparen = 0x322a;\n t.ideographicnameparen = 0x3234;\n t.ideographicperiod = 0x3002;\n t.ideographicprintcircle = 0x329e;\n t.ideographicreachparen = 0x3243;\n t.ideographicrepresentparen = 0x3239;\n t.ideographicresourceparen = 0x323e;\n t.ideographicrightcircle = 0x32a8;\n t.ideographicsecretcircle = 0x3299;\n t.ideographicselfparen = 0x3242;\n t.ideographicsocietyparen = 0x3233;\n t.ideographicspace = 0x3000;\n t.ideographicspecialparen = 0x3235;\n t.ideographicstockparen = 0x3231;\n t.ideographicstudyparen = 0x323b;\n t.ideographicsunparen = 0x3230;\n t.ideographicsuperviseparen = 0x323c;\n t.ideographicwaterparen = 0x322c;\n t.ideographicwoodparen = 0x322d;\n t.ideographiczero = 0x3007;\n t.ideographmetalcircle = 0x328e;\n t.ideographmooncircle = 0x328a;\n t.ideographnamecircle = 0x3294;\n t.ideographsuncircle = 0x3290;\n t.ideographwatercircle = 0x328c;\n t.ideographwoodcircle = 0x328d;\n t.ideva = 0x0907;\n t.idieresis = 0x00ef;\n t.idieresisacute = 0x1e2f;\n t.idieresiscyrillic = 0x04e5;\n t.idotbelow = 0x1ecb;\n t.iebrevecyrillic = 0x04d7;\n t.iecyrillic = 0x0435;\n t.ieungacirclekorean = 0x3275;\n t.ieungaparenkorean = 0x3215;\n t.ieungcirclekorean = 0x3267;\n t.ieungkorean = 0x3147;\n t.ieungparenkorean = 0x3207;\n t.igrave = 0x00ec;\n t.igujarati = 0x0a87;\n t.igurmukhi = 0x0a07;\n t.ihiragana = 0x3044;\n t.ihookabove = 0x1ec9;\n t.iibengali = 0x0988;\n t.iicyrillic = 0x0438;\n t.iideva = 0x0908;\n t.iigujarati = 0x0a88;\n t.iigurmukhi = 0x0a08;\n t.iimatragurmukhi = 0x0a40;\n t.iinvertedbreve = 0x020b;\n t.iishortcyrillic = 0x0439;\n t.iivowelsignbengali = 0x09c0;\n t.iivowelsigndeva = 0x0940;\n t.iivowelsigngujarati = 0x0ac0;\n t.ij = 0x0133;\n t.ikatakana = 0x30a4;\n t.ikatakanahalfwidth = 0xff72;\n t.ikorean = 0x3163;\n t.ilde = 0x02dc;\n t.iluyhebrew = 0x05ac;\n t.imacron = 0x012b;\n t.imacroncyrillic = 0x04e3;\n t.imageorapproximatelyequal = 0x2253;\n t.imatragurmukhi = 0x0a3f;\n t.imonospace = 0xff49;\n t.increment = 0x2206;\n t.infinity = 0x221e;\n t.iniarmenian = 0x056b;\n t.integral = 0x222b;\n t.integralbottom = 0x2321;\n t.integralbt = 0x2321;\n t.integralex = 0xf8f5;\n t.integraltop = 0x2320;\n t.integraltp = 0x2320;\n t.intersection = 0x2229;\n t.intisquare = 0x3305;\n t.invbullet = 0x25d8;\n t.invcircle = 0x25d9;\n t.invsmileface = 0x263b;\n t.iocyrillic = 0x0451;\n t.iogonek = 0x012f;\n t.iota = 0x03b9;\n t.iotadieresis = 0x03ca;\n t.iotadieresistonos = 0x0390;\n t.iotalatin = 0x0269;\n t.iotatonos = 0x03af;\n t.iparen = 0x24a4;\n t.irigurmukhi = 0x0a72;\n t.ismallhiragana = 0x3043;\n t.ismallkatakana = 0x30a3;\n t.ismallkatakanahalfwidth = 0xff68;\n t.issharbengali = 0x09fa;\n t.istroke = 0x0268;\n t.isuperior = 0xf6ed;\n t.iterationhiragana = 0x309d;\n t.iterationkatakana = 0x30fd;\n t.itilde = 0x0129;\n t.itildebelow = 0x1e2d;\n t.iubopomofo = 0x3129;\n t.iucyrillic = 0x044e;\n t.ivowelsignbengali = 0x09bf;\n t.ivowelsigndeva = 0x093f;\n t.ivowelsigngujarati = 0x0abf;\n t.izhitsacyrillic = 0x0475;\n t.izhitsadblgravecyrillic = 0x0477;\n t.j = 0x006a;\n t.jaarmenian = 0x0571;\n t.jabengali = 0x099c;\n t.jadeva = 0x091c;\n t.jagujarati = 0x0a9c;\n t.jagurmukhi = 0x0a1c;\n t.jbopomofo = 0x3110;\n t.jcaron = 0x01f0;\n t.jcircle = 0x24d9;\n t.jcircumflex = 0x0135;\n t.jcrossedtail = 0x029d;\n t.jdotlessstroke = 0x025f;\n t.jecyrillic = 0x0458;\n t.jeemarabic = 0x062c;\n t.jeemfinalarabic = 0xfe9e;\n t.jeeminitialarabic = 0xfe9f;\n t.jeemmedialarabic = 0xfea0;\n t.jeharabic = 0x0698;\n t.jehfinalarabic = 0xfb8b;\n t.jhabengali = 0x099d;\n t.jhadeva = 0x091d;\n t.jhagujarati = 0x0a9d;\n t.jhagurmukhi = 0x0a1d;\n t.jheharmenian = 0x057b;\n t.jis = 0x3004;\n t.jmonospace = 0xff4a;\n t.jparen = 0x24a5;\n t.jsuperior = 0x02b2;\n t.k = 0x006b;\n t.kabashkircyrillic = 0x04a1;\n t.kabengali = 0x0995;\n t.kacute = 0x1e31;\n t.kacyrillic = 0x043a;\n t.kadescendercyrillic = 0x049b;\n t.kadeva = 0x0915;\n t.kaf = 0x05db;\n t.kafarabic = 0x0643;\n t.kafdagesh = 0xfb3b;\n t.kafdageshhebrew = 0xfb3b;\n t.kaffinalarabic = 0xfeda;\n t.kafhebrew = 0x05db;\n t.kafinitialarabic = 0xfedb;\n t.kafmedialarabic = 0xfedc;\n t.kafrafehebrew = 0xfb4d;\n t.kagujarati = 0x0a95;\n t.kagurmukhi = 0x0a15;\n t.kahiragana = 0x304b;\n t.kahookcyrillic = 0x04c4;\n t.kakatakana = 0x30ab;\n t.kakatakanahalfwidth = 0xff76;\n t.kappa = 0x03ba;\n t.kappasymbolgreek = 0x03f0;\n t.kapyeounmieumkorean = 0x3171;\n t.kapyeounphieuphkorean = 0x3184;\n t.kapyeounpieupkorean = 0x3178;\n t.kapyeounssangpieupkorean = 0x3179;\n t.karoriisquare = 0x330d;\n t.kashidaautoarabic = 0x0640;\n t.kashidaautonosidebearingarabic = 0x0640;\n t.kasmallkatakana = 0x30f5;\n t.kasquare = 0x3384;\n t.kasraarabic = 0x0650;\n t.kasratanarabic = 0x064d;\n t.kastrokecyrillic = 0x049f;\n t.katahiraprolongmarkhalfwidth = 0xff70;\n t.kaverticalstrokecyrillic = 0x049d;\n t.kbopomofo = 0x310e;\n t.kcalsquare = 0x3389;\n t.kcaron = 0x01e9;\n t.kcedilla = 0x0137;\n t.kcircle = 0x24da;\n t.kcommaaccent = 0x0137;\n t.kdotbelow = 0x1e33;\n t.keharmenian = 0x0584;\n t.kehiragana = 0x3051;\n t.kekatakana = 0x30b1;\n t.kekatakanahalfwidth = 0xff79;\n t.kenarmenian = 0x056f;\n t.kesmallkatakana = 0x30f6;\n t.kgreenlandic = 0x0138;\n t.khabengali = 0x0996;\n t.khacyrillic = 0x0445;\n t.khadeva = 0x0916;\n t.khagujarati = 0x0a96;\n t.khagurmukhi = 0x0a16;\n t.khaharabic = 0x062e;\n t.khahfinalarabic = 0xfea6;\n t.khahinitialarabic = 0xfea7;\n t.khahmedialarabic = 0xfea8;\n t.kheicoptic = 0x03e7;\n t.khhadeva = 0x0959;\n t.khhagurmukhi = 0x0a59;\n t.khieukhacirclekorean = 0x3278;\n t.khieukhaparenkorean = 0x3218;\n t.khieukhcirclekorean = 0x326a;\n t.khieukhkorean = 0x314b;\n t.khieukhparenkorean = 0x320a;\n t.khokhaithai = 0x0e02;\n t.khokhonthai = 0x0e05;\n t.khokhuatthai = 0x0e03;\n t.khokhwaithai = 0x0e04;\n t.khomutthai = 0x0e5b;\n t.khook = 0x0199;\n t.khorakhangthai = 0x0e06;\n t.khzsquare = 0x3391;\n t.kihiragana = 0x304d;\n t.kikatakana = 0x30ad;\n t.kikatakanahalfwidth = 0xff77;\n t.kiroguramusquare = 0x3315;\n t.kiromeetorusquare = 0x3316;\n t.kirosquare = 0x3314;\n t.kiyeokacirclekorean = 0x326e;\n t.kiyeokaparenkorean = 0x320e;\n t.kiyeokcirclekorean = 0x3260;\n t.kiyeokkorean = 0x3131;\n t.kiyeokparenkorean = 0x3200;\n t.kiyeoksioskorean = 0x3133;\n t.kjecyrillic = 0x045c;\n t.klinebelow = 0x1e35;\n t.klsquare = 0x3398;\n t.kmcubedsquare = 0x33a6;\n t.kmonospace = 0xff4b;\n t.kmsquaredsquare = 0x33a2;\n t.kohiragana = 0x3053;\n t.kohmsquare = 0x33c0;\n t.kokaithai = 0x0e01;\n t.kokatakana = 0x30b3;\n t.kokatakanahalfwidth = 0xff7a;\n t.kooposquare = 0x331e;\n t.koppacyrillic = 0x0481;\n t.koreanstandardsymbol = 0x327f;\n t.koroniscmb = 0x0343;\n t.kparen = 0x24a6;\n t.kpasquare = 0x33aa;\n t.ksicyrillic = 0x046f;\n t.ktsquare = 0x33cf;\n t.kturned = 0x029e;\n t.kuhiragana = 0x304f;\n t.kukatakana = 0x30af;\n t.kukatakanahalfwidth = 0xff78;\n t.kvsquare = 0x33b8;\n t.kwsquare = 0x33be;\n t.l = 0x006c;\n t.labengali = 0x09b2;\n t.lacute = 0x013a;\n t.ladeva = 0x0932;\n t.lagujarati = 0x0ab2;\n t.lagurmukhi = 0x0a32;\n t.lakkhangyaothai = 0x0e45;\n t.lamaleffinalarabic = 0xfefc;\n t.lamalefhamzaabovefinalarabic = 0xfef8;\n t.lamalefhamzaaboveisolatedarabic = 0xfef7;\n t.lamalefhamzabelowfinalarabic = 0xfefa;\n t.lamalefhamzabelowisolatedarabic = 0xfef9;\n t.lamalefisolatedarabic = 0xfefb;\n t.lamalefmaddaabovefinalarabic = 0xfef6;\n t.lamalefmaddaaboveisolatedarabic = 0xfef5;\n t.lamarabic = 0x0644;\n t.lambda = 0x03bb;\n t.lambdastroke = 0x019b;\n t.lamed = 0x05dc;\n t.lameddagesh = 0xfb3c;\n t.lameddageshhebrew = 0xfb3c;\n t.lamedhebrew = 0x05dc;\n t.lamfinalarabic = 0xfede;\n t.lamhahinitialarabic = 0xfcca;\n t.laminitialarabic = 0xfedf;\n t.lamjeeminitialarabic = 0xfcc9;\n t.lamkhahinitialarabic = 0xfccb;\n t.lamlamhehisolatedarabic = 0xfdf2;\n t.lammedialarabic = 0xfee0;\n t.lammeemhahinitialarabic = 0xfd88;\n t.lammeeminitialarabic = 0xfccc;\n t.largecircle = 0x25ef;\n t.lbar = 0x019a;\n t.lbelt = 0x026c;\n t.lbopomofo = 0x310c;\n t.lcaron = 0x013e;\n t.lcedilla = 0x013c;\n t.lcircle = 0x24db;\n t.lcircumflexbelow = 0x1e3d;\n t.lcommaaccent = 0x013c;\n t.ldot = 0x0140;\n t.ldotaccent = 0x0140;\n t.ldotbelow = 0x1e37;\n t.ldotbelowmacron = 0x1e39;\n t.leftangleabovecmb = 0x031a;\n t.lefttackbelowcmb = 0x0318;\n t.less = 0x003c;\n t.lessequal = 0x2264;\n t.lessequalorgreater = 0x22da;\n t.lessmonospace = 0xff1c;\n t.lessorequivalent = 0x2272;\n t.lessorgreater = 0x2276;\n t.lessoverequal = 0x2266;\n t.lesssmall = 0xfe64;\n t.lezh = 0x026e;\n t.lfblock = 0x258c;\n t.lhookretroflex = 0x026d;\n t.lira = 0x20a4;\n t.liwnarmenian = 0x056c;\n t.lj = 0x01c9;\n t.ljecyrillic = 0x0459;\n t.ll = 0xf6c0;\n t.lladeva = 0x0933;\n t.llagujarati = 0x0ab3;\n t.llinebelow = 0x1e3b;\n t.llladeva = 0x0934;\n t.llvocalicbengali = 0x09e1;\n t.llvocalicdeva = 0x0961;\n t.llvocalicvowelsignbengali = 0x09e3;\n t.llvocalicvowelsigndeva = 0x0963;\n t.lmiddletilde = 0x026b;\n t.lmonospace = 0xff4c;\n t.lmsquare = 0x33d0;\n t.lochulathai = 0x0e2c;\n t.logicaland = 0x2227;\n t.logicalnot = 0x00ac;\n t.logicalnotreversed = 0x2310;\n t.logicalor = 0x2228;\n t.lolingthai = 0x0e25;\n t.longs = 0x017f;\n t.lowlinecenterline = 0xfe4e;\n t.lowlinecmb = 0x0332;\n t.lowlinedashed = 0xfe4d;\n t.lozenge = 0x25ca;\n t.lparen = 0x24a7;\n t.lslash = 0x0142;\n t.lsquare = 0x2113;\n t.lsuperior = 0xf6ee;\n t.ltshade = 0x2591;\n t.luthai = 0x0e26;\n t.lvocalicbengali = 0x098c;\n t.lvocalicdeva = 0x090c;\n t.lvocalicvowelsignbengali = 0x09e2;\n t.lvocalicvowelsigndeva = 0x0962;\n t.lxsquare = 0x33d3;\n t.m = 0x006d;\n t.mabengali = 0x09ae;\n t.macron = 0x00af;\n t.macronbelowcmb = 0x0331;\n t.macroncmb = 0x0304;\n t.macronlowmod = 0x02cd;\n t.macronmonospace = 0xffe3;\n t.macute = 0x1e3f;\n t.madeva = 0x092e;\n t.magujarati = 0x0aae;\n t.magurmukhi = 0x0a2e;\n t.mahapakhhebrew = 0x05a4;\n t.mahapakhlefthebrew = 0x05a4;\n t.mahiragana = 0x307e;\n t.maichattawalowleftthai = 0xf895;\n t.maichattawalowrightthai = 0xf894;\n t.maichattawathai = 0x0e4b;\n t.maichattawaupperleftthai = 0xf893;\n t.maieklowleftthai = 0xf88c;\n t.maieklowrightthai = 0xf88b;\n t.maiekthai = 0x0e48;\n t.maiekupperleftthai = 0xf88a;\n t.maihanakatleftthai = 0xf884;\n t.maihanakatthai = 0x0e31;\n t.maitaikhuleftthai = 0xf889;\n t.maitaikhuthai = 0x0e47;\n t.maitholowleftthai = 0xf88f;\n t.maitholowrightthai = 0xf88e;\n t.maithothai = 0x0e49;\n t.maithoupperleftthai = 0xf88d;\n t.maitrilowleftthai = 0xf892;\n t.maitrilowrightthai = 0xf891;\n t.maitrithai = 0x0e4a;\n t.maitriupperleftthai = 0xf890;\n t.maiyamokthai = 0x0e46;\n t.makatakana = 0x30de;\n t.makatakanahalfwidth = 0xff8f;\n t.male = 0x2642;\n t.mansyonsquare = 0x3347;\n t.maqafhebrew = 0x05be;\n t.mars = 0x2642;\n t.masoracirclehebrew = 0x05af;\n t.masquare = 0x3383;\n t.mbopomofo = 0x3107;\n t.mbsquare = 0x33d4;\n t.mcircle = 0x24dc;\n t.mcubedsquare = 0x33a5;\n t.mdotaccent = 0x1e41;\n t.mdotbelow = 0x1e43;\n t.meemarabic = 0x0645;\n t.meemfinalarabic = 0xfee2;\n t.meeminitialarabic = 0xfee3;\n t.meemmedialarabic = 0xfee4;\n t.meemmeeminitialarabic = 0xfcd1;\n t.meemmeemisolatedarabic = 0xfc48;\n t.meetorusquare = 0x334d;\n t.mehiragana = 0x3081;\n t.meizierasquare = 0x337e;\n t.mekatakana = 0x30e1;\n t.mekatakanahalfwidth = 0xff92;\n t.mem = 0x05de;\n t.memdagesh = 0xfb3e;\n t.memdageshhebrew = 0xfb3e;\n t.memhebrew = 0x05de;\n t.menarmenian = 0x0574;\n t.merkhahebrew = 0x05a5;\n t.merkhakefulahebrew = 0x05a6;\n t.merkhakefulalefthebrew = 0x05a6;\n t.merkhalefthebrew = 0x05a5;\n t.mhook = 0x0271;\n t.mhzsquare = 0x3392;\n t.middledotkatakanahalfwidth = 0xff65;\n t.middot = 0x00b7;\n t.mieumacirclekorean = 0x3272;\n t.mieumaparenkorean = 0x3212;\n t.mieumcirclekorean = 0x3264;\n t.mieumkorean = 0x3141;\n t.mieumpansioskorean = 0x3170;\n t.mieumparenkorean = 0x3204;\n t.mieumpieupkorean = 0x316e;\n t.mieumsioskorean = 0x316f;\n t.mihiragana = 0x307f;\n t.mikatakana = 0x30df;\n t.mikatakanahalfwidth = 0xff90;\n t.minus = 0x2212;\n t.minusbelowcmb = 0x0320;\n t.minuscircle = 0x2296;\n t.minusmod = 0x02d7;\n t.minusplus = 0x2213;\n t.minute = 0x2032;\n t.miribaarusquare = 0x334a;\n t.mirisquare = 0x3349;\n t.mlonglegturned = 0x0270;\n t.mlsquare = 0x3396;\n t.mmcubedsquare = 0x33a3;\n t.mmonospace = 0xff4d;\n t.mmsquaredsquare = 0x339f;\n t.mohiragana = 0x3082;\n t.mohmsquare = 0x33c1;\n t.mokatakana = 0x30e2;\n t.mokatakanahalfwidth = 0xff93;\n t.molsquare = 0x33d6;\n t.momathai = 0x0e21;\n t.moverssquare = 0x33a7;\n t.moverssquaredsquare = 0x33a8;\n t.mparen = 0x24a8;\n t.mpasquare = 0x33ab;\n t.mssquare = 0x33b3;\n t.msuperior = 0xf6ef;\n t.mturned = 0x026f;\n t.mu = 0x00b5;\n t.mu1 = 0x00b5;\n t.muasquare = 0x3382;\n t.muchgreater = 0x226b;\n t.muchless = 0x226a;\n t.mufsquare = 0x338c;\n t.mugreek = 0x03bc;\n t.mugsquare = 0x338d;\n t.muhiragana = 0x3080;\n t.mukatakana = 0x30e0;\n t.mukatakanahalfwidth = 0xff91;\n t.mulsquare = 0x3395;\n t.multiply = 0x00d7;\n t.mumsquare = 0x339b;\n t.munahhebrew = 0x05a3;\n t.munahlefthebrew = 0x05a3;\n t.musicalnote = 0x266a;\n t.musicalnotedbl = 0x266b;\n t.musicflatsign = 0x266d;\n t.musicsharpsign = 0x266f;\n t.mussquare = 0x33b2;\n t.muvsquare = 0x33b6;\n t.muwsquare = 0x33bc;\n t.mvmegasquare = 0x33b9;\n t.mvsquare = 0x33b7;\n t.mwmegasquare = 0x33bf;\n t.mwsquare = 0x33bd;\n t.n = 0x006e;\n t.nabengali = 0x09a8;\n t.nabla = 0x2207;\n t.nacute = 0x0144;\n t.nadeva = 0x0928;\n t.nagujarati = 0x0aa8;\n t.nagurmukhi = 0x0a28;\n t.nahiragana = 0x306a;\n t.nakatakana = 0x30ca;\n t.nakatakanahalfwidth = 0xff85;\n t.napostrophe = 0x0149;\n t.nasquare = 0x3381;\n t.nbopomofo = 0x310b;\n t.nbspace = 0x00a0;\n t.ncaron = 0x0148;\n t.ncedilla = 0x0146;\n t.ncircle = 0x24dd;\n t.ncircumflexbelow = 0x1e4b;\n t.ncommaaccent = 0x0146;\n t.ndotaccent = 0x1e45;\n t.ndotbelow = 0x1e47;\n t.nehiragana = 0x306d;\n t.nekatakana = 0x30cd;\n t.nekatakanahalfwidth = 0xff88;\n t.newsheqelsign = 0x20aa;\n t.nfsquare = 0x338b;\n t.ngabengali = 0x0999;\n t.ngadeva = 0x0919;\n t.ngagujarati = 0x0a99;\n t.ngagurmukhi = 0x0a19;\n t.ngonguthai = 0x0e07;\n t.nhiragana = 0x3093;\n t.nhookleft = 0x0272;\n t.nhookretroflex = 0x0273;\n t.nieunacirclekorean = 0x326f;\n t.nieunaparenkorean = 0x320f;\n t.nieuncieuckorean = 0x3135;\n t.nieuncirclekorean = 0x3261;\n t.nieunhieuhkorean = 0x3136;\n t.nieunkorean = 0x3134;\n t.nieunpansioskorean = 0x3168;\n t.nieunparenkorean = 0x3201;\n t.nieunsioskorean = 0x3167;\n t.nieuntikeutkorean = 0x3166;\n t.nihiragana = 0x306b;\n t.nikatakana = 0x30cb;\n t.nikatakanahalfwidth = 0xff86;\n t.nikhahitleftthai = 0xf899;\n t.nikhahitthai = 0x0e4d;\n t.nine = 0x0039;\n t.ninearabic = 0x0669;\n t.ninebengali = 0x09ef;\n t.ninecircle = 0x2468;\n t.ninecircleinversesansserif = 0x2792;\n t.ninedeva = 0x096f;\n t.ninegujarati = 0x0aef;\n t.ninegurmukhi = 0x0a6f;\n t.ninehackarabic = 0x0669;\n t.ninehangzhou = 0x3029;\n t.nineideographicparen = 0x3228;\n t.nineinferior = 0x2089;\n t.ninemonospace = 0xff19;\n t.nineoldstyle = 0xf739;\n t.nineparen = 0x247c;\n t.nineperiod = 0x2490;\n t.ninepersian = 0x06f9;\n t.nineroman = 0x2178;\n t.ninesuperior = 0x2079;\n t.nineteencircle = 0x2472;\n t.nineteenparen = 0x2486;\n t.nineteenperiod = 0x249a;\n t.ninethai = 0x0e59;\n t.nj = 0x01cc;\n t.njecyrillic = 0x045a;\n t.nkatakana = 0x30f3;\n t.nkatakanahalfwidth = 0xff9d;\n t.nlegrightlong = 0x019e;\n t.nlinebelow = 0x1e49;\n t.nmonospace = 0xff4e;\n t.nmsquare = 0x339a;\n t.nnabengali = 0x09a3;\n t.nnadeva = 0x0923;\n t.nnagujarati = 0x0aa3;\n t.nnagurmukhi = 0x0a23;\n t.nnnadeva = 0x0929;\n t.nohiragana = 0x306e;\n t.nokatakana = 0x30ce;\n t.nokatakanahalfwidth = 0xff89;\n t.nonbreakingspace = 0x00a0;\n t.nonenthai = 0x0e13;\n t.nonuthai = 0x0e19;\n t.noonarabic = 0x0646;\n t.noonfinalarabic = 0xfee6;\n t.noonghunnaarabic = 0x06ba;\n t.noonghunnafinalarabic = 0xfb9f;\n t.nooninitialarabic = 0xfee7;\n t.noonjeeminitialarabic = 0xfcd2;\n t.noonjeemisolatedarabic = 0xfc4b;\n t.noonmedialarabic = 0xfee8;\n t.noonmeeminitialarabic = 0xfcd5;\n t.noonmeemisolatedarabic = 0xfc4e;\n t.noonnoonfinalarabic = 0xfc8d;\n t.notcontains = 0x220c;\n t.notelement = 0x2209;\n t.notelementof = 0x2209;\n t.notequal = 0x2260;\n t.notgreater = 0x226f;\n t.notgreaternorequal = 0x2271;\n t.notgreaternorless = 0x2279;\n t.notidentical = 0x2262;\n t.notless = 0x226e;\n t.notlessnorequal = 0x2270;\n t.notparallel = 0x2226;\n t.notprecedes = 0x2280;\n t.notsubset = 0x2284;\n t.notsucceeds = 0x2281;\n t.notsuperset = 0x2285;\n t.nowarmenian = 0x0576;\n t.nparen = 0x24a9;\n t.nssquare = 0x33b1;\n t.nsuperior = 0x207f;\n t.ntilde = 0x00f1;\n t.nu = 0x03bd;\n t.nuhiragana = 0x306c;\n t.nukatakana = 0x30cc;\n t.nukatakanahalfwidth = 0xff87;\n t.nuktabengali = 0x09bc;\n t.nuktadeva = 0x093c;\n t.nuktagujarati = 0x0abc;\n t.nuktagurmukhi = 0x0a3c;\n t.numbersign = 0x0023;\n t.numbersignmonospace = 0xff03;\n t.numbersignsmall = 0xfe5f;\n t.numeralsigngreek = 0x0374;\n t.numeralsignlowergreek = 0x0375;\n t.numero = 0x2116;\n t.nun = 0x05e0;\n t.nundagesh = 0xfb40;\n t.nundageshhebrew = 0xfb40;\n t.nunhebrew = 0x05e0;\n t.nvsquare = 0x33b5;\n t.nwsquare = 0x33bb;\n t.nyabengali = 0x099e;\n t.nyadeva = 0x091e;\n t.nyagujarati = 0x0a9e;\n t.nyagurmukhi = 0x0a1e;\n t.o = 0x006f;\n t.oacute = 0x00f3;\n t.oangthai = 0x0e2d;\n t.obarred = 0x0275;\n t.obarredcyrillic = 0x04e9;\n t.obarreddieresiscyrillic = 0x04eb;\n t.obengali = 0x0993;\n t.obopomofo = 0x311b;\n t.obreve = 0x014f;\n t.ocandradeva = 0x0911;\n t.ocandragujarati = 0x0a91;\n t.ocandravowelsigndeva = 0x0949;\n t.ocandravowelsigngujarati = 0x0ac9;\n t.ocaron = 0x01d2;\n t.ocircle = 0x24de;\n t.ocircumflex = 0x00f4;\n t.ocircumflexacute = 0x1ed1;\n t.ocircumflexdotbelow = 0x1ed9;\n t.ocircumflexgrave = 0x1ed3;\n t.ocircumflexhookabove = 0x1ed5;\n t.ocircumflextilde = 0x1ed7;\n t.ocyrillic = 0x043e;\n t.odblacute = 0x0151;\n t.odblgrave = 0x020d;\n t.odeva = 0x0913;\n t.odieresis = 0x00f6;\n t.odieresiscyrillic = 0x04e7;\n t.odotbelow = 0x1ecd;\n t.oe = 0x0153;\n t.oekorean = 0x315a;\n t.ogonek = 0x02db;\n t.ogonekcmb = 0x0328;\n t.ograve = 0x00f2;\n t.ogujarati = 0x0a93;\n t.oharmenian = 0x0585;\n t.ohiragana = 0x304a;\n t.ohookabove = 0x1ecf;\n t.ohorn = 0x01a1;\n t.ohornacute = 0x1edb;\n t.ohorndotbelow = 0x1ee3;\n t.ohorngrave = 0x1edd;\n t.ohornhookabove = 0x1edf;\n t.ohorntilde = 0x1ee1;\n t.ohungarumlaut = 0x0151;\n t.oi = 0x01a3;\n t.oinvertedbreve = 0x020f;\n t.okatakana = 0x30aa;\n t.okatakanahalfwidth = 0xff75;\n t.okorean = 0x3157;\n t.olehebrew = 0x05ab;\n t.omacron = 0x014d;\n t.omacronacute = 0x1e53;\n t.omacrongrave = 0x1e51;\n t.omdeva = 0x0950;\n t.omega = 0x03c9;\n t.omega1 = 0x03d6;\n t.omegacyrillic = 0x0461;\n t.omegalatinclosed = 0x0277;\n t.omegaroundcyrillic = 0x047b;\n t.omegatitlocyrillic = 0x047d;\n t.omegatonos = 0x03ce;\n t.omgujarati = 0x0ad0;\n t.omicron = 0x03bf;\n t.omicrontonos = 0x03cc;\n t.omonospace = 0xff4f;\n t.one = 0x0031;\n t.onearabic = 0x0661;\n t.onebengali = 0x09e7;\n t.onecircle = 0x2460;\n t.onecircleinversesansserif = 0x278a;\n t.onedeva = 0x0967;\n t.onedotenleader = 0x2024;\n t.oneeighth = 0x215b;\n t.onefitted = 0xf6dc;\n t.onegujarati = 0x0ae7;\n t.onegurmukhi = 0x0a67;\n t.onehackarabic = 0x0661;\n t.onehalf = 0x00bd;\n t.onehangzhou = 0x3021;\n t.oneideographicparen = 0x3220;\n t.oneinferior = 0x2081;\n t.onemonospace = 0xff11;\n t.onenumeratorbengali = 0x09f4;\n t.oneoldstyle = 0xf731;\n t.oneparen = 0x2474;\n t.oneperiod = 0x2488;\n t.onepersian = 0x06f1;\n t.onequarter = 0x00bc;\n t.oneroman = 0x2170;\n t.onesuperior = 0x00b9;\n t.onethai = 0x0e51;\n t.onethird = 0x2153;\n t.oogonek = 0x01eb;\n t.oogonekmacron = 0x01ed;\n t.oogurmukhi = 0x0a13;\n t.oomatragurmukhi = 0x0a4b;\n t.oopen = 0x0254;\n t.oparen = 0x24aa;\n t.openbullet = 0x25e6;\n t.option = 0x2325;\n t.ordfeminine = 0x00aa;\n t.ordmasculine = 0x00ba;\n t.orthogonal = 0x221f;\n t.oshortdeva = 0x0912;\n t.oshortvowelsigndeva = 0x094a;\n t.oslash = 0x00f8;\n t.oslashacute = 0x01ff;\n t.osmallhiragana = 0x3049;\n t.osmallkatakana = 0x30a9;\n t.osmallkatakanahalfwidth = 0xff6b;\n t.ostrokeacute = 0x01ff;\n t.osuperior = 0xf6f0;\n t.otcyrillic = 0x047f;\n t.otilde = 0x00f5;\n t.otildeacute = 0x1e4d;\n t.otildedieresis = 0x1e4f;\n t.oubopomofo = 0x3121;\n t.overline = 0x203e;\n t.overlinecenterline = 0xfe4a;\n t.overlinecmb = 0x0305;\n t.overlinedashed = 0xfe49;\n t.overlinedblwavy = 0xfe4c;\n t.overlinewavy = 0xfe4b;\n t.overscore = 0x00af;\n t.ovowelsignbengali = 0x09cb;\n t.ovowelsigndeva = 0x094b;\n t.ovowelsigngujarati = 0x0acb;\n t.p = 0x0070;\n t.paampssquare = 0x3380;\n t.paasentosquare = 0x332b;\n t.pabengali = 0x09aa;\n t.pacute = 0x1e55;\n t.padeva = 0x092a;\n t.pagedown = 0x21df;\n t.pageup = 0x21de;\n t.pagujarati = 0x0aaa;\n t.pagurmukhi = 0x0a2a;\n t.pahiragana = 0x3071;\n t.paiyannoithai = 0x0e2f;\n t.pakatakana = 0x30d1;\n t.palatalizationcyrilliccmb = 0x0484;\n t.palochkacyrillic = 0x04c0;\n t.pansioskorean = 0x317f;\n t.paragraph = 0x00b6;\n t.parallel = 0x2225;\n t.parenleft = 0x0028;\n t.parenleftaltonearabic = 0xfd3e;\n t.parenleftbt = 0xf8ed;\n t.parenleftex = 0xf8ec;\n t.parenleftinferior = 0x208d;\n t.parenleftmonospace = 0xff08;\n t.parenleftsmall = 0xfe59;\n t.parenleftsuperior = 0x207d;\n t.parenlefttp = 0xf8eb;\n t.parenleftvertical = 0xfe35;\n t.parenright = 0x0029;\n t.parenrightaltonearabic = 0xfd3f;\n t.parenrightbt = 0xf8f8;\n t.parenrightex = 0xf8f7;\n t.parenrightinferior = 0x208e;\n t.parenrightmonospace = 0xff09;\n t.parenrightsmall = 0xfe5a;\n t.parenrightsuperior = 0x207e;\n t.parenrighttp = 0xf8f6;\n t.parenrightvertical = 0xfe36;\n t.partialdiff = 0x2202;\n t.paseqhebrew = 0x05c0;\n t.pashtahebrew = 0x0599;\n t.pasquare = 0x33a9;\n t.patah = 0x05b7;\n t.patah11 = 0x05b7;\n t.patah1d = 0x05b7;\n t.patah2a = 0x05b7;\n t.patahhebrew = 0x05b7;\n t.patahnarrowhebrew = 0x05b7;\n t.patahquarterhebrew = 0x05b7;\n t.patahwidehebrew = 0x05b7;\n t.pazerhebrew = 0x05a1;\n t.pbopomofo = 0x3106;\n t.pcircle = 0x24df;\n t.pdotaccent = 0x1e57;\n t.pe = 0x05e4;\n t.pecyrillic = 0x043f;\n t.pedagesh = 0xfb44;\n t.pedageshhebrew = 0xfb44;\n t.peezisquare = 0x333b;\n t.pefinaldageshhebrew = 0xfb43;\n t.peharabic = 0x067e;\n t.peharmenian = 0x057a;\n t.pehebrew = 0x05e4;\n t.pehfinalarabic = 0xfb57;\n t.pehinitialarabic = 0xfb58;\n t.pehiragana = 0x307a;\n t.pehmedialarabic = 0xfb59;\n t.pekatakana = 0x30da;\n t.pemiddlehookcyrillic = 0x04a7;\n t.perafehebrew = 0xfb4e;\n t.percent = 0x0025;\n t.percentarabic = 0x066a;\n t.percentmonospace = 0xff05;\n t.percentsmall = 0xfe6a;\n t.period = 0x002e;\n t.periodarmenian = 0x0589;\n t.periodcentered = 0x00b7;\n t.periodhalfwidth = 0xff61;\n t.periodinferior = 0xf6e7;\n t.periodmonospace = 0xff0e;\n t.periodsmall = 0xfe52;\n t.periodsuperior = 0xf6e8;\n t.perispomenigreekcmb = 0x0342;\n t.perpendicular = 0x22a5;\n t.perthousand = 0x2030;\n t.peseta = 0x20a7;\n t.pfsquare = 0x338a;\n t.phabengali = 0x09ab;\n t.phadeva = 0x092b;\n t.phagujarati = 0x0aab;\n t.phagurmukhi = 0x0a2b;\n t.phi = 0x03c6;\n t.phi1 = 0x03d5;\n t.phieuphacirclekorean = 0x327a;\n t.phieuphaparenkorean = 0x321a;\n t.phieuphcirclekorean = 0x326c;\n t.phieuphkorean = 0x314d;\n t.phieuphparenkorean = 0x320c;\n t.philatin = 0x0278;\n t.phinthuthai = 0x0e3a;\n t.phisymbolgreek = 0x03d5;\n t.phook = 0x01a5;\n t.phophanthai = 0x0e1e;\n t.phophungthai = 0x0e1c;\n t.phosamphaothai = 0x0e20;\n t.pi = 0x03c0;\n t.pieupacirclekorean = 0x3273;\n t.pieupaparenkorean = 0x3213;\n t.pieupcieuckorean = 0x3176;\n t.pieupcirclekorean = 0x3265;\n t.pieupkiyeokkorean = 0x3172;\n t.pieupkorean = 0x3142;\n t.pieupparenkorean = 0x3205;\n t.pieupsioskiyeokkorean = 0x3174;\n t.pieupsioskorean = 0x3144;\n t.pieupsiostikeutkorean = 0x3175;\n t.pieupthieuthkorean = 0x3177;\n t.pieuptikeutkorean = 0x3173;\n t.pihiragana = 0x3074;\n t.pikatakana = 0x30d4;\n t.pisymbolgreek = 0x03d6;\n t.piwrarmenian = 0x0583;\n t.plus = 0x002b;\n t.plusbelowcmb = 0x031f;\n t.pluscircle = 0x2295;\n t.plusminus = 0x00b1;\n t.plusmod = 0x02d6;\n t.plusmonospace = 0xff0b;\n t.plussmall = 0xfe62;\n t.plussuperior = 0x207a;\n t.pmonospace = 0xff50;\n t.pmsquare = 0x33d8;\n t.pohiragana = 0x307d;\n t.pointingindexdownwhite = 0x261f;\n t.pointingindexleftwhite = 0x261c;\n t.pointingindexrightwhite = 0x261e;\n t.pointingindexupwhite = 0x261d;\n t.pokatakana = 0x30dd;\n t.poplathai = 0x0e1b;\n t.postalmark = 0x3012;\n t.postalmarkface = 0x3020;\n t.pparen = 0x24ab;\n t.precedes = 0x227a;\n t.prescription = 0x211e;\n t.primemod = 0x02b9;\n t.primereversed = 0x2035;\n t.product = 0x220f;\n t.projective = 0x2305;\n t.prolongedkana = 0x30fc;\n t.propellor = 0x2318;\n t.propersubset = 0x2282;\n t.propersuperset = 0x2283;\n t.proportion = 0x2237;\n t.proportional = 0x221d;\n t.psi = 0x03c8;\n t.psicyrillic = 0x0471;\n t.psilipneumatacyrilliccmb = 0x0486;\n t.pssquare = 0x33b0;\n t.puhiragana = 0x3077;\n t.pukatakana = 0x30d7;\n t.pvsquare = 0x33b4;\n t.pwsquare = 0x33ba;\n t.q = 0x0071;\n t.qadeva = 0x0958;\n t.qadmahebrew = 0x05a8;\n t.qafarabic = 0x0642;\n t.qaffinalarabic = 0xfed6;\n t.qafinitialarabic = 0xfed7;\n t.qafmedialarabic = 0xfed8;\n t.qamats = 0x05b8;\n t.qamats10 = 0x05b8;\n t.qamats1a = 0x05b8;\n t.qamats1c = 0x05b8;\n t.qamats27 = 0x05b8;\n t.qamats29 = 0x05b8;\n t.qamats33 = 0x05b8;\n t.qamatsde = 0x05b8;\n t.qamatshebrew = 0x05b8;\n t.qamatsnarrowhebrew = 0x05b8;\n t.qamatsqatanhebrew = 0x05b8;\n t.qamatsqatannarrowhebrew = 0x05b8;\n t.qamatsqatanquarterhebrew = 0x05b8;\n t.qamatsqatanwidehebrew = 0x05b8;\n t.qamatsquarterhebrew = 0x05b8;\n t.qamatswidehebrew = 0x05b8;\n t.qarneyparahebrew = 0x059f;\n t.qbopomofo = 0x3111;\n t.qcircle = 0x24e0;\n t.qhook = 0x02a0;\n t.qmonospace = 0xff51;\n t.qof = 0x05e7;\n t.qofdagesh = 0xfb47;\n t.qofdageshhebrew = 0xfb47;\n t.qofhebrew = 0x05e7;\n t.qparen = 0x24ac;\n t.quarternote = 0x2669;\n t.qubuts = 0x05bb;\n t.qubuts18 = 0x05bb;\n t.qubuts25 = 0x05bb;\n t.qubuts31 = 0x05bb;\n t.qubutshebrew = 0x05bb;\n t.qubutsnarrowhebrew = 0x05bb;\n t.qubutsquarterhebrew = 0x05bb;\n t.qubutswidehebrew = 0x05bb;\n t.question = 0x003f;\n t.questionarabic = 0x061f;\n t.questionarmenian = 0x055e;\n t.questiondown = 0x00bf;\n t.questiondownsmall = 0xf7bf;\n t.questiongreek = 0x037e;\n t.questionmonospace = 0xff1f;\n t.questionsmall = 0xf73f;\n t.quotedbl = 0x0022;\n t.quotedblbase = 0x201e;\n t.quotedblleft = 0x201c;\n t.quotedblmonospace = 0xff02;\n t.quotedblprime = 0x301e;\n t.quotedblprimereversed = 0x301d;\n t.quotedblright = 0x201d;\n t.quoteleft = 0x2018;\n t.quoteleftreversed = 0x201b;\n t.quotereversed = 0x201b;\n t.quoteright = 0x2019;\n t.quoterightn = 0x0149;\n t.quotesinglbase = 0x201a;\n t.quotesingle = 0x0027;\n t.quotesinglemonospace = 0xff07;\n t.r = 0x0072;\n t.raarmenian = 0x057c;\n t.rabengali = 0x09b0;\n t.racute = 0x0155;\n t.radeva = 0x0930;\n t.radical = 0x221a;\n t.radicalex = 0xf8e5;\n t.radoverssquare = 0x33ae;\n t.radoverssquaredsquare = 0x33af;\n t.radsquare = 0x33ad;\n t.rafe = 0x05bf;\n t.rafehebrew = 0x05bf;\n t.ragujarati = 0x0ab0;\n t.ragurmukhi = 0x0a30;\n t.rahiragana = 0x3089;\n t.rakatakana = 0x30e9;\n t.rakatakanahalfwidth = 0xff97;\n t.ralowerdiagonalbengali = 0x09f1;\n t.ramiddlediagonalbengali = 0x09f0;\n t.ramshorn = 0x0264;\n t.ratio = 0x2236;\n t.rbopomofo = 0x3116;\n t.rcaron = 0x0159;\n t.rcedilla = 0x0157;\n t.rcircle = 0x24e1;\n t.rcommaaccent = 0x0157;\n t.rdblgrave = 0x0211;\n t.rdotaccent = 0x1e59;\n t.rdotbelow = 0x1e5b;\n t.rdotbelowmacron = 0x1e5d;\n t.referencemark = 0x203b;\n t.reflexsubset = 0x2286;\n t.reflexsuperset = 0x2287;\n t.registered = 0x00ae;\n t.registersans = 0xf8e8;\n t.registerserif = 0xf6da;\n t.reharabic = 0x0631;\n t.reharmenian = 0x0580;\n t.rehfinalarabic = 0xfeae;\n t.rehiragana = 0x308c;\n t.rekatakana = 0x30ec;\n t.rekatakanahalfwidth = 0xff9a;\n t.resh = 0x05e8;\n t.reshdageshhebrew = 0xfb48;\n t.reshhebrew = 0x05e8;\n t.reversedtilde = 0x223d;\n t.reviahebrew = 0x0597;\n t.reviamugrashhebrew = 0x0597;\n t.revlogicalnot = 0x2310;\n t.rfishhook = 0x027e;\n t.rfishhookreversed = 0x027f;\n t.rhabengali = 0x09dd;\n t.rhadeva = 0x095d;\n t.rho = 0x03c1;\n t.rhook = 0x027d;\n t.rhookturned = 0x027b;\n t.rhookturnedsuperior = 0x02b5;\n t.rhosymbolgreek = 0x03f1;\n t.rhotichookmod = 0x02de;\n t.rieulacirclekorean = 0x3271;\n t.rieulaparenkorean = 0x3211;\n t.rieulcirclekorean = 0x3263;\n t.rieulhieuhkorean = 0x3140;\n t.rieulkiyeokkorean = 0x313a;\n t.rieulkiyeoksioskorean = 0x3169;\n t.rieulkorean = 0x3139;\n t.rieulmieumkorean = 0x313b;\n t.rieulpansioskorean = 0x316c;\n t.rieulparenkorean = 0x3203;\n t.rieulphieuphkorean = 0x313f;\n t.rieulpieupkorean = 0x313c;\n t.rieulpieupsioskorean = 0x316b;\n t.rieulsioskorean = 0x313d;\n t.rieulthieuthkorean = 0x313e;\n t.rieultikeutkorean = 0x316a;\n t.rieulyeorinhieuhkorean = 0x316d;\n t.rightangle = 0x221f;\n t.righttackbelowcmb = 0x0319;\n t.righttriangle = 0x22bf;\n t.rihiragana = 0x308a;\n t.rikatakana = 0x30ea;\n t.rikatakanahalfwidth = 0xff98;\n t.ring = 0x02da;\n t.ringbelowcmb = 0x0325;\n t.ringcmb = 0x030a;\n t.ringhalfleft = 0x02bf;\n t.ringhalfleftarmenian = 0x0559;\n t.ringhalfleftbelowcmb = 0x031c;\n t.ringhalfleftcentered = 0x02d3;\n t.ringhalfright = 0x02be;\n t.ringhalfrightbelowcmb = 0x0339;\n t.ringhalfrightcentered = 0x02d2;\n t.rinvertedbreve = 0x0213;\n t.rittorusquare = 0x3351;\n t.rlinebelow = 0x1e5f;\n t.rlongleg = 0x027c;\n t.rlonglegturned = 0x027a;\n t.rmonospace = 0xff52;\n t.rohiragana = 0x308d;\n t.rokatakana = 0x30ed;\n t.rokatakanahalfwidth = 0xff9b;\n t.roruathai = 0x0e23;\n t.rparen = 0x24ad;\n t.rrabengali = 0x09dc;\n t.rradeva = 0x0931;\n t.rragurmukhi = 0x0a5c;\n t.rreharabic = 0x0691;\n t.rrehfinalarabic = 0xfb8d;\n t.rrvocalicbengali = 0x09e0;\n t.rrvocalicdeva = 0x0960;\n t.rrvocalicgujarati = 0x0ae0;\n t.rrvocalicvowelsignbengali = 0x09c4;\n t.rrvocalicvowelsigndeva = 0x0944;\n t.rrvocalicvowelsigngujarati = 0x0ac4;\n t.rsuperior = 0xf6f1;\n t.rtblock = 0x2590;\n t.rturned = 0x0279;\n t.rturnedsuperior = 0x02b4;\n t.ruhiragana = 0x308b;\n t.rukatakana = 0x30eb;\n t.rukatakanahalfwidth = 0xff99;\n t.rupeemarkbengali = 0x09f2;\n t.rupeesignbengali = 0x09f3;\n t.rupiah = 0xf6dd;\n t.ruthai = 0x0e24;\n t.rvocalicbengali = 0x098b;\n t.rvocalicdeva = 0x090b;\n t.rvocalicgujarati = 0x0a8b;\n t.rvocalicvowelsignbengali = 0x09c3;\n t.rvocalicvowelsigndeva = 0x0943;\n t.rvocalicvowelsigngujarati = 0x0ac3;\n t.s = 0x0073;\n t.sabengali = 0x09b8;\n t.sacute = 0x015b;\n t.sacutedotaccent = 0x1e65;\n t.sadarabic = 0x0635;\n t.sadeva = 0x0938;\n t.sadfinalarabic = 0xfeba;\n t.sadinitialarabic = 0xfebb;\n t.sadmedialarabic = 0xfebc;\n t.sagujarati = 0x0ab8;\n t.sagurmukhi = 0x0a38;\n t.sahiragana = 0x3055;\n t.sakatakana = 0x30b5;\n t.sakatakanahalfwidth = 0xff7b;\n t.sallallahoualayhewasallamarabic = 0xfdfa;\n t.samekh = 0x05e1;\n t.samekhdagesh = 0xfb41;\n t.samekhdageshhebrew = 0xfb41;\n t.samekhhebrew = 0x05e1;\n t.saraaathai = 0x0e32;\n t.saraaethai = 0x0e41;\n t.saraaimaimalaithai = 0x0e44;\n t.saraaimaimuanthai = 0x0e43;\n t.saraamthai = 0x0e33;\n t.saraathai = 0x0e30;\n t.saraethai = 0x0e40;\n t.saraiileftthai = 0xf886;\n t.saraiithai = 0x0e35;\n t.saraileftthai = 0xf885;\n t.saraithai = 0x0e34;\n t.saraothai = 0x0e42;\n t.saraueeleftthai = 0xf888;\n t.saraueethai = 0x0e37;\n t.saraueleftthai = 0xf887;\n t.sarauethai = 0x0e36;\n t.sarauthai = 0x0e38;\n t.sarauuthai = 0x0e39;\n t.sbopomofo = 0x3119;\n t.scaron = 0x0161;\n t.scarondotaccent = 0x1e67;\n t.scedilla = 0x015f;\n t.schwa = 0x0259;\n t.schwacyrillic = 0x04d9;\n t.schwadieresiscyrillic = 0x04db;\n t.schwahook = 0x025a;\n t.scircle = 0x24e2;\n t.scircumflex = 0x015d;\n t.scommaaccent = 0x0219;\n t.sdotaccent = 0x1e61;\n t.sdotbelow = 0x1e63;\n t.sdotbelowdotaccent = 0x1e69;\n t.seagullbelowcmb = 0x033c;\n t.second = 0x2033;\n t.secondtonechinese = 0x02ca;\n t.section = 0x00a7;\n t.seenarabic = 0x0633;\n t.seenfinalarabic = 0xfeb2;\n t.seeninitialarabic = 0xfeb3;\n t.seenmedialarabic = 0xfeb4;\n t.segol = 0x05b6;\n t.segol13 = 0x05b6;\n t.segol1f = 0x05b6;\n t.segol2c = 0x05b6;\n t.segolhebrew = 0x05b6;\n t.segolnarrowhebrew = 0x05b6;\n t.segolquarterhebrew = 0x05b6;\n t.segoltahebrew = 0x0592;\n t.segolwidehebrew = 0x05b6;\n t.seharmenian = 0x057d;\n t.sehiragana = 0x305b;\n t.sekatakana = 0x30bb;\n t.sekatakanahalfwidth = 0xff7e;\n t.semicolon = 0x003b;\n t.semicolonarabic = 0x061b;\n t.semicolonmonospace = 0xff1b;\n t.semicolonsmall = 0xfe54;\n t.semivoicedmarkkana = 0x309c;\n t.semivoicedmarkkanahalfwidth = 0xff9f;\n t.sentisquare = 0x3322;\n t.sentosquare = 0x3323;\n t.seven = 0x0037;\n t.sevenarabic = 0x0667;\n t.sevenbengali = 0x09ed;\n t.sevencircle = 0x2466;\n t.sevencircleinversesansserif = 0x2790;\n t.sevendeva = 0x096d;\n t.seveneighths = 0x215e;\n t.sevengujarati = 0x0aed;\n t.sevengurmukhi = 0x0a6d;\n t.sevenhackarabic = 0x0667;\n t.sevenhangzhou = 0x3027;\n t.sevenideographicparen = 0x3226;\n t.seveninferior = 0x2087;\n t.sevenmonospace = 0xff17;\n t.sevenoldstyle = 0xf737;\n t.sevenparen = 0x247a;\n t.sevenperiod = 0x248e;\n t.sevenpersian = 0x06f7;\n t.sevenroman = 0x2176;\n t.sevensuperior = 0x2077;\n t.seventeencircle = 0x2470;\n t.seventeenparen = 0x2484;\n t.seventeenperiod = 0x2498;\n t.seventhai = 0x0e57;\n t.sfthyphen = 0x00ad;\n t.shaarmenian = 0x0577;\n t.shabengali = 0x09b6;\n t.shacyrillic = 0x0448;\n t.shaddaarabic = 0x0651;\n t.shaddadammaarabic = 0xfc61;\n t.shaddadammatanarabic = 0xfc5e;\n t.shaddafathaarabic = 0xfc60;\n t.shaddakasraarabic = 0xfc62;\n t.shaddakasratanarabic = 0xfc5f;\n t.shade = 0x2592;\n t.shadedark = 0x2593;\n t.shadelight = 0x2591;\n t.shademedium = 0x2592;\n t.shadeva = 0x0936;\n t.shagujarati = 0x0ab6;\n t.shagurmukhi = 0x0a36;\n t.shalshelethebrew = 0x0593;\n t.shbopomofo = 0x3115;\n t.shchacyrillic = 0x0449;\n t.sheenarabic = 0x0634;\n t.sheenfinalarabic = 0xfeb6;\n t.sheeninitialarabic = 0xfeb7;\n t.sheenmedialarabic = 0xfeb8;\n t.sheicoptic = 0x03e3;\n t.sheqel = 0x20aa;\n t.sheqelhebrew = 0x20aa;\n t.sheva = 0x05b0;\n t.sheva115 = 0x05b0;\n t.sheva15 = 0x05b0;\n t.sheva22 = 0x05b0;\n t.sheva2e = 0x05b0;\n t.shevahebrew = 0x05b0;\n t.shevanarrowhebrew = 0x05b0;\n t.shevaquarterhebrew = 0x05b0;\n t.shevawidehebrew = 0x05b0;\n t.shhacyrillic = 0x04bb;\n t.shimacoptic = 0x03ed;\n t.shin = 0x05e9;\n t.shindagesh = 0xfb49;\n t.shindageshhebrew = 0xfb49;\n t.shindageshshindot = 0xfb2c;\n t.shindageshshindothebrew = 0xfb2c;\n t.shindageshsindot = 0xfb2d;\n t.shindageshsindothebrew = 0xfb2d;\n t.shindothebrew = 0x05c1;\n t.shinhebrew = 0x05e9;\n t.shinshindot = 0xfb2a;\n t.shinshindothebrew = 0xfb2a;\n t.shinsindot = 0xfb2b;\n t.shinsindothebrew = 0xfb2b;\n t.shook = 0x0282;\n t.sigma = 0x03c3;\n t.sigma1 = 0x03c2;\n t.sigmafinal = 0x03c2;\n t.sigmalunatesymbolgreek = 0x03f2;\n t.sihiragana = 0x3057;\n t.sikatakana = 0x30b7;\n t.sikatakanahalfwidth = 0xff7c;\n t.siluqhebrew = 0x05bd;\n t.siluqlefthebrew = 0x05bd;\n t.similar = 0x223c;\n t.sindothebrew = 0x05c2;\n t.siosacirclekorean = 0x3274;\n t.siosaparenkorean = 0x3214;\n t.sioscieuckorean = 0x317e;\n t.sioscirclekorean = 0x3266;\n t.sioskiyeokkorean = 0x317a;\n t.sioskorean = 0x3145;\n t.siosnieunkorean = 0x317b;\n t.siosparenkorean = 0x3206;\n t.siospieupkorean = 0x317d;\n t.siostikeutkorean = 0x317c;\n t.six = 0x0036;\n t.sixarabic = 0x0666;\n t.sixbengali = 0x09ec;\n t.sixcircle = 0x2465;\n t.sixcircleinversesansserif = 0x278f;\n t.sixdeva = 0x096c;\n t.sixgujarati = 0x0aec;\n t.sixgurmukhi = 0x0a6c;\n t.sixhackarabic = 0x0666;\n t.sixhangzhou = 0x3026;\n t.sixideographicparen = 0x3225;\n t.sixinferior = 0x2086;\n t.sixmonospace = 0xff16;\n t.sixoldstyle = 0xf736;\n t.sixparen = 0x2479;\n t.sixperiod = 0x248d;\n t.sixpersian = 0x06f6;\n t.sixroman = 0x2175;\n t.sixsuperior = 0x2076;\n t.sixteencircle = 0x246f;\n t.sixteencurrencydenominatorbengali = 0x09f9;\n t.sixteenparen = 0x2483;\n t.sixteenperiod = 0x2497;\n t.sixthai = 0x0e56;\n t.slash = 0x002f;\n t.slashmonospace = 0xff0f;\n t.slong = 0x017f;\n t.slongdotaccent = 0x1e9b;\n t.smileface = 0x263a;\n t.smonospace = 0xff53;\n t.sofpasuqhebrew = 0x05c3;\n t.softhyphen = 0x00ad;\n t.softsigncyrillic = 0x044c;\n t.sohiragana = 0x305d;\n t.sokatakana = 0x30bd;\n t.sokatakanahalfwidth = 0xff7f;\n t.soliduslongoverlaycmb = 0x0338;\n t.solidusshortoverlaycmb = 0x0337;\n t.sorusithai = 0x0e29;\n t.sosalathai = 0x0e28;\n t.sosothai = 0x0e0b;\n t.sosuathai = 0x0e2a;\n t.space = 0x0020;\n t.spacehackarabic = 0x0020;\n t.spade = 0x2660;\n t.spadesuitblack = 0x2660;\n t.spadesuitwhite = 0x2664;\n t.sparen = 0x24ae;\n t.squarebelowcmb = 0x033b;\n t.squarecc = 0x33c4;\n t.squarecm = 0x339d;\n t.squarediagonalcrosshatchfill = 0x25a9;\n t.squarehorizontalfill = 0x25a4;\n t.squarekg = 0x338f;\n t.squarekm = 0x339e;\n t.squarekmcapital = 0x33ce;\n t.squareln = 0x33d1;\n t.squarelog = 0x33d2;\n t.squaremg = 0x338e;\n t.squaremil = 0x33d5;\n t.squaremm = 0x339c;\n t.squaremsquared = 0x33a1;\n t.squareorthogonalcrosshatchfill = 0x25a6;\n t.squareupperlefttolowerrightfill = 0x25a7;\n t.squareupperrighttolowerleftfill = 0x25a8;\n t.squareverticalfill = 0x25a5;\n t.squarewhitewithsmallblack = 0x25a3;\n t.srsquare = 0x33db;\n t.ssabengali = 0x09b7;\n t.ssadeva = 0x0937;\n t.ssagujarati = 0x0ab7;\n t.ssangcieuckorean = 0x3149;\n t.ssanghieuhkorean = 0x3185;\n t.ssangieungkorean = 0x3180;\n t.ssangkiyeokkorean = 0x3132;\n t.ssangnieunkorean = 0x3165;\n t.ssangpieupkorean = 0x3143;\n t.ssangsioskorean = 0x3146;\n t.ssangtikeutkorean = 0x3138;\n t.ssuperior = 0xf6f2;\n t.sterling = 0x00a3;\n t.sterlingmonospace = 0xffe1;\n t.strokelongoverlaycmb = 0x0336;\n t.strokeshortoverlaycmb = 0x0335;\n t.subset = 0x2282;\n t.subsetnotequal = 0x228a;\n t.subsetorequal = 0x2286;\n t.succeeds = 0x227b;\n t.suchthat = 0x220b;\n t.suhiragana = 0x3059;\n t.sukatakana = 0x30b9;\n t.sukatakanahalfwidth = 0xff7d;\n t.sukunarabic = 0x0652;\n t.summation = 0x2211;\n t.sun = 0x263c;\n t.superset = 0x2283;\n t.supersetnotequal = 0x228b;\n t.supersetorequal = 0x2287;\n t.svsquare = 0x33dc;\n t.syouwaerasquare = 0x337c;\n t.t = 0x0074;\n t.tabengali = 0x09a4;\n t.tackdown = 0x22a4;\n t.tackleft = 0x22a3;\n t.tadeva = 0x0924;\n t.tagujarati = 0x0aa4;\n t.tagurmukhi = 0x0a24;\n t.taharabic = 0x0637;\n t.tahfinalarabic = 0xfec2;\n t.tahinitialarabic = 0xfec3;\n t.tahiragana = 0x305f;\n t.tahmedialarabic = 0xfec4;\n t.taisyouerasquare = 0x337d;\n t.takatakana = 0x30bf;\n t.takatakanahalfwidth = 0xff80;\n t.tatweelarabic = 0x0640;\n t.tau = 0x03c4;\n t.tav = 0x05ea;\n t.tavdages = 0xfb4a;\n t.tavdagesh = 0xfb4a;\n t.tavdageshhebrew = 0xfb4a;\n t.tavhebrew = 0x05ea;\n t.tbar = 0x0167;\n t.tbopomofo = 0x310a;\n t.tcaron = 0x0165;\n t.tccurl = 0x02a8;\n t.tcedilla = 0x0163;\n t.tcheharabic = 0x0686;\n t.tchehfinalarabic = 0xfb7b;\n t.tchehinitialarabic = 0xfb7c;\n t.tchehmedialarabic = 0xfb7d;\n t.tcircle = 0x24e3;\n t.tcircumflexbelow = 0x1e71;\n t.tcommaaccent = 0x0163;\n t.tdieresis = 0x1e97;\n t.tdotaccent = 0x1e6b;\n t.tdotbelow = 0x1e6d;\n t.tecyrillic = 0x0442;\n t.tedescendercyrillic = 0x04ad;\n t.teharabic = 0x062a;\n t.tehfinalarabic = 0xfe96;\n t.tehhahinitialarabic = 0xfca2;\n t.tehhahisolatedarabic = 0xfc0c;\n t.tehinitialarabic = 0xfe97;\n t.tehiragana = 0x3066;\n t.tehjeeminitialarabic = 0xfca1;\n t.tehjeemisolatedarabic = 0xfc0b;\n t.tehmarbutaarabic = 0x0629;\n t.tehmarbutafinalarabic = 0xfe94;\n t.tehmedialarabic = 0xfe98;\n t.tehmeeminitialarabic = 0xfca4;\n t.tehmeemisolatedarabic = 0xfc0e;\n t.tehnoonfinalarabic = 0xfc73;\n t.tekatakana = 0x30c6;\n t.tekatakanahalfwidth = 0xff83;\n t.telephone = 0x2121;\n t.telephoneblack = 0x260e;\n t.telishagedolahebrew = 0x05a0;\n t.telishaqetanahebrew = 0x05a9;\n t.tencircle = 0x2469;\n t.tenideographicparen = 0x3229;\n t.tenparen = 0x247d;\n t.tenperiod = 0x2491;\n t.tenroman = 0x2179;\n t.tesh = 0x02a7;\n t.tet = 0x05d8;\n t.tetdagesh = 0xfb38;\n t.tetdageshhebrew = 0xfb38;\n t.tethebrew = 0x05d8;\n t.tetsecyrillic = 0x04b5;\n t.tevirhebrew = 0x059b;\n t.tevirlefthebrew = 0x059b;\n t.thabengali = 0x09a5;\n t.thadeva = 0x0925;\n t.thagujarati = 0x0aa5;\n t.thagurmukhi = 0x0a25;\n t.thalarabic = 0x0630;\n t.thalfinalarabic = 0xfeac;\n t.thanthakhatlowleftthai = 0xf898;\n t.thanthakhatlowrightthai = 0xf897;\n t.thanthakhatthai = 0x0e4c;\n t.thanthakhatupperleftthai = 0xf896;\n t.theharabic = 0x062b;\n t.thehfinalarabic = 0xfe9a;\n t.thehinitialarabic = 0xfe9b;\n t.thehmedialarabic = 0xfe9c;\n t.thereexists = 0x2203;\n t.therefore = 0x2234;\n t.theta = 0x03b8;\n t.theta1 = 0x03d1;\n t.thetasymbolgreek = 0x03d1;\n t.thieuthacirclekorean = 0x3279;\n t.thieuthaparenkorean = 0x3219;\n t.thieuthcirclekorean = 0x326b;\n t.thieuthkorean = 0x314c;\n t.thieuthparenkorean = 0x320b;\n t.thirteencircle = 0x246c;\n t.thirteenparen = 0x2480;\n t.thirteenperiod = 0x2494;\n t.thonangmonthothai = 0x0e11;\n t.thook = 0x01ad;\n t.thophuthaothai = 0x0e12;\n t.thorn = 0x00fe;\n t.thothahanthai = 0x0e17;\n t.thothanthai = 0x0e10;\n t.thothongthai = 0x0e18;\n t.thothungthai = 0x0e16;\n t.thousandcyrillic = 0x0482;\n t.thousandsseparatorarabic = 0x066c;\n t.thousandsseparatorpersian = 0x066c;\n t.three = 0x0033;\n t.threearabic = 0x0663;\n t.threebengali = 0x09e9;\n t.threecircle = 0x2462;\n t.threecircleinversesansserif = 0x278c;\n t.threedeva = 0x0969;\n t.threeeighths = 0x215c;\n t.threegujarati = 0x0ae9;\n t.threegurmukhi = 0x0a69;\n t.threehackarabic = 0x0663;\n t.threehangzhou = 0x3023;\n t.threeideographicparen = 0x3222;\n t.threeinferior = 0x2083;\n t.threemonospace = 0xff13;\n t.threenumeratorbengali = 0x09f6;\n t.threeoldstyle = 0xf733;\n t.threeparen = 0x2476;\n t.threeperiod = 0x248a;\n t.threepersian = 0x06f3;\n t.threequarters = 0x00be;\n t.threequartersemdash = 0xf6de;\n t.threeroman = 0x2172;\n t.threesuperior = 0x00b3;\n t.threethai = 0x0e53;\n t.thzsquare = 0x3394;\n t.tihiragana = 0x3061;\n t.tikatakana = 0x30c1;\n t.tikatakanahalfwidth = 0xff81;\n t.tikeutacirclekorean = 0x3270;\n t.tikeutaparenkorean = 0x3210;\n t.tikeutcirclekorean = 0x3262;\n t.tikeutkorean = 0x3137;\n t.tikeutparenkorean = 0x3202;\n t.tilde = 0x02dc;\n t.tildebelowcmb = 0x0330;\n t.tildecmb = 0x0303;\n t.tildecomb = 0x0303;\n t.tildedoublecmb = 0x0360;\n t.tildeoperator = 0x223c;\n t.tildeoverlaycmb = 0x0334;\n t.tildeverticalcmb = 0x033e;\n t.timescircle = 0x2297;\n t.tipehahebrew = 0x0596;\n t.tipehalefthebrew = 0x0596;\n t.tippigurmukhi = 0x0a70;\n t.titlocyrilliccmb = 0x0483;\n t.tiwnarmenian = 0x057f;\n t.tlinebelow = 0x1e6f;\n t.tmonospace = 0xff54;\n t.toarmenian = 0x0569;\n t.tohiragana = 0x3068;\n t.tokatakana = 0x30c8;\n t.tokatakanahalfwidth = 0xff84;\n t.tonebarextrahighmod = 0x02e5;\n t.tonebarextralowmod = 0x02e9;\n t.tonebarhighmod = 0x02e6;\n t.tonebarlowmod = 0x02e8;\n t.tonebarmidmod = 0x02e7;\n t.tonefive = 0x01bd;\n t.tonesix = 0x0185;\n t.tonetwo = 0x01a8;\n t.tonos = 0x0384;\n t.tonsquare = 0x3327;\n t.topatakthai = 0x0e0f;\n t.tortoiseshellbracketleft = 0x3014;\n t.tortoiseshellbracketleftsmall = 0xfe5d;\n t.tortoiseshellbracketleftvertical = 0xfe39;\n t.tortoiseshellbracketright = 0x3015;\n t.tortoiseshellbracketrightsmall = 0xfe5e;\n t.tortoiseshellbracketrightvertical = 0xfe3a;\n t.totaothai = 0x0e15;\n t.tpalatalhook = 0x01ab;\n t.tparen = 0x24af;\n t.trademark = 0x2122;\n t.trademarksans = 0xf8ea;\n t.trademarkserif = 0xf6db;\n t.tretroflexhook = 0x0288;\n t.triagdn = 0x25bc;\n t.triaglf = 0x25c4;\n t.triagrt = 0x25ba;\n t.triagup = 0x25b2;\n t.ts = 0x02a6;\n t.tsadi = 0x05e6;\n t.tsadidagesh = 0xfb46;\n t.tsadidageshhebrew = 0xfb46;\n t.tsadihebrew = 0x05e6;\n t.tsecyrillic = 0x0446;\n t.tsere = 0x05b5;\n t.tsere12 = 0x05b5;\n t.tsere1e = 0x05b5;\n t.tsere2b = 0x05b5;\n t.tserehebrew = 0x05b5;\n t.tserenarrowhebrew = 0x05b5;\n t.tserequarterhebrew = 0x05b5;\n t.tserewidehebrew = 0x05b5;\n t.tshecyrillic = 0x045b;\n t.tsuperior = 0xf6f3;\n t.ttabengali = 0x099f;\n t.ttadeva = 0x091f;\n t.ttagujarati = 0x0a9f;\n t.ttagurmukhi = 0x0a1f;\n t.tteharabic = 0x0679;\n t.ttehfinalarabic = 0xfb67;\n t.ttehinitialarabic = 0xfb68;\n t.ttehmedialarabic = 0xfb69;\n t.tthabengali = 0x09a0;\n t.tthadeva = 0x0920;\n t.tthagujarati = 0x0aa0;\n t.tthagurmukhi = 0x0a20;\n t.tturned = 0x0287;\n t.tuhiragana = 0x3064;\n t.tukatakana = 0x30c4;\n t.tukatakanahalfwidth = 0xff82;\n t.tusmallhiragana = 0x3063;\n t.tusmallkatakana = 0x30c3;\n t.tusmallkatakanahalfwidth = 0xff6f;\n t.twelvecircle = 0x246b;\n t.twelveparen = 0x247f;\n t.twelveperiod = 0x2493;\n t.twelveroman = 0x217b;\n t.twentycircle = 0x2473;\n t.twentyhangzhou = 0x5344;\n t.twentyparen = 0x2487;\n t.twentyperiod = 0x249b;\n t.two = 0x0032;\n t.twoarabic = 0x0662;\n t.twobengali = 0x09e8;\n t.twocircle = 0x2461;\n t.twocircleinversesansserif = 0x278b;\n t.twodeva = 0x0968;\n t.twodotenleader = 0x2025;\n t.twodotleader = 0x2025;\n t.twodotleadervertical = 0xfe30;\n t.twogujarati = 0x0ae8;\n t.twogurmukhi = 0x0a68;\n t.twohackarabic = 0x0662;\n t.twohangzhou = 0x3022;\n t.twoideographicparen = 0x3221;\n t.twoinferior = 0x2082;\n t.twomonospace = 0xff12;\n t.twonumeratorbengali = 0x09f5;\n t.twooldstyle = 0xf732;\n t.twoparen = 0x2475;\n t.twoperiod = 0x2489;\n t.twopersian = 0x06f2;\n t.tworoman = 0x2171;\n t.twostroke = 0x01bb;\n t.twosuperior = 0x00b2;\n t.twothai = 0x0e52;\n t.twothirds = 0x2154;\n t.u = 0x0075;\n t.uacute = 0x00fa;\n t.ubar = 0x0289;\n t.ubengali = 0x0989;\n t.ubopomofo = 0x3128;\n t.ubreve = 0x016d;\n t.ucaron = 0x01d4;\n t.ucircle = 0x24e4;\n t.ucircumflex = 0x00fb;\n t.ucircumflexbelow = 0x1e77;\n t.ucyrillic = 0x0443;\n t.udattadeva = 0x0951;\n t.udblacute = 0x0171;\n t.udblgrave = 0x0215;\n t.udeva = 0x0909;\n t.udieresis = 0x00fc;\n t.udieresisacute = 0x01d8;\n t.udieresisbelow = 0x1e73;\n t.udieresiscaron = 0x01da;\n t.udieresiscyrillic = 0x04f1;\n t.udieresisgrave = 0x01dc;\n t.udieresismacron = 0x01d6;\n t.udotbelow = 0x1ee5;\n t.ugrave = 0x00f9;\n t.ugujarati = 0x0a89;\n t.ugurmukhi = 0x0a09;\n t.uhiragana = 0x3046;\n t.uhookabove = 0x1ee7;\n t.uhorn = 0x01b0;\n t.uhornacute = 0x1ee9;\n t.uhorndotbelow = 0x1ef1;\n t.uhorngrave = 0x1eeb;\n t.uhornhookabove = 0x1eed;\n t.uhorntilde = 0x1eef;\n t.uhungarumlaut = 0x0171;\n t.uhungarumlautcyrillic = 0x04f3;\n t.uinvertedbreve = 0x0217;\n t.ukatakana = 0x30a6;\n t.ukatakanahalfwidth = 0xff73;\n t.ukcyrillic = 0x0479;\n t.ukorean = 0x315c;\n t.umacron = 0x016b;\n t.umacroncyrillic = 0x04ef;\n t.umacrondieresis = 0x1e7b;\n t.umatragurmukhi = 0x0a41;\n t.umonospace = 0xff55;\n t.underscore = 0x005f;\n t.underscoredbl = 0x2017;\n t.underscoremonospace = 0xff3f;\n t.underscorevertical = 0xfe33;\n t.underscorewavy = 0xfe4f;\n t.union = 0x222a;\n t.universal = 0x2200;\n t.uogonek = 0x0173;\n t.uparen = 0x24b0;\n t.upblock = 0x2580;\n t.upperdothebrew = 0x05c4;\n t.upsilon = 0x03c5;\n t.upsilondieresis = 0x03cb;\n t.upsilondieresistonos = 0x03b0;\n t.upsilonlatin = 0x028a;\n t.upsilontonos = 0x03cd;\n t.uptackbelowcmb = 0x031d;\n t.uptackmod = 0x02d4;\n t.uragurmukhi = 0x0a73;\n t.uring = 0x016f;\n t.ushortcyrillic = 0x045e;\n t.usmallhiragana = 0x3045;\n t.usmallkatakana = 0x30a5;\n t.usmallkatakanahalfwidth = 0xff69;\n t.ustraightcyrillic = 0x04af;\n t.ustraightstrokecyrillic = 0x04b1;\n t.utilde = 0x0169;\n t.utildeacute = 0x1e79;\n t.utildebelow = 0x1e75;\n t.uubengali = 0x098a;\n t.uudeva = 0x090a;\n t.uugujarati = 0x0a8a;\n t.uugurmukhi = 0x0a0a;\n t.uumatragurmukhi = 0x0a42;\n t.uuvowelsignbengali = 0x09c2;\n t.uuvowelsigndeva = 0x0942;\n t.uuvowelsigngujarati = 0x0ac2;\n t.uvowelsignbengali = 0x09c1;\n t.uvowelsigndeva = 0x0941;\n t.uvowelsigngujarati = 0x0ac1;\n t.v = 0x0076;\n t.vadeva = 0x0935;\n t.vagujarati = 0x0ab5;\n t.vagurmukhi = 0x0a35;\n t.vakatakana = 0x30f7;\n t.vav = 0x05d5;\n t.vavdagesh = 0xfb35;\n t.vavdagesh65 = 0xfb35;\n t.vavdageshhebrew = 0xfb35;\n t.vavhebrew = 0x05d5;\n t.vavholam = 0xfb4b;\n t.vavholamhebrew = 0xfb4b;\n t.vavvavhebrew = 0x05f0;\n t.vavyodhebrew = 0x05f1;\n t.vcircle = 0x24e5;\n t.vdotbelow = 0x1e7f;\n t.vecyrillic = 0x0432;\n t.veharabic = 0x06a4;\n t.vehfinalarabic = 0xfb6b;\n t.vehinitialarabic = 0xfb6c;\n t.vehmedialarabic = 0xfb6d;\n t.vekatakana = 0x30f9;\n t.venus = 0x2640;\n t.verticalbar = 0x007c;\n t.verticallineabovecmb = 0x030d;\n t.verticallinebelowcmb = 0x0329;\n t.verticallinelowmod = 0x02cc;\n t.verticallinemod = 0x02c8;\n t.vewarmenian = 0x057e;\n t.vhook = 0x028b;\n t.vikatakana = 0x30f8;\n t.viramabengali = 0x09cd;\n t.viramadeva = 0x094d;\n t.viramagujarati = 0x0acd;\n t.visargabengali = 0x0983;\n t.visargadeva = 0x0903;\n t.visargagujarati = 0x0a83;\n t.vmonospace = 0xff56;\n t.voarmenian = 0x0578;\n t.voicediterationhiragana = 0x309e;\n t.voicediterationkatakana = 0x30fe;\n t.voicedmarkkana = 0x309b;\n t.voicedmarkkanahalfwidth = 0xff9e;\n t.vokatakana = 0x30fa;\n t.vparen = 0x24b1;\n t.vtilde = 0x1e7d;\n t.vturned = 0x028c;\n t.vuhiragana = 0x3094;\n t.vukatakana = 0x30f4;\n t.w = 0x0077;\n t.wacute = 0x1e83;\n t.waekorean = 0x3159;\n t.wahiragana = 0x308f;\n t.wakatakana = 0x30ef;\n t.wakatakanahalfwidth = 0xff9c;\n t.wakorean = 0x3158;\n t.wasmallhiragana = 0x308e;\n t.wasmallkatakana = 0x30ee;\n t.wattosquare = 0x3357;\n t.wavedash = 0x301c;\n t.wavyunderscorevertical = 0xfe34;\n t.wawarabic = 0x0648;\n t.wawfinalarabic = 0xfeee;\n t.wawhamzaabovearabic = 0x0624;\n t.wawhamzaabovefinalarabic = 0xfe86;\n t.wbsquare = 0x33dd;\n t.wcircle = 0x24e6;\n t.wcircumflex = 0x0175;\n t.wdieresis = 0x1e85;\n t.wdotaccent = 0x1e87;\n t.wdotbelow = 0x1e89;\n t.wehiragana = 0x3091;\n t.weierstrass = 0x2118;\n t.wekatakana = 0x30f1;\n t.wekorean = 0x315e;\n t.weokorean = 0x315d;\n t.wgrave = 0x1e81;\n t.whitebullet = 0x25e6;\n t.whitecircle = 0x25cb;\n t.whitecircleinverse = 0x25d9;\n t.whitecornerbracketleft = 0x300e;\n t.whitecornerbracketleftvertical = 0xfe43;\n t.whitecornerbracketright = 0x300f;\n t.whitecornerbracketrightvertical = 0xfe44;\n t.whitediamond = 0x25c7;\n t.whitediamondcontainingblacksmalldiamond = 0x25c8;\n t.whitedownpointingsmalltriangle = 0x25bf;\n t.whitedownpointingtriangle = 0x25bd;\n t.whiteleftpointingsmalltriangle = 0x25c3;\n t.whiteleftpointingtriangle = 0x25c1;\n t.whitelenticularbracketleft = 0x3016;\n t.whitelenticularbracketright = 0x3017;\n t.whiterightpointingsmalltriangle = 0x25b9;\n t.whiterightpointingtriangle = 0x25b7;\n t.whitesmallsquare = 0x25ab;\n t.whitesmilingface = 0x263a;\n t.whitesquare = 0x25a1;\n t.whitestar = 0x2606;\n t.whitetelephone = 0x260f;\n t.whitetortoiseshellbracketleft = 0x3018;\n t.whitetortoiseshellbracketright = 0x3019;\n t.whiteuppointingsmalltriangle = 0x25b5;\n t.whiteuppointingtriangle = 0x25b3;\n t.wihiragana = 0x3090;\n t.wikatakana = 0x30f0;\n t.wikorean = 0x315f;\n t.wmonospace = 0xff57;\n t.wohiragana = 0x3092;\n t.wokatakana = 0x30f2;\n t.wokatakanahalfwidth = 0xff66;\n t.won = 0x20a9;\n t.wonmonospace = 0xffe6;\n t.wowaenthai = 0x0e27;\n t.wparen = 0x24b2;\n t.wring = 0x1e98;\n t.wsuperior = 0x02b7;\n t.wturned = 0x028d;\n t.wynn = 0x01bf;\n t.x = 0x0078;\n t.xabovecmb = 0x033d;\n t.xbopomofo = 0x3112;\n t.xcircle = 0x24e7;\n t.xdieresis = 0x1e8d;\n t.xdotaccent = 0x1e8b;\n t.xeharmenian = 0x056d;\n t.xi = 0x03be;\n t.xmonospace = 0xff58;\n t.xparen = 0x24b3;\n t.xsuperior = 0x02e3;\n t.y = 0x0079;\n t.yaadosquare = 0x334e;\n t.yabengali = 0x09af;\n t.yacute = 0x00fd;\n t.yadeva = 0x092f;\n t.yaekorean = 0x3152;\n t.yagujarati = 0x0aaf;\n t.yagurmukhi = 0x0a2f;\n t.yahiragana = 0x3084;\n t.yakatakana = 0x30e4;\n t.yakatakanahalfwidth = 0xff94;\n t.yakorean = 0x3151;\n t.yamakkanthai = 0x0e4e;\n t.yasmallhiragana = 0x3083;\n t.yasmallkatakana = 0x30e3;\n t.yasmallkatakanahalfwidth = 0xff6c;\n t.yatcyrillic = 0x0463;\n t.ycircle = 0x24e8;\n t.ycircumflex = 0x0177;\n t.ydieresis = 0x00ff;\n t.ydotaccent = 0x1e8f;\n t.ydotbelow = 0x1ef5;\n t.yeharabic = 0x064a;\n t.yehbarreearabic = 0x06d2;\n t.yehbarreefinalarabic = 0xfbaf;\n t.yehfinalarabic = 0xfef2;\n t.yehhamzaabovearabic = 0x0626;\n t.yehhamzaabovefinalarabic = 0xfe8a;\n t.yehhamzaaboveinitialarabic = 0xfe8b;\n t.yehhamzaabovemedialarabic = 0xfe8c;\n t.yehinitialarabic = 0xfef3;\n t.yehmedialarabic = 0xfef4;\n t.yehmeeminitialarabic = 0xfcdd;\n t.yehmeemisolatedarabic = 0xfc58;\n t.yehnoonfinalarabic = 0xfc94;\n t.yehthreedotsbelowarabic = 0x06d1;\n t.yekorean = 0x3156;\n t.yen = 0x00a5;\n t.yenmonospace = 0xffe5;\n t.yeokorean = 0x3155;\n t.yeorinhieuhkorean = 0x3186;\n t.yerahbenyomohebrew = 0x05aa;\n t.yerahbenyomolefthebrew = 0x05aa;\n t.yericyrillic = 0x044b;\n t.yerudieresiscyrillic = 0x04f9;\n t.yesieungkorean = 0x3181;\n t.yesieungpansioskorean = 0x3183;\n t.yesieungsioskorean = 0x3182;\n t.yetivhebrew = 0x059a;\n t.ygrave = 0x1ef3;\n t.yhook = 0x01b4;\n t.yhookabove = 0x1ef7;\n t.yiarmenian = 0x0575;\n t.yicyrillic = 0x0457;\n t.yikorean = 0x3162;\n t.yinyang = 0x262f;\n t.yiwnarmenian = 0x0582;\n t.ymonospace = 0xff59;\n t.yod = 0x05d9;\n t.yoddagesh = 0xfb39;\n t.yoddageshhebrew = 0xfb39;\n t.yodhebrew = 0x05d9;\n t.yodyodhebrew = 0x05f2;\n t.yodyodpatahhebrew = 0xfb1f;\n t.yohiragana = 0x3088;\n t.yoikorean = 0x3189;\n t.yokatakana = 0x30e8;\n t.yokatakanahalfwidth = 0xff96;\n t.yokorean = 0x315b;\n t.yosmallhiragana = 0x3087;\n t.yosmallkatakana = 0x30e7;\n t.yosmallkatakanahalfwidth = 0xff6e;\n t.yotgreek = 0x03f3;\n t.yoyaekorean = 0x3188;\n t.yoyakorean = 0x3187;\n t.yoyakthai = 0x0e22;\n t.yoyingthai = 0x0e0d;\n t.yparen = 0x24b4;\n t.ypogegrammeni = 0x037a;\n t.ypogegrammenigreekcmb = 0x0345;\n t.yr = 0x01a6;\n t.yring = 0x1e99;\n t.ysuperior = 0x02b8;\n t.ytilde = 0x1ef9;\n t.yturned = 0x028e;\n t.yuhiragana = 0x3086;\n t.yuikorean = 0x318c;\n t.yukatakana = 0x30e6;\n t.yukatakanahalfwidth = 0xff95;\n t.yukorean = 0x3160;\n t.yusbigcyrillic = 0x046b;\n t.yusbigiotifiedcyrillic = 0x046d;\n t.yuslittlecyrillic = 0x0467;\n t.yuslittleiotifiedcyrillic = 0x0469;\n t.yusmallhiragana = 0x3085;\n t.yusmallkatakana = 0x30e5;\n t.yusmallkatakanahalfwidth = 0xff6d;\n t.yuyekorean = 0x318b;\n t.yuyeokorean = 0x318a;\n t.yyabengali = 0x09df;\n t.yyadeva = 0x095f;\n t.z = 0x007a;\n t.zaarmenian = 0x0566;\n t.zacute = 0x017a;\n t.zadeva = 0x095b;\n t.zagurmukhi = 0x0a5b;\n t.zaharabic = 0x0638;\n t.zahfinalarabic = 0xfec6;\n t.zahinitialarabic = 0xfec7;\n t.zahiragana = 0x3056;\n t.zahmedialarabic = 0xfec8;\n t.zainarabic = 0x0632;\n t.zainfinalarabic = 0xfeb0;\n t.zakatakana = 0x30b6;\n t.zaqefgadolhebrew = 0x0595;\n t.zaqefqatanhebrew = 0x0594;\n t.zarqahebrew = 0x0598;\n t.zayin = 0x05d6;\n t.zayindagesh = 0xfb36;\n t.zayindageshhebrew = 0xfb36;\n t.zayinhebrew = 0x05d6;\n t.zbopomofo = 0x3117;\n t.zcaron = 0x017e;\n t.zcircle = 0x24e9;\n t.zcircumflex = 0x1e91;\n t.zcurl = 0x0291;\n t.zdot = 0x017c;\n t.zdotaccent = 0x017c;\n t.zdotbelow = 0x1e93;\n t.zecyrillic = 0x0437;\n t.zedescendercyrillic = 0x0499;\n t.zedieresiscyrillic = 0x04df;\n t.zehiragana = 0x305c;\n t.zekatakana = 0x30bc;\n t.zero = 0x0030;\n t.zeroarabic = 0x0660;\n t.zerobengali = 0x09e6;\n t.zerodeva = 0x0966;\n t.zerogujarati = 0x0ae6;\n t.zerogurmukhi = 0x0a66;\n t.zerohackarabic = 0x0660;\n t.zeroinferior = 0x2080;\n t.zeromonospace = 0xff10;\n t.zerooldstyle = 0xf730;\n t.zeropersian = 0x06f0;\n t.zerosuperior = 0x2070;\n t.zerothai = 0x0e50;\n t.zerowidthjoiner = 0xfeff;\n t.zerowidthnonjoiner = 0x200c;\n t.zerowidthspace = 0x200b;\n t.zeta = 0x03b6;\n t.zhbopomofo = 0x3113;\n t.zhearmenian = 0x056a;\n t.zhebrevecyrillic = 0x04c2;\n t.zhecyrillic = 0x0436;\n t.zhedescendercyrillic = 0x0497;\n t.zhedieresiscyrillic = 0x04dd;\n t.zihiragana = 0x3058;\n t.zikatakana = 0x30b8;\n t.zinorhebrew = 0x05ae;\n t.zlinebelow = 0x1e95;\n t.zmonospace = 0xff5a;\n t.zohiragana = 0x305e;\n t.zokatakana = 0x30be;\n t.zparen = 0x24b5;\n t.zretroflexhook = 0x0290;\n t.zstroke = 0x01b6;\n t.zuhiragana = 0x305a;\n t.zukatakana = 0x30ba;\n t[\".notdef\"] = 0x0000;\n t.angbracketleftbig = 0x2329;\n t.angbracketleftBig = 0x2329;\n t.angbracketleftbigg = 0x2329;\n t.angbracketleftBigg = 0x2329;\n t.angbracketrightBig = 0x232a;\n t.angbracketrightbig = 0x232a;\n t.angbracketrightBigg = 0x232a;\n t.angbracketrightbigg = 0x232a;\n t.arrowhookleft = 0x21aa;\n t.arrowhookright = 0x21a9;\n t.arrowlefttophalf = 0x21bc;\n t.arrowleftbothalf = 0x21bd;\n t.arrownortheast = 0x2197;\n t.arrownorthwest = 0x2196;\n t.arrowrighttophalf = 0x21c0;\n t.arrowrightbothalf = 0x21c1;\n t.arrowsoutheast = 0x2198;\n t.arrowsouthwest = 0x2199;\n t.backslashbig = 0x2216;\n t.backslashBig = 0x2216;\n t.backslashBigg = 0x2216;\n t.backslashbigg = 0x2216;\n t.bardbl = 0x2016;\n t.bracehtipdownleft = 0xfe37;\n t.bracehtipdownright = 0xfe37;\n t.bracehtipupleft = 0xfe38;\n t.bracehtipupright = 0xfe38;\n t.braceleftBig = 0x007b;\n t.braceleftbig = 0x007b;\n t.braceleftbigg = 0x007b;\n t.braceleftBigg = 0x007b;\n t.bracerightBig = 0x007d;\n t.bracerightbig = 0x007d;\n t.bracerightbigg = 0x007d;\n t.bracerightBigg = 0x007d;\n t.bracketleftbig = 0x005b;\n t.bracketleftBig = 0x005b;\n t.bracketleftbigg = 0x005b;\n t.bracketleftBigg = 0x005b;\n t.bracketrightBig = 0x005d;\n t.bracketrightbig = 0x005d;\n t.bracketrightbigg = 0x005d;\n t.bracketrightBigg = 0x005d;\n t.ceilingleftbig = 0x2308;\n t.ceilingleftBig = 0x2308;\n t.ceilingleftBigg = 0x2308;\n t.ceilingleftbigg = 0x2308;\n t.ceilingrightbig = 0x2309;\n t.ceilingrightBig = 0x2309;\n t.ceilingrightbigg = 0x2309;\n t.ceilingrightBigg = 0x2309;\n t.circledotdisplay = 0x2299;\n t.circledottext = 0x2299;\n t.circlemultiplydisplay = 0x2297;\n t.circlemultiplytext = 0x2297;\n t.circleplusdisplay = 0x2295;\n t.circleplustext = 0x2295;\n t.contintegraldisplay = 0x222e;\n t.contintegraltext = 0x222e;\n t.coproductdisplay = 0x2210;\n t.coproducttext = 0x2210;\n t.floorleftBig = 0x230a;\n t.floorleftbig = 0x230a;\n t.floorleftbigg = 0x230a;\n t.floorleftBigg = 0x230a;\n t.floorrightbig = 0x230b;\n t.floorrightBig = 0x230b;\n t.floorrightBigg = 0x230b;\n t.floorrightbigg = 0x230b;\n t.hatwide = 0x0302;\n t.hatwider = 0x0302;\n t.hatwidest = 0x0302;\n t.intercal = 0x1d40;\n t.integraldisplay = 0x222b;\n t.integraltext = 0x222b;\n t.intersectiondisplay = 0x22c2;\n t.intersectiontext = 0x22c2;\n t.logicalanddisplay = 0x2227;\n t.logicalandtext = 0x2227;\n t.logicalordisplay = 0x2228;\n t.logicalortext = 0x2228;\n t.parenleftBig = 0x0028;\n t.parenleftbig = 0x0028;\n t.parenleftBigg = 0x0028;\n t.parenleftbigg = 0x0028;\n t.parenrightBig = 0x0029;\n t.parenrightbig = 0x0029;\n t.parenrightBigg = 0x0029;\n t.parenrightbigg = 0x0029;\n t.prime = 0x2032;\n t.productdisplay = 0x220f;\n t.producttext = 0x220f;\n t.radicalbig = 0x221a;\n t.radicalBig = 0x221a;\n t.radicalBigg = 0x221a;\n t.radicalbigg = 0x221a;\n t.radicalbt = 0x221a;\n t.radicaltp = 0x221a;\n t.radicalvertex = 0x221a;\n t.slashbig = 0x002f;\n t.slashBig = 0x002f;\n t.slashBigg = 0x002f;\n t.slashbigg = 0x002f;\n t.summationdisplay = 0x2211;\n t.summationtext = 0x2211;\n t.tildewide = 0x02dc;\n t.tildewider = 0x02dc;\n t.tildewidest = 0x02dc;\n t.uniondisplay = 0x22c3;\n t.unionmultidisplay = 0x228e;\n t.unionmultitext = 0x228e;\n t.unionsqdisplay = 0x2294;\n t.unionsqtext = 0x2294;\n t.uniontext = 0x22c3;\n t.vextenddouble = 0x2225;\n t.vextendsingle = 0x2223;\n});\nvar getDingbatsGlyphsUnicode = getLookupTableFactory(function (t) {\n t.space = 0x0020;\n t.a1 = 0x2701;\n t.a2 = 0x2702;\n t.a202 = 0x2703;\n t.a3 = 0x2704;\n t.a4 = 0x260e;\n t.a5 = 0x2706;\n t.a119 = 0x2707;\n t.a118 = 0x2708;\n t.a117 = 0x2709;\n t.a11 = 0x261b;\n t.a12 = 0x261e;\n t.a13 = 0x270c;\n t.a14 = 0x270d;\n t.a15 = 0x270e;\n t.a16 = 0x270f;\n t.a105 = 0x2710;\n t.a17 = 0x2711;\n t.a18 = 0x2712;\n t.a19 = 0x2713;\n t.a20 = 0x2714;\n t.a21 = 0x2715;\n t.a22 = 0x2716;\n t.a23 = 0x2717;\n t.a24 = 0x2718;\n t.a25 = 0x2719;\n t.a26 = 0x271a;\n t.a27 = 0x271b;\n t.a28 = 0x271c;\n t.a6 = 0x271d;\n t.a7 = 0x271e;\n t.a8 = 0x271f;\n t.a9 = 0x2720;\n t.a10 = 0x2721;\n t.a29 = 0x2722;\n t.a30 = 0x2723;\n t.a31 = 0x2724;\n t.a32 = 0x2725;\n t.a33 = 0x2726;\n t.a34 = 0x2727;\n t.a35 = 0x2605;\n t.a36 = 0x2729;\n t.a37 = 0x272a;\n t.a38 = 0x272b;\n t.a39 = 0x272c;\n t.a40 = 0x272d;\n t.a41 = 0x272e;\n t.a42 = 0x272f;\n t.a43 = 0x2730;\n t.a44 = 0x2731;\n t.a45 = 0x2732;\n t.a46 = 0x2733;\n t.a47 = 0x2734;\n t.a48 = 0x2735;\n t.a49 = 0x2736;\n t.a50 = 0x2737;\n t.a51 = 0x2738;\n t.a52 = 0x2739;\n t.a53 = 0x273a;\n t.a54 = 0x273b;\n t.a55 = 0x273c;\n t.a56 = 0x273d;\n t.a57 = 0x273e;\n t.a58 = 0x273f;\n t.a59 = 0x2740;\n t.a60 = 0x2741;\n t.a61 = 0x2742;\n t.a62 = 0x2743;\n t.a63 = 0x2744;\n t.a64 = 0x2745;\n t.a65 = 0x2746;\n t.a66 = 0x2747;\n t.a67 = 0x2748;\n t.a68 = 0x2749;\n t.a69 = 0x274a;\n t.a70 = 0x274b;\n t.a71 = 0x25cf;\n t.a72 = 0x274d;\n t.a73 = 0x25a0;\n t.a74 = 0x274f;\n t.a203 = 0x2750;\n t.a75 = 0x2751;\n t.a204 = 0x2752;\n t.a76 = 0x25b2;\n t.a77 = 0x25bc;\n t.a78 = 0x25c6;\n t.a79 = 0x2756;\n t.a81 = 0x25d7;\n t.a82 = 0x2758;\n t.a83 = 0x2759;\n t.a84 = 0x275a;\n t.a97 = 0x275b;\n t.a98 = 0x275c;\n t.a99 = 0x275d;\n t.a100 = 0x275e;\n t.a101 = 0x2761;\n t.a102 = 0x2762;\n t.a103 = 0x2763;\n t.a104 = 0x2764;\n t.a106 = 0x2765;\n t.a107 = 0x2766;\n t.a108 = 0x2767;\n t.a112 = 0x2663;\n t.a111 = 0x2666;\n t.a110 = 0x2665;\n t.a109 = 0x2660;\n t.a120 = 0x2460;\n t.a121 = 0x2461;\n t.a122 = 0x2462;\n t.a123 = 0x2463;\n t.a124 = 0x2464;\n t.a125 = 0x2465;\n t.a126 = 0x2466;\n t.a127 = 0x2467;\n t.a128 = 0x2468;\n t.a129 = 0x2469;\n t.a130 = 0x2776;\n t.a131 = 0x2777;\n t.a132 = 0x2778;\n t.a133 = 0x2779;\n t.a134 = 0x277a;\n t.a135 = 0x277b;\n t.a136 = 0x277c;\n t.a137 = 0x277d;\n t.a138 = 0x277e;\n t.a139 = 0x277f;\n t.a140 = 0x2780;\n t.a141 = 0x2781;\n t.a142 = 0x2782;\n t.a143 = 0x2783;\n t.a144 = 0x2784;\n t.a145 = 0x2785;\n t.a146 = 0x2786;\n t.a147 = 0x2787;\n t.a148 = 0x2788;\n t.a149 = 0x2789;\n t.a150 = 0x278a;\n t.a151 = 0x278b;\n t.a152 = 0x278c;\n t.a153 = 0x278d;\n t.a154 = 0x278e;\n t.a155 = 0x278f;\n t.a156 = 0x2790;\n t.a157 = 0x2791;\n t.a158 = 0x2792;\n t.a159 = 0x2793;\n t.a160 = 0x2794;\n t.a161 = 0x2192;\n t.a163 = 0x2194;\n t.a164 = 0x2195;\n t.a196 = 0x2798;\n t.a165 = 0x2799;\n t.a192 = 0x279a;\n t.a166 = 0x279b;\n t.a167 = 0x279c;\n t.a168 = 0x279d;\n t.a169 = 0x279e;\n t.a170 = 0x279f;\n t.a171 = 0x27a0;\n t.a172 = 0x27a1;\n t.a173 = 0x27a2;\n t.a162 = 0x27a3;\n t.a174 = 0x27a4;\n t.a175 = 0x27a5;\n t.a176 = 0x27a6;\n t.a177 = 0x27a7;\n t.a178 = 0x27a8;\n t.a179 = 0x27a9;\n t.a193 = 0x27aa;\n t.a180 = 0x27ab;\n t.a199 = 0x27ac;\n t.a181 = 0x27ad;\n t.a200 = 0x27ae;\n t.a182 = 0x27af;\n t.a201 = 0x27b1;\n t.a183 = 0x27b2;\n t.a184 = 0x27b3;\n t.a197 = 0x27b4;\n t.a185 = 0x27b5;\n t.a194 = 0x27b6;\n t.a198 = 0x27b7;\n t.a186 = 0x27b8;\n t.a195 = 0x27b9;\n t.a187 = 0x27ba;\n t.a188 = 0x27bb;\n t.a189 = 0x27bc;\n t.a190 = 0x27bd;\n t.a191 = 0x27be;\n t.a89 = 0x2768;\n t.a90 = 0x2769;\n t.a93 = 0x276a;\n t.a94 = 0x276b;\n t.a91 = 0x276c;\n t.a92 = 0x276d;\n t.a205 = 0x276e;\n t.a85 = 0x276f;\n t.a206 = 0x2770;\n t.a86 = 0x2771;\n t.a87 = 0x2772;\n t.a88 = 0x2773;\n t.a95 = 0x2774;\n t.a96 = 0x2775;\n t[\".notdef\"] = 0x0000;\n});\nexports.getGlyphsUnicode = getGlyphsUnicode;\nexports.getDingbatsGlyphsUnicode = getDingbatsGlyphsUnicode;\n\n/***/ }),\n/* 227 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.getSupplementalGlyphMapForCalibri = exports.getSupplementalGlyphMapForArialBlack = exports.getGlyphMapForStandardFonts = exports.getSymbolsFonts = exports.getSerifFonts = exports.getNonStdFontMap = exports.getStdFontMap = void 0;\n\nvar _core_utils = __w_pdfjs_require__(201);\n\nvar getStdFontMap = (0, _core_utils.getLookupTableFactory)(function (t) {\n  t.ArialNarrow = \"Helvetica\";\n  t[\"ArialNarrow-Bold\"] = \"Helvetica-Bold\";\n  t[\"ArialNarrow-BoldItalic\"] = \"Helvetica-BoldOblique\";\n  t[\"ArialNarrow-Italic\"] = \"Helvetica-Oblique\";\n  t.ArialBlack = \"Helvetica\";\n  t[\"ArialBlack-Bold\"] = \"Helvetica-Bold\";\n  t[\"ArialBlack-BoldItalic\"] = \"Helvetica-BoldOblique\";\n  t[\"ArialBlack-Italic\"] = \"Helvetica-Oblique\";\n  t[\"Arial-Black\"] = \"Helvetica\";\n  t[\"Arial-Black-Bold\"] = \"Helvetica-Bold\";\n  t[\"Arial-Black-BoldItalic\"] = \"Helvetica-BoldOblique\";\n  t[\"Arial-Black-Italic\"] = \"Helvetica-Oblique\";\n  t.Arial = \"Helvetica\";\n  t[\"Arial-Bold\"] = \"Helvetica-Bold\";\n  t[\"Arial-BoldItalic\"] = \"Helvetica-BoldOblique\";\n  t[\"Arial-Italic\"] = \"Helvetica-Oblique\";\n  t[\"Arial-BoldItalicMT\"] = \"Helvetica-BoldOblique\";\n  t[\"Arial-BoldMT\"] = \"Helvetica-Bold\";\n  t[\"Arial-ItalicMT\"] = \"Helvetica-Oblique\";\n  t.ArialMT = \"Helvetica\";\n  t[\"Courier-Bold\"] = \"Courier-Bold\";\n  t[\"Courier-BoldItalic\"] = \"Courier-BoldOblique\";\n  t[\"Courier-Italic\"] = \"Courier-Oblique\";\n  t.CourierNew = \"Courier\";\n  t[\"CourierNew-Bold\"] = \"Courier-Bold\";\n  t[\"CourierNew-BoldItalic\"] = \"Courier-BoldOblique\";\n  t[\"CourierNew-Italic\"] = \"Courier-Oblique\";\n  t[\"CourierNewPS-BoldItalicMT\"] = \"Courier-BoldOblique\";\n  t[\"CourierNewPS-BoldMT\"] = \"Courier-Bold\";\n  t[\"CourierNewPS-ItalicMT\"] = \"Courier-Oblique\";\n  t.CourierNewPSMT = \"Courier\";\n  t.Helvetica = \"Helvetica\";\n  t[\"Helvetica-Bold\"] = \"Helvetica-Bold\";\n  t[\"Helvetica-BoldItalic\"] = \"Helvetica-BoldOblique\";\n  t[\"Helvetica-BoldOblique\"] = \"Helvetica-BoldOblique\";\n  t[\"Helvetica-Italic\"] = \"Helvetica-Oblique\";\n  t[\"Helvetica-Oblique\"] = \"Helvetica-Oblique\";\n  t[\"Symbol-Bold\"] = \"Symbol\";\n  t[\"Symbol-BoldItalic\"] = \"Symbol\";\n  t[\"Symbol-Italic\"] = \"Symbol\";\n  t.TimesNewRoman = \"Times-Roman\";\n  t[\"TimesNewRoman-Bold\"] = \"Times-Bold\";\n  t[\"TimesNewRoman-BoldItalic\"] = \"Times-BoldItalic\";\n  t[\"TimesNewRoman-Italic\"] = \"Times-Italic\";\n  t.TimesNewRomanPS = \"Times-Roman\";\n  t[\"TimesNewRomanPS-Bold\"] = \"Times-Bold\";\n  t[\"TimesNewRomanPS-BoldItalic\"] = \"Times-BoldItalic\";\n  t[\"TimesNewRomanPS-BoldItalicMT\"] = \"Times-BoldItalic\";\n  t[\"TimesNewRomanPS-BoldMT\"] = \"Times-Bold\";\n  t[\"TimesNewRomanPS-Italic\"] = \"Times-Italic\";\n  t[\"TimesNewRomanPS-ItalicMT\"] = \"Times-Italic\";\n  t.TimesNewRomanPSMT = \"Times-Roman\";\n  t[\"TimesNewRomanPSMT-Bold\"] = \"Times-Bold\";\n  t[\"TimesNewRomanPSMT-BoldItalic\"] = \"Times-BoldItalic\";\n  t[\"TimesNewRomanPSMT-Italic\"] = \"Times-Italic\";\n});\nexports.getStdFontMap = getStdFontMap;\nvar getNonStdFontMap = (0, _core_utils.getLookupTableFactory)(function (t) {\n  t.Calibri = \"Helvetica\";\n  t[\"Calibri-Bold\"] = \"Helvetica-Bold\";\n  t[\"Calibri-BoldItalic\"] = \"Helvetica-BoldOblique\";\n  t[\"Calibri-Italic\"] = \"Helvetica-Oblique\";\n  t.CenturyGothic = \"Helvetica\";\n  t[\"CenturyGothic-Bold\"] = \"Helvetica-Bold\";\n  t[\"CenturyGothic-BoldItalic\"] = \"Helvetica-BoldOblique\";\n  t[\"CenturyGothic-Italic\"] = \"Helvetica-Oblique\";\n  t.ComicSansMS = \"Comic Sans MS\";\n  t[\"ComicSansMS-Bold\"] = \"Comic Sans MS-Bold\";\n  t[\"ComicSansMS-BoldItalic\"] = \"Comic Sans MS-BoldItalic\";\n  t[\"ComicSansMS-Italic\"] = \"Comic Sans MS-Italic\";\n  t.LucidaConsole = \"Courier\";\n  t[\"LucidaConsole-Bold\"] = \"Courier-Bold\";\n  t[\"LucidaConsole-BoldItalic\"] = \"Courier-BoldOblique\";\n  t[\"LucidaConsole-Italic\"] = \"Courier-Oblique\";\n  t[\"LucidaSans-Demi\"] = \"Helvetica-Bold\";\n  t[\"MS-Gothic\"] = \"MS Gothic\";\n  t[\"MS-Gothic-Bold\"] = \"MS Gothic-Bold\";\n  t[\"MS-Gothic-BoldItalic\"] = \"MS Gothic-BoldItalic\";\n  t[\"MS-Gothic-Italic\"] = \"MS Gothic-Italic\";\n  t[\"MS-Mincho\"] = \"MS Mincho\";\n  t[\"MS-Mincho-Bold\"] = \"MS Mincho-Bold\";\n  t[\"MS-Mincho-BoldItalic\"] = \"MS Mincho-BoldItalic\";\n  t[\"MS-Mincho-Italic\"] = \"MS Mincho-Italic\";\n  t[\"MS-PGothic\"] = \"MS PGothic\";\n  t[\"MS-PGothic-Bold\"] = \"MS PGothic-Bold\";\n  t[\"MS-PGothic-BoldItalic\"] = \"MS PGothic-BoldItalic\";\n  t[\"MS-PGothic-Italic\"] = \"MS PGothic-Italic\";\n  t[\"MS-PMincho\"] = \"MS PMincho\";\n  t[\"MS-PMincho-Bold\"] = \"MS PMincho-Bold\";\n  t[\"MS-PMincho-BoldItalic\"] = \"MS PMincho-BoldItalic\";\n  t[\"MS-PMincho-Italic\"] = \"MS PMincho-Italic\";\n  t.NuptialScript = \"Times-Italic\";\n  t.SegoeUISymbol = \"Helvetica\";\n  t.Wingdings = \"ZapfDingbats\";\n  t[\"Wingdings-Regular\"] = \"ZapfDingbats\";\n});\nexports.getNonStdFontMap = getNonStdFontMap;\nvar getSerifFonts = (0, _core_utils.getLookupTableFactory)(function (t) {\n  t[\"Adobe Jenson\"] = true;\n  t[\"Adobe Text\"] = true;\n  t.Albertus = true;\n  t.Aldus = true;\n  t.Alexandria = true;\n  t.Algerian = true;\n  t[\"American Typewriter\"] = true;\n  t.Antiqua = true;\n  t.Apex = true;\n  t.Arno = true;\n  t.Aster = true;\n  t.Aurora = true;\n  t.Baskerville = true;\n  t.Bell = true;\n  t.Bembo = true;\n  t[\"Bembo Schoolbook\"] = true;\n  t.Benguiat = true;\n  t[\"Berkeley Old Style\"] = true;\n  t[\"Bernhard Modern\"] = true;\n  t[\"Berthold City\"] = true;\n  t.Bodoni = true;\n  t[\"Bauer Bodoni\"] = true;\n  t[\"Book Antiqua\"] = true;\n  t.Bookman = true;\n  t[\"Bordeaux Roman\"] = true;\n  t[\"Californian FB\"] = true;\n  t.Calisto = true;\n  t.Calvert = true;\n  t.Capitals = true;\n  t.Cambria = true;\n  t.Cartier = true;\n  t.Caslon = true;\n  t.Catull = true;\n  t.Centaur = true;\n  t[\"Century Old Style\"] = true;\n  t[\"Century Schoolbook\"] = true;\n  t.Chaparral = true;\n  t[\"Charis SIL\"] = true;\n  t.Cheltenham = true;\n  t[\"Cholla Slab\"] = true;\n  t.Clarendon = true;\n  t.Clearface = true;\n  t.Cochin = true;\n  t.Colonna = true;\n  t[\"Computer Modern\"] = true;\n  t[\"Concrete Roman\"] = true;\n  t.Constantia = true;\n  t[\"Cooper Black\"] = true;\n  t.Corona = true;\n  t.Ecotype = true;\n  t.Egyptienne = true;\n  t.Elephant = true;\n  t.Excelsior = true;\n  t.Fairfield = true;\n  t[\"FF Scala\"] = true;\n  t.Folkard = true;\n  t.Footlight = true;\n  t.FreeSerif = true;\n  t[\"Friz Quadrata\"] = true;\n  t.Garamond = true;\n  t.Gentium = true;\n  t.Georgia = true;\n  t.Gloucester = true;\n  t[\"Goudy Old Style\"] = true;\n  t[\"Goudy Schoolbook\"] = true;\n  t[\"Goudy Pro Font\"] = true;\n  t.Granjon = true;\n  t[\"Guardian Egyptian\"] = true;\n  t.Heather = true;\n  t.Hercules = true;\n  t[\"High Tower Text\"] = true;\n  t.Hiroshige = true;\n  t[\"Hoefler Text\"] = true;\n  t[\"Humana Serif\"] = true;\n  t.Imprint = true;\n  t[\"Ionic No. 5\"] = true;\n  t.Janson = true;\n  t.Joanna = true;\n  t.Korinna = true;\n  t.Lexicon = true;\n  t[\"Liberation Serif\"] = true;\n  t[\"Linux Libertine\"] = true;\n  t.Literaturnaya = true;\n  t.Lucida = true;\n  t[\"Lucida Bright\"] = true;\n  t.Melior = true;\n  t.Memphis = true;\n  t.Miller = true;\n  t.Minion = true;\n  t.Modern = true;\n  t[\"Mona Lisa\"] = true;\n  t[\"Mrs Eaves\"] = true;\n  t[\"MS Serif\"] = true;\n  t[\"Museo Slab\"] = true;\n  t[\"New York\"] = true;\n  t[\"Nimbus Roman\"] = true;\n  t[\"NPS Rawlinson Roadway\"] = true;\n  t.NuptialScript = true;\n  t.Palatino = true;\n  t.Perpetua = true;\n  t.Plantin = true;\n  t[\"Plantin Schoolbook\"] = true;\n  t.Playbill = true;\n  t[\"Poor Richard\"] = true;\n  t[\"Rawlinson Roadway\"] = true;\n  t.Renault = true;\n  t.Requiem = true;\n  t.Rockwell = true;\n  t.Roman = true;\n  t[\"Rotis Serif\"] = true;\n  t.Sabon = true;\n  t.Scala = true;\n  t.Seagull = true;\n  t.Sistina = true;\n  t.Souvenir = true;\n  t.STIX = true;\n  t[\"Stone Informal\"] = true;\n  t[\"Stone Serif\"] = true;\n  t.Sylfaen = true;\n  t.Times = true;\n  t.Trajan = true;\n  t[\"Trinité\"] = true;\n  t[\"Trump Mediaeval\"] = true;\n  t.Utopia = true;\n  t[\"Vale Type\"] = true;\n  t[\"Bitstream Vera\"] = true;\n  t[\"Vera Serif\"] = true;\n  t.Versailles = true;\n  t.Wanted = true;\n  t.Weiss = true;\n  t[\"Wide Latin\"] = true;\n  t.Windsor = true;\n  t.XITS = true;\n});\nexports.getSerifFonts = getSerifFonts;\nvar getSymbolsFonts = (0, _core_utils.getLookupTableFactory)(function (t) {\n  t.Dingbats = true;\n  t.Symbol = true;\n  t.ZapfDingbats = true;\n});\nexports.getSymbolsFonts = getSymbolsFonts;\nvar getGlyphMapForStandardFonts = (0, _core_utils.getLookupTableFactory)(function (t) {\n  t[2] = 10;\n  t[3] = 32;\n  t[4] = 33;\n  t[5] = 34;\n  t[6] = 35;\n  t[7] = 36;\n  t[8] = 37;\n  t[9] = 38;\n  t[10] = 39;\n  t[11] = 40;\n  t[12] = 41;\n  t[13] = 42;\n  t[14] = 43;\n  t[15] = 44;\n  t[16] = 45;\n  t[17] = 46;\n  t[18] = 47;\n  t[19] = 48;\n  t[20] = 49;\n  t[21] = 50;\n  t[22] = 51;\n  t[23] = 52;\n  t[24] = 53;\n  t[25] = 54;\n  t[26] = 55;\n  t[27] = 56;\n  t[28] = 57;\n  t[29] = 58;\n  t[30] = 894;\n  t[31] = 60;\n  t[32] = 61;\n  t[33] = 62;\n  t[34] = 63;\n  t[35] = 64;\n  t[36] = 65;\n  t[37] = 66;\n  t[38] = 67;\n  t[39] = 68;\n  t[40] = 69;\n  t[41] = 70;\n  t[42] = 71;\n  t[43] = 72;\n  t[44] = 73;\n  t[45] = 74;\n  t[46] = 75;\n  t[47] = 76;\n  t[48] = 77;\n  t[49] = 78;\n  t[50] = 79;\n  t[51] = 80;\n  t[52] = 81;\n  t[53] = 82;\n  t[54] = 83;\n  t[55] = 84;\n  t[56] = 85;\n  t[57] = 86;\n  t[58] = 87;\n  t[59] = 88;\n  t[60] = 89;\n  t[61] = 90;\n  t[62] = 91;\n  t[63] = 92;\n  t[64] = 93;\n  t[65] = 94;\n  t[66] = 95;\n  t[67] = 96;\n  t[68] = 97;\n  t[69] = 98;\n  t[70] = 99;\n  t[71] = 100;\n  t[72] = 101;\n  t[73] = 102;\n  t[74] = 103;\n  t[75] = 104;\n  t[76] = 105;\n  t[77] = 106;\n  t[78] = 107;\n  t[79] = 108;\n  t[80] = 109;\n  t[81] = 110;\n  t[82] = 111;\n  t[83] = 112;\n  t[84] = 113;\n  t[85] = 114;\n  t[86] = 115;\n  t[87] = 116;\n  t[88] = 117;\n  t[89] = 118;\n  t[90] = 119;\n  t[91] = 120;\n  t[92] = 121;\n  t[93] = 122;\n  t[94] = 123;\n  t[95] = 124;\n  t[96] = 125;\n  t[97] = 126;\n  t[98] = 196;\n  t[99] = 197;\n  t[100] = 199;\n  t[101] = 201;\n  t[102] = 209;\n  t[103] = 214;\n  t[104] = 220;\n  t[105] = 225;\n  t[106] = 224;\n  t[107] = 226;\n  t[108] = 228;\n  t[109] = 227;\n  t[110] = 229;\n  t[111] = 231;\n  t[112] = 233;\n  t[113] = 232;\n  t[114] = 234;\n  t[115] = 235;\n  t[116] = 237;\n  t[117] = 236;\n  t[118] = 238;\n  t[119] = 239;\n  t[120] = 241;\n  t[121] = 243;\n  t[122] = 242;\n  t[123] = 244;\n  t[124] = 246;\n  t[125] = 245;\n  t[126] = 250;\n  t[127] = 249;\n  t[128] = 251;\n  t[129] = 252;\n  t[130] = 8224;\n  t[131] = 176;\n  t[132] = 162;\n  t[133] = 163;\n  t[134] = 167;\n  t[135] = 8226;\n  t[136] = 182;\n  t[137] = 223;\n  t[138] = 174;\n  t[139] = 169;\n  t[140] = 8482;\n  t[141] = 180;\n  t[142] = 168;\n  t[143] = 8800;\n  t[144] = 198;\n  t[145] = 216;\n  t[146] = 8734;\n  t[147] = 177;\n  t[148] = 8804;\n  t[149] = 8805;\n  t[150] = 165;\n  t[151] = 181;\n  t[152] = 8706;\n  t[153] = 8721;\n  t[154] = 8719;\n  t[156] = 8747;\n  t[157] = 170;\n  t[158] = 186;\n  t[159] = 8486;\n  t[160] = 230;\n  t[161] = 248;\n  t[162] = 191;\n  t[163] = 161;\n  t[164] = 172;\n  t[165] = 8730;\n  t[166] = 402;\n  t[167] = 8776;\n  t[168] = 8710;\n  t[169] = 171;\n  t[170] = 187;\n  t[171] = 8230;\n  t[210] = 218;\n  t[223] = 711;\n  t[224] = 321;\n  t[225] = 322;\n  t[227] = 353;\n  t[229] = 382;\n  t[234] = 253;\n  t[252] = 263;\n  t[253] = 268;\n  t[254] = 269;\n  t[258] = 258;\n  t[260] = 260;\n  t[261] = 261;\n  t[265] = 280;\n  t[266] = 281;\n  t[268] = 283;\n  t[269] = 313;\n  t[275] = 323;\n  t[276] = 324;\n  t[278] = 328;\n  t[284] = 345;\n  t[285] = 346;\n  t[286] = 347;\n  t[292] = 367;\n  t[295] = 377;\n  t[296] = 378;\n  t[298] = 380;\n  t[305] = 963;\n  t[306] = 964;\n  t[307] = 966;\n  t[308] = 8215;\n  t[309] = 8252;\n  t[310] = 8319;\n  t[311] = 8359;\n  t[312] = 8592;\n  t[313] = 8593;\n  t[337] = 9552;\n  t[493] = 1039;\n  t[494] = 1040;\n  t[705] = 1524;\n  t[706] = 8362;\n  t[710] = 64288;\n  t[711] = 64298;\n  t[759] = 1617;\n  t[761] = 1776;\n  t[763] = 1778;\n  t[775] = 1652;\n  t[777] = 1764;\n  t[778] = 1780;\n  t[779] = 1781;\n  t[780] = 1782;\n  t[782] = 771;\n  t[783] = 64726;\n  t[786] = 8363;\n  t[788] = 8532;\n  t[790] = 768;\n  t[791] = 769;\n  t[792] = 768;\n  t[795] = 803;\n  t[797] = 64336;\n  t[798] = 64337;\n  t[799] = 64342;\n  t[800] = 64343;\n  t[801] = 64344;\n  t[802] = 64345;\n  t[803] = 64362;\n  t[804] = 64363;\n  t[805] = 64364;\n  t[2424] = 7821;\n  t[2425] = 7822;\n  t[2426] = 7823;\n  t[2427] = 7824;\n  t[2428] = 7825;\n  t[2429] = 7826;\n  t[2430] = 7827;\n  t[2433] = 7682;\n  t[2678] = 8045;\n  t[2679] = 8046;\n  t[2830] = 1552;\n  t[2838] = 686;\n  t[2840] = 751;\n  t[2842] = 753;\n  t[2843] = 754;\n  t[2844] = 755;\n  t[2846] = 757;\n  t[2856] = 767;\n  t[2857] = 848;\n  t[2858] = 849;\n  t[2862] = 853;\n  t[2863] = 854;\n  t[2864] = 855;\n  t[2865] = 861;\n  t[2866] = 862;\n  t[2906] = 7460;\n  t[2908] = 7462;\n  t[2909] = 7463;\n  t[2910] = 7464;\n  t[2912] = 7466;\n  t[2913] = 7467;\n  t[2914] = 7468;\n  t[2916] = 7470;\n  t[2917] = 7471;\n  t[2918] = 7472;\n  t[2920] = 7474;\n  t[2921] = 7475;\n  t[2922] = 7476;\n  t[2924] = 7478;\n  t[2925] = 7479;\n  t[2926] = 7480;\n  t[2928] = 7482;\n  t[2929] = 7483;\n  t[2930] = 7484;\n  t[2932] = 7486;\n  t[2933] = 7487;\n  t[2934] = 7488;\n  t[2936] = 7490;\n  t[2937] = 7491;\n  t[2938] = 7492;\n  t[2940] = 7494;\n  t[2941] = 7495;\n  t[2942] = 7496;\n  t[2944] = 7498;\n  t[2946] = 7500;\n  t[2948] = 7502;\n  t[2950] = 7504;\n  t[2951] = 7505;\n  t[2952] = 7506;\n  t[2954] = 7508;\n  t[2955] = 7509;\n  t[2956] = 7510;\n  t[2958] = 7512;\n  t[2959] = 7513;\n  t[2960] = 7514;\n  t[2962] = 7516;\n  t[2963] = 7517;\n  t[2964] = 7518;\n  t[2966] = 7520;\n  t[2967] = 7521;\n  t[2968] = 7522;\n  t[2970] = 7524;\n  t[2971] = 7525;\n  t[2972] = 7526;\n  t[2974] = 7528;\n  t[2975] = 7529;\n  t[2976] = 7530;\n  t[2978] = 1537;\n  t[2979] = 1538;\n  t[2980] = 1539;\n  t[2982] = 1549;\n  t[2983] = 1551;\n  t[2984] = 1552;\n  t[2986] = 1554;\n  t[2987] = 1555;\n  t[2988] = 1556;\n  t[2990] = 1623;\n  t[2991] = 1624;\n  t[2995] = 1775;\n  t[2999] = 1791;\n  t[3002] = 64290;\n  t[3003] = 64291;\n  t[3004] = 64292;\n  t[3006] = 64294;\n  t[3007] = 64295;\n  t[3008] = 64296;\n  t[3011] = 1900;\n  t[3014] = 8223;\n  t[3015] = 8244;\n  t[3017] = 7532;\n  t[3018] = 7533;\n  t[3019] = 7534;\n  t[3075] = 7590;\n  t[3076] = 7591;\n  t[3079] = 7594;\n  t[3080] = 7595;\n  t[3083] = 7598;\n  t[3084] = 7599;\n  t[3087] = 7602;\n  t[3088] = 7603;\n  t[3091] = 7606;\n  t[3092] = 7607;\n  t[3095] = 7610;\n  t[3096] = 7611;\n  t[3099] = 7614;\n  t[3100] = 7615;\n  t[3103] = 7618;\n  t[3104] = 7619;\n  t[3107] = 8337;\n  t[3108] = 8338;\n  t[3116] = 1884;\n  t[3119] = 1885;\n  t[3120] = 1885;\n  t[3123] = 1886;\n  t[3124] = 1886;\n  t[3127] = 1887;\n  t[3128] = 1887;\n  t[3131] = 1888;\n  t[3132] = 1888;\n  t[3135] = 1889;\n  t[3136] = 1889;\n  t[3139] = 1890;\n  t[3140] = 1890;\n  t[3143] = 1891;\n  t[3144] = 1891;\n  t[3147] = 1892;\n  t[3148] = 1892;\n  t[3153] = 580;\n  t[3154] = 581;\n  t[3157] = 584;\n  t[3158] = 585;\n  t[3161] = 588;\n  t[3162] = 589;\n  t[3165] = 891;\n  t[3166] = 892;\n  t[3169] = 1274;\n  t[3170] = 1275;\n  t[3173] = 1278;\n  t[3174] = 1279;\n  t[3181] = 7622;\n  t[3182] = 7623;\n  t[3282] = 11799;\n  t[3316] = 578;\n  t[3379] = 42785;\n  t[3393] = 1159;\n  t[3416] = 8377;\n});\nexports.getGlyphMapForStandardFonts = getGlyphMapForStandardFonts;\nvar getSupplementalGlyphMapForArialBlack = (0, _core_utils.getLookupTableFactory)(function (t) {\n  t[227] = 322;\n  t[264] = 261;\n  t[291] = 346;\n});\nexports.getSupplementalGlyphMapForArialBlack = getSupplementalGlyphMapForArialBlack;\nvar getSupplementalGlyphMapForCalibri = (0, _core_utils.getLookupTableFactory)(function (t) {\n  t[1] = 32;\n  t[4] = 65;\n  t[17] = 66;\n  t[18] = 67;\n  t[24] = 68;\n  t[28] = 69;\n  t[38] = 70;\n  t[39] = 71;\n  t[44] = 72;\n  t[47] = 73;\n  t[58] = 74;\n  t[60] = 75;\n  t[62] = 76;\n  t[68] = 77;\n  t[69] = 78;\n  t[75] = 79;\n  t[87] = 80;\n  t[89] = 81;\n  t[90] = 82;\n  t[94] = 83;\n  t[100] = 84;\n  t[104] = 85;\n  t[115] = 86;\n  t[116] = 87;\n  t[121] = 88;\n  t[122] = 89;\n  t[127] = 90;\n  t[258] = 97;\n  t[268] = 261;\n  t[271] = 98;\n  t[272] = 99;\n  t[273] = 263;\n  t[282] = 100;\n  t[286] = 101;\n  t[295] = 281;\n  t[296] = 102;\n  t[336] = 103;\n  t[346] = 104;\n  t[349] = 105;\n  t[361] = 106;\n  t[364] = 107;\n  t[367] = 108;\n  t[371] = 322;\n  t[373] = 109;\n  t[374] = 110;\n  t[381] = 111;\n  t[383] = 243;\n  t[393] = 112;\n  t[395] = 113;\n  t[396] = 114;\n  t[400] = 115;\n  t[401] = 347;\n  t[410] = 116;\n  t[437] = 117;\n  t[448] = 118;\n  t[449] = 119;\n  t[454] = 120;\n  t[455] = 121;\n  t[460] = 122;\n  t[463] = 380;\n  t[853] = 44;\n  t[855] = 58;\n  t[856] = 46;\n  t[876] = 47;\n  t[878] = 45;\n  t[882] = 45;\n  t[894] = 40;\n  t[895] = 41;\n  t[896] = 91;\n  t[897] = 93;\n  t[923] = 64;\n  t[1004] = 48;\n  t[1005] = 49;\n  t[1006] = 50;\n  t[1007] = 51;\n  t[1008] = 52;\n  t[1009] = 53;\n  t[1010] = 54;\n  t[1011] = 55;\n  t[1012] = 56;\n  t[1013] = 57;\n  t[1081] = 37;\n  t[1085] = 43;\n  t[1086] = 45;\n});\nexports.getSupplementalGlyphMapForCalibri = getSupplementalGlyphMapForCalibri;\n\n/***/ }),\n/* 228 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar getLookupTableFactory = __w_pdfjs_require__(201).getLookupTableFactory;\nvar getSpecialPUASymbols = getLookupTableFactory(function (t) {\n t[63721] = 0x00a9;\n t[63193] = 0x00a9;\n t[63720] = 0x00ae;\n t[63194] = 0x00ae;\n t[63722] = 0x2122;\n t[63195] = 0x2122;\n t[63729] = 0x23a7;\n t[63730] = 0x23a8;\n t[63731] = 0x23a9;\n t[63740] = 0x23ab;\n t[63741] = 0x23ac;\n t[63742] = 0x23ad;\n t[63726] = 0x23a1;\n t[63727] = 0x23a2;\n t[63728] = 0x23a3;\n t[63737] = 0x23a4;\n t[63738] = 0x23a5;\n t[63739] = 0x23a6;\n t[63723] = 0x239b;\n t[63724] = 0x239c;\n t[63725] = 0x239d;\n t[63734] = 0x239e;\n t[63735] = 0x239f;\n t[63736] = 0x23a0;\n});\nfunction mapSpecialUnicodeValues(code) {\n if (code >= 0xfff0 && code <= 0xffff) {\n  return 0;\n } else if (code >= 0xf600 && code <= 0xf8ff) {\n  return getSpecialPUASymbols()[code] || code;\n } else if (code === 0x00ad) {\n  return 0x002d;\n }\n return code;\n}\nfunction getUnicodeForGlyph(name, glyphsUnicodeMap) {\n var unicode = glyphsUnicodeMap[name];\n if (unicode !== undefined) {\n  return unicode;\n }\n if (!name) {\n  return -1;\n }\n if (name[0] === \"u\") {\n  var nameLen = name.length, hexStr;\n  if (nameLen === 7 && name[1] === \"n\" && name[2] === \"i\") {\n   hexStr = name.substring(3);\n  } else if (nameLen >= 5 && nameLen <= 7) {\n   hexStr = name.substring(1);\n  } else {\n   return -1;\n  }\n  if (hexStr === hexStr.toUpperCase()) {\n   unicode = parseInt(hexStr, 16);\n   if (unicode >= 0) {\n    return unicode;\n   }\n  }\n }\n return -1;\n}\nvar UnicodeRanges = [\n {\n  begin: 0x0000,\n  end: 0x007f\n },\n {\n  begin: 0x0080,\n  end: 0x00ff\n },\n {\n  begin: 0x0100,\n  end: 0x017f\n },\n {\n  begin: 0x0180,\n  end: 0x024f\n },\n {\n  begin: 0x0250,\n  end: 0x02af\n },\n {\n  begin: 0x02b0,\n  end: 0x02ff\n },\n {\n  begin: 0x0300,\n  end: 0x036f\n },\n {\n  begin: 0x0370,\n  end: 0x03ff\n },\n {\n  begin: 0x2c80,\n  end: 0x2cff\n },\n {\n  begin: 0x0400,\n  end: 0x04ff\n },\n {\n  begin: 0x0530,\n  end: 0x058f\n },\n {\n  begin: 0x0590,\n  end: 0x05ff\n },\n {\n  begin: 0xa500,\n  end: 0xa63f\n },\n {\n  begin: 0x0600,\n  end: 0x06ff\n },\n {\n  begin: 0x07c0,\n  end: 0x07ff\n },\n {\n  begin: 0x0900,\n  end: 0x097f\n },\n {\n  begin: 0x0980,\n  end: 0x09ff\n },\n {\n  begin: 0x0a00,\n  end: 0x0a7f\n },\n {\n  begin: 0x0a80,\n  end: 0x0aff\n },\n {\n  begin: 0x0b00,\n  end: 0x0b7f\n },\n {\n  begin: 0x0b80,\n  end: 0x0bff\n },\n {\n  begin: 0x0c00,\n  end: 0x0c7f\n },\n {\n  begin: 0x0c80,\n  end: 0x0cff\n },\n {\n  begin: 0x0d00,\n  end: 0x0d7f\n },\n {\n  begin: 0x0e00,\n  end: 0x0e7f\n },\n {\n  begin: 0x0e80,\n  end: 0x0eff\n },\n {\n  begin: 0x10a0,\n  end: 0x10ff\n },\n {\n  begin: 0x1b00,\n  end: 0x1b7f\n },\n {\n  begin: 0x1100,\n  end: 0x11ff\n },\n {\n  begin: 0x1e00,\n  end: 0x1eff\n },\n {\n  begin: 0x1f00,\n  end: 0x1fff\n },\n {\n  begin: 0x2000,\n  end: 0x206f\n },\n {\n  begin: 0x2070,\n  end: 0x209f\n },\n {\n  begin: 0x20a0,\n  end: 0x20cf\n },\n {\n  begin: 0x20d0,\n  end: 0x20ff\n },\n {\n  begin: 0x2100,\n  end: 0x214f\n },\n {\n  begin: 0x2150,\n  end: 0x218f\n },\n {\n  begin: 0x2190,\n  end: 0x21ff\n },\n {\n  begin: 0x2200,\n  end: 0x22ff\n },\n {\n  begin: 0x2300,\n  end: 0x23ff\n },\n {\n  begin: 0x2400,\n  end: 0x243f\n },\n {\n  begin: 0x2440,\n  end: 0x245f\n },\n {\n  begin: 0x2460,\n  end: 0x24ff\n },\n {\n  begin: 0x2500,\n  end: 0x257f\n },\n {\n  begin: 0x2580,\n  end: 0x259f\n },\n {\n  begin: 0x25a0,\n  end: 0x25ff\n },\n {\n  begin: 0x2600,\n  end: 0x26ff\n },\n {\n  begin: 0x2700,\n  end: 0x27bf\n },\n {\n  begin: 0x3000,\n  end: 0x303f\n },\n {\n  begin: 0x3040,\n  end: 0x309f\n },\n {\n  begin: 0x30a0,\n  end: 0x30ff\n },\n {\n  begin: 0x3100,\n  end: 0x312f\n },\n {\n  begin: 0x3130,\n  end: 0x318f\n },\n {\n  begin: 0xa840,\n  end: 0xa87f\n },\n {\n  begin: 0x3200,\n  end: 0x32ff\n },\n {\n  begin: 0x3300,\n  end: 0x33ff\n },\n {\n  begin: 0xac00,\n  end: 0xd7af\n },\n {\n  begin: 0xd800,\n  end: 0xdfff\n },\n {\n  begin: 0x10900,\n  end: 0x1091f\n },\n {\n  begin: 0x4e00,\n  end: 0x9fff\n },\n {\n  begin: 0xe000,\n  end: 0xf8ff\n },\n {\n  begin: 0x31c0,\n  end: 0x31ef\n },\n {\n  begin: 0xfb00,\n  end: 0xfb4f\n },\n {\n  begin: 0xfb50,\n  end: 0xfdff\n },\n {\n  begin: 0xfe20,\n  end: 0xfe2f\n },\n {\n  begin: 0xfe10,\n  end: 0xfe1f\n },\n {\n  begin: 0xfe50,\n  end: 0xfe6f\n },\n {\n  begin: 0xfe70,\n  end: 0xfeff\n },\n {\n  begin: 0xff00,\n  end: 0xffef\n },\n {\n  begin: 0xfff0,\n  end: 0xffff\n },\n {\n  begin: 0x0f00,\n  end: 0x0fff\n },\n {\n  begin: 0x0700,\n  end: 0x074f\n },\n {\n  begin: 0x0780,\n  end: 0x07bf\n },\n {\n  begin: 0x0d80,\n  end: 0x0dff\n },\n {\n  begin: 0x1000,\n  end: 0x109f\n },\n {\n  begin: 0x1200,\n  end: 0x137f\n },\n {\n  begin: 0x13a0,\n  end: 0x13ff\n },\n {\n  begin: 0x1400,\n  end: 0x167f\n },\n {\n  begin: 0x1680,\n  end: 0x169f\n },\n {\n  begin: 0x16a0,\n  end: 0x16ff\n },\n {\n  begin: 0x1780,\n  end: 0x17ff\n },\n {\n  begin: 0x1800,\n  end: 0x18af\n },\n {\n  begin: 0x2800,\n  end: 0x28ff\n },\n {\n  begin: 0xa000,\n  end: 0xa48f\n },\n {\n  begin: 0x1700,\n  end: 0x171f\n },\n {\n  begin: 0x10300,\n  end: 0x1032f\n },\n {\n  begin: 0x10330,\n  end: 0x1034f\n },\n {\n  begin: 0x10400,\n  end: 0x1044f\n },\n {\n  begin: 0x1d000,\n  end: 0x1d0ff\n },\n {\n  begin: 0x1d400,\n  end: 0x1d7ff\n },\n {\n  begin: 0xff000,\n  end: 0xffffd\n },\n {\n  begin: 0xfe00,\n  end: 0xfe0f\n },\n {\n  begin: 0xe0000,\n  end: 0xe007f\n },\n {\n  begin: 0x1900,\n  end: 0x194f\n },\n {\n  begin: 0x1950,\n  end: 0x197f\n },\n {\n  begin: 0x1980,\n  end: 0x19df\n },\n {\n  begin: 0x1a00,\n  end: 0x1a1f\n },\n {\n  begin: 0x2c00,\n  end: 0x2c5f\n },\n {\n  begin: 0x2d30,\n  end: 0x2d7f\n },\n {\n  begin: 0x4dc0,\n  end: 0x4dff\n },\n {\n  begin: 0xa800,\n  end: 0xa82f\n },\n {\n  begin: 0x10000,\n  end: 0x1007f\n },\n {\n  begin: 0x10140,\n  end: 0x1018f\n },\n {\n  begin: 0x10380,\n  end: 0x1039f\n },\n {\n  begin: 0x103a0,\n  end: 0x103df\n },\n {\n  begin: 0x10450,\n  end: 0x1047f\n },\n {\n  begin: 0x10480,\n  end: 0x104af\n },\n {\n  begin: 0x10800,\n  end: 0x1083f\n },\n {\n  begin: 0x10a00,\n  end: 0x10a5f\n },\n {\n  begin: 0x1d300,\n  end: 0x1d35f\n },\n {\n  begin: 0x12000,\n  end: 0x123ff\n },\n {\n  begin: 0x1d360,\n  end: 0x1d37f\n },\n {\n  begin: 0x1b80,\n  end: 0x1bbf\n },\n {\n  begin: 0x1c00,\n  end: 0x1c4f\n },\n {\n  begin: 0x1c50,\n  end: 0x1c7f\n },\n {\n  begin: 0xa880,\n  end: 0xa8df\n },\n {\n  begin: 0xa900,\n  end: 0xa92f\n },\n {\n  begin: 0xa930,\n  end: 0xa95f\n },\n {\n  begin: 0xaa00,\n  end: 0xaa5f\n },\n {\n  begin: 0x10190,\n  end: 0x101cf\n },\n {\n  begin: 0x101d0,\n  end: 0x101ff\n },\n {\n  begin: 0x102a0,\n  end: 0x102df\n },\n {\n  begin: 0x1f030,\n  end: 0x1f09f\n }\n];\nfunction getUnicodeRangeFor(value) {\n for (var i = 0, ii = UnicodeRanges.length; i < ii; i++) {\n  var range = UnicodeRanges[i];\n  if (value >= range.begin && value < range.end) {\n   return i;\n  }\n }\n return -1;\n}\nfunction isRTLRangeFor(value) {\n var range = UnicodeRanges[13];\n if (value >= range.begin && value < range.end) {\n  return true;\n }\n range = UnicodeRanges[11];\n if (value >= range.begin && value < range.end) {\n  return true;\n }\n return false;\n}\nvar getNormalizedUnicodes = getLookupTableFactory(function (t) {\n t[\"\\u00A8\"] = \"\\u0020\\u0308\";\n t[\"\\u00AF\"] = \"\\u0020\\u0304\";\n t[\"\\u00B4\"] = \"\\u0020\\u0301\";\n t[\"\\u00B5\"] = \"\\u03BC\";\n t[\"\\u00B8\"] = \"\\u0020\\u0327\";\n t[\"\\u0132\"] = \"\\u0049\\u004A\";\n t[\"\\u0133\"] = \"\\u0069\\u006A\";\n t[\"\\u013F\"] = \"\\u004C\\u00B7\";\n t[\"\\u0140\"] = \"\\u006C\\u00B7\";\n t[\"\\u0149\"] = \"\\u02BC\\u006E\";\n t[\"\\u017F\"] = \"\\u0073\";\n t[\"\\u01C4\"] = \"\\u0044\\u017D\";\n t[\"\\u01C5\"] = \"\\u0044\\u017E\";\n t[\"\\u01C6\"] = \"\\u0064\\u017E\";\n t[\"\\u01C7\"] = \"\\u004C\\u004A\";\n t[\"\\u01C8\"] = \"\\u004C\\u006A\";\n t[\"\\u01C9\"] = \"\\u006C\\u006A\";\n t[\"\\u01CA\"] = \"\\u004E\\u004A\";\n t[\"\\u01CB\"] = \"\\u004E\\u006A\";\n t[\"\\u01CC\"] = \"\\u006E\\u006A\";\n t[\"\\u01F1\"] = \"\\u0044\\u005A\";\n t[\"\\u01F2\"] = \"\\u0044\\u007A\";\n t[\"\\u01F3\"] = \"\\u0064\\u007A\";\n t[\"\\u02D8\"] = \"\\u0020\\u0306\";\n t[\"\\u02D9\"] = \"\\u0020\\u0307\";\n t[\"\\u02DA\"] = \"\\u0020\\u030A\";\n t[\"\\u02DB\"] = \"\\u0020\\u0328\";\n t[\"\\u02DC\"] = \"\\u0020\\u0303\";\n t[\"\\u02DD\"] = \"\\u0020\\u030B\";\n t[\"\\u037A\"] = \"\\u0020\\u0345\";\n t[\"\\u0384\"] = \"\\u0020\\u0301\";\n t[\"\\u03D0\"] = \"\\u03B2\";\n t[\"\\u03D1\"] = \"\\u03B8\";\n t[\"\\u03D2\"] = \"\\u03A5\";\n t[\"\\u03D5\"] = \"\\u03C6\";\n t[\"\\u03D6\"] = \"\\u03C0\";\n t[\"\\u03F0\"] = \"\\u03BA\";\n t[\"\\u03F1\"] = \"\\u03C1\";\n t[\"\\u03F2\"] = \"\\u03C2\";\n t[\"\\u03F4\"] = \"\\u0398\";\n t[\"\\u03F5\"] = \"\\u03B5\";\n t[\"\\u03F9\"] = \"\\u03A3\";\n t[\"\\u0587\"] = \"\\u0565\\u0582\";\n t[\"\\u0675\"] = \"\\u0627\\u0674\";\n t[\"\\u0676\"] = \"\\u0648\\u0674\";\n t[\"\\u0677\"] = \"\\u06C7\\u0674\";\n t[\"\\u0678\"] = \"\\u064A\\u0674\";\n t[\"\\u0E33\"] = \"\\u0E4D\\u0E32\";\n t[\"\\u0EB3\"] = \"\\u0ECD\\u0EB2\";\n t[\"\\u0EDC\"] = \"\\u0EAB\\u0E99\";\n t[\"\\u0EDD\"] = \"\\u0EAB\\u0EA1\";\n t[\"\\u0F77\"] = \"\\u0FB2\\u0F81\";\n t[\"\\u0F79\"] = \"\\u0FB3\\u0F81\";\n t[\"\\u1E9A\"] = \"\\u0061\\u02BE\";\n t[\"\\u1FBD\"] = \"\\u0020\\u0313\";\n t[\"\\u1FBF\"] = \"\\u0020\\u0313\";\n t[\"\\u1FC0\"] = \"\\u0020\\u0342\";\n t[\"\\u1FFE\"] = \"\\u0020\\u0314\";\n t[\"\\u2002\"] = \"\\u0020\";\n t[\"\\u2003\"] = \"\\u0020\";\n t[\"\\u2004\"] = \"\\u0020\";\n t[\"\\u2005\"] = \"\\u0020\";\n t[\"\\u2006\"] = \"\\u0020\";\n t[\"\\u2008\"] = \"\\u0020\";\n t[\"\\u2009\"] = \"\\u0020\";\n t[\"\\u200A\"] = \"\\u0020\";\n t[\"\\u2017\"] = \"\\u0020\\u0333\";\n t[\"\\u2024\"] = \"\\u002E\";\n t[\"\\u2025\"] = \"\\u002E\\u002E\";\n t[\"\\u2026\"] = \"\\u002E\\u002E\\u002E\";\n t[\"\\u2033\"] = \"\\u2032\\u2032\";\n t[\"\\u2034\"] = \"\\u2032\\u2032\\u2032\";\n t[\"\\u2036\"] = \"\\u2035\\u2035\";\n t[\"\\u2037\"] = \"\\u2035\\u2035\\u2035\";\n t[\"\\u203C\"] = \"\\u0021\\u0021\";\n t[\"\\u203E\"] = \"\\u0020\\u0305\";\n t[\"\\u2047\"] = \"\\u003F\\u003F\";\n t[\"\\u2048\"] = \"\\u003F\\u0021\";\n t[\"\\u2049\"] = \"\\u0021\\u003F\";\n t[\"\\u2057\"] = \"\\u2032\\u2032\\u2032\\u2032\";\n t[\"\\u205F\"] = \"\\u0020\";\n t[\"\\u20A8\"] = \"\\u0052\\u0073\";\n t[\"\\u2100\"] = \"\\u0061\\u002F\\u0063\";\n t[\"\\u2101\"] = \"\\u0061\\u002F\\u0073\";\n t[\"\\u2103\"] = \"\\u00B0\\u0043\";\n t[\"\\u2105\"] = \"\\u0063\\u002F\\u006F\";\n t[\"\\u2106\"] = \"\\u0063\\u002F\\u0075\";\n t[\"\\u2107\"] = \"\\u0190\";\n t[\"\\u2109\"] = \"\\u00B0\\u0046\";\n t[\"\\u2116\"] = \"\\u004E\\u006F\";\n t[\"\\u2121\"] = \"\\u0054\\u0045\\u004C\";\n t[\"\\u2135\"] = \"\\u05D0\";\n t[\"\\u2136\"] = \"\\u05D1\";\n t[\"\\u2137\"] = \"\\u05D2\";\n t[\"\\u2138\"] = \"\\u05D3\";\n t[\"\\u213B\"] = \"\\u0046\\u0041\\u0058\";\n t[\"\\u2160\"] = \"\\u0049\";\n t[\"\\u2161\"] = \"\\u0049\\u0049\";\n t[\"\\u2162\"] = \"\\u0049\\u0049\\u0049\";\n t[\"\\u2163\"] = \"\\u0049\\u0056\";\n t[\"\\u2164\"] = \"\\u0056\";\n t[\"\\u2165\"] = \"\\u0056\\u0049\";\n t[\"\\u2166\"] = \"\\u0056\\u0049\\u0049\";\n t[\"\\u2167\"] = \"\\u0056\\u0049\\u0049\\u0049\";\n t[\"\\u2168\"] = \"\\u0049\\u0058\";\n t[\"\\u2169\"] = \"\\u0058\";\n t[\"\\u216A\"] = \"\\u0058\\u0049\";\n t[\"\\u216B\"] = \"\\u0058\\u0049\\u0049\";\n t[\"\\u216C\"] = \"\\u004C\";\n t[\"\\u216D\"] = \"\\u0043\";\n t[\"\\u216E\"] = \"\\u0044\";\n t[\"\\u216F\"] = \"\\u004D\";\n t[\"\\u2170\"] = \"\\u0069\";\n t[\"\\u2171\"] = \"\\u0069\\u0069\";\n t[\"\\u2172\"] = \"\\u0069\\u0069\\u0069\";\n t[\"\\u2173\"] = \"\\u0069\\u0076\";\n t[\"\\u2174\"] = \"\\u0076\";\n t[\"\\u2175\"] = \"\\u0076\\u0069\";\n t[\"\\u2176\"] = \"\\u0076\\u0069\\u0069\";\n t[\"\\u2177\"] = \"\\u0076\\u0069\\u0069\\u0069\";\n t[\"\\u2178\"] = \"\\u0069\\u0078\";\n t[\"\\u2179\"] = \"\\u0078\";\n t[\"\\u217A\"] = \"\\u0078\\u0069\";\n t[\"\\u217B\"] = \"\\u0078\\u0069\\u0069\";\n t[\"\\u217C\"] = \"\\u006C\";\n t[\"\\u217D\"] = \"\\u0063\";\n t[\"\\u217E\"] = \"\\u0064\";\n t[\"\\u217F\"] = \"\\u006D\";\n t[\"\\u222C\"] = \"\\u222B\\u222B\";\n t[\"\\u222D\"] = \"\\u222B\\u222B\\u222B\";\n t[\"\\u222F\"] = \"\\u222E\\u222E\";\n t[\"\\u2230\"] = \"\\u222E\\u222E\\u222E\";\n t[\"\\u2474\"] = \"\\u0028\\u0031\\u0029\";\n t[\"\\u2475\"] = \"\\u0028\\u0032\\u0029\";\n t[\"\\u2476\"] = \"\\u0028\\u0033\\u0029\";\n t[\"\\u2477\"] = \"\\u0028\\u0034\\u0029\";\n t[\"\\u2478\"] = \"\\u0028\\u0035\\u0029\";\n t[\"\\u2479\"] = \"\\u0028\\u0036\\u0029\";\n t[\"\\u247A\"] = \"\\u0028\\u0037\\u0029\";\n t[\"\\u247B\"] = \"\\u0028\\u0038\\u0029\";\n t[\"\\u247C\"] = \"\\u0028\\u0039\\u0029\";\n t[\"\\u247D\"] = \"\\u0028\\u0031\\u0030\\u0029\";\n t[\"\\u247E\"] = \"\\u0028\\u0031\\u0031\\u0029\";\n t[\"\\u247F\"] = \"\\u0028\\u0031\\u0032\\u0029\";\n t[\"\\u2480\"] = \"\\u0028\\u0031\\u0033\\u0029\";\n t[\"\\u2481\"] = \"\\u0028\\u0031\\u0034\\u0029\";\n t[\"\\u2482\"] = \"\\u0028\\u0031\\u0035\\u0029\";\n t[\"\\u2483\"] = \"\\u0028\\u0031\\u0036\\u0029\";\n t[\"\\u2484\"] = \"\\u0028\\u0031\\u0037\\u0029\";\n t[\"\\u2485\"] = \"\\u0028\\u0031\\u0038\\u0029\";\n t[\"\\u2486\"] = \"\\u0028\\u0031\\u0039\\u0029\";\n t[\"\\u2487\"] = \"\\u0028\\u0032\\u0030\\u0029\";\n t[\"\\u2488\"] = \"\\u0031\\u002E\";\n t[\"\\u2489\"] = \"\\u0032\\u002E\";\n t[\"\\u248A\"] = \"\\u0033\\u002E\";\n t[\"\\u248B\"] = \"\\u0034\\u002E\";\n t[\"\\u248C\"] = \"\\u0035\\u002E\";\n t[\"\\u248D\"] = \"\\u0036\\u002E\";\n t[\"\\u248E\"] = \"\\u0037\\u002E\";\n t[\"\\u248F\"] = \"\\u0038\\u002E\";\n t[\"\\u2490\"] = \"\\u0039\\u002E\";\n t[\"\\u2491\"] = \"\\u0031\\u0030\\u002E\";\n t[\"\\u2492\"] = \"\\u0031\\u0031\\u002E\";\n t[\"\\u2493\"] = \"\\u0031\\u0032\\u002E\";\n t[\"\\u2494\"] = \"\\u0031\\u0033\\u002E\";\n t[\"\\u2495\"] = \"\\u0031\\u0034\\u002E\";\n t[\"\\u2496\"] = \"\\u0031\\u0035\\u002E\";\n t[\"\\u2497\"] = \"\\u0031\\u0036\\u002E\";\n t[\"\\u2498\"] = \"\\u0031\\u0037\\u002E\";\n t[\"\\u2499\"] = \"\\u0031\\u0038\\u002E\";\n t[\"\\u249A\"] = \"\\u0031\\u0039\\u002E\";\n t[\"\\u249B\"] = \"\\u0032\\u0030\\u002E\";\n t[\"\\u249C\"] = \"\\u0028\\u0061\\u0029\";\n t[\"\\u249D\"] = \"\\u0028\\u0062\\u0029\";\n t[\"\\u249E\"] = \"\\u0028\\u0063\\u0029\";\n t[\"\\u249F\"] = \"\\u0028\\u0064\\u0029\";\n t[\"\\u24A0\"] = \"\\u0028\\u0065\\u0029\";\n t[\"\\u24A1\"] = \"\\u0028\\u0066\\u0029\";\n t[\"\\u24A2\"] = \"\\u0028\\u0067\\u0029\";\n t[\"\\u24A3\"] = \"\\u0028\\u0068\\u0029\";\n t[\"\\u24A4\"] = \"\\u0028\\u0069\\u0029\";\n t[\"\\u24A5\"] = \"\\u0028\\u006A\\u0029\";\n t[\"\\u24A6\"] = \"\\u0028\\u006B\\u0029\";\n t[\"\\u24A7\"] = \"\\u0028\\u006C\\u0029\";\n t[\"\\u24A8\"] = \"\\u0028\\u006D\\u0029\";\n t[\"\\u24A9\"] = \"\\u0028\\u006E\\u0029\";\n t[\"\\u24AA\"] = \"\\u0028\\u006F\\u0029\";\n t[\"\\u24AB\"] = \"\\u0028\\u0070\\u0029\";\n t[\"\\u24AC\"] = \"\\u0028\\u0071\\u0029\";\n t[\"\\u24AD\"] = \"\\u0028\\u0072\\u0029\";\n t[\"\\u24AE\"] = \"\\u0028\\u0073\\u0029\";\n t[\"\\u24AF\"] = \"\\u0028\\u0074\\u0029\";\n t[\"\\u24B0\"] = \"\\u0028\\u0075\\u0029\";\n t[\"\\u24B1\"] = \"\\u0028\\u0076\\u0029\";\n t[\"\\u24B2\"] = \"\\u0028\\u0077\\u0029\";\n t[\"\\u24B3\"] = \"\\u0028\\u0078\\u0029\";\n t[\"\\u24B4\"] = \"\\u0028\\u0079\\u0029\";\n t[\"\\u24B5\"] = \"\\u0028\\u007A\\u0029\";\n t[\"\\u2A0C\"] = \"\\u222B\\u222B\\u222B\\u222B\";\n t[\"\\u2A74\"] = \"\\u003A\\u003A\\u003D\";\n t[\"\\u2A75\"] = \"\\u003D\\u003D\";\n t[\"\\u2A76\"] = \"\\u003D\\u003D\\u003D\";\n t[\"\\u2E9F\"] = \"\\u6BCD\";\n t[\"\\u2EF3\"] = \"\\u9F9F\";\n t[\"\\u2F00\"] = \"\\u4E00\";\n t[\"\\u2F01\"] = \"\\u4E28\";\n t[\"\\u2F02\"] = \"\\u4E36\";\n t[\"\\u2F03\"] = \"\\u4E3F\";\n t[\"\\u2F04\"] = \"\\u4E59\";\n t[\"\\u2F05\"] = \"\\u4E85\";\n t[\"\\u2F06\"] = \"\\u4E8C\";\n t[\"\\u2F07\"] = \"\\u4EA0\";\n t[\"\\u2F08\"] = \"\\u4EBA\";\n t[\"\\u2F09\"] = \"\\u513F\";\n t[\"\\u2F0A\"] = \"\\u5165\";\n t[\"\\u2F0B\"] = \"\\u516B\";\n t[\"\\u2F0C\"] = \"\\u5182\";\n t[\"\\u2F0D\"] = \"\\u5196\";\n t[\"\\u2F0E\"] = \"\\u51AB\";\n t[\"\\u2F0F\"] = \"\\u51E0\";\n t[\"\\u2F10\"] = \"\\u51F5\";\n t[\"\\u2F11\"] = \"\\u5200\";\n t[\"\\u2F12\"] = \"\\u529B\";\n t[\"\\u2F13\"] = \"\\u52F9\";\n t[\"\\u2F14\"] = \"\\u5315\";\n t[\"\\u2F15\"] = \"\\u531A\";\n t[\"\\u2F16\"] = \"\\u5338\";\n t[\"\\u2F17\"] = \"\\u5341\";\n t[\"\\u2F18\"] = \"\\u535C\";\n t[\"\\u2F19\"] = \"\\u5369\";\n t[\"\\u2F1A\"] = \"\\u5382\";\n t[\"\\u2F1B\"] = \"\\u53B6\";\n t[\"\\u2F1C\"] = \"\\u53C8\";\n t[\"\\u2F1D\"] = \"\\u53E3\";\n t[\"\\u2F1E\"] = \"\\u56D7\";\n t[\"\\u2F1F\"] = \"\\u571F\";\n t[\"\\u2F20\"] = \"\\u58EB\";\n t[\"\\u2F21\"] = \"\\u5902\";\n t[\"\\u2F22\"] = \"\\u590A\";\n t[\"\\u2F23\"] = \"\\u5915\";\n t[\"\\u2F24\"] = \"\\u5927\";\n t[\"\\u2F25\"] = \"\\u5973\";\n t[\"\\u2F26\"] = \"\\u5B50\";\n t[\"\\u2F27\"] = \"\\u5B80\";\n t[\"\\u2F28\"] = \"\\u5BF8\";\n t[\"\\u2F29\"] = \"\\u5C0F\";\n t[\"\\u2F2A\"] = \"\\u5C22\";\n t[\"\\u2F2B\"] = \"\\u5C38\";\n t[\"\\u2F2C\"] = \"\\u5C6E\";\n t[\"\\u2F2D\"] = \"\\u5C71\";\n t[\"\\u2F2E\"] = \"\\u5DDB\";\n t[\"\\u2F2F\"] = \"\\u5DE5\";\n t[\"\\u2F30\"] = \"\\u5DF1\";\n t[\"\\u2F31\"] = \"\\u5DFE\";\n t[\"\\u2F32\"] = \"\\u5E72\";\n t[\"\\u2F33\"] = \"\\u5E7A\";\n t[\"\\u2F34\"] = \"\\u5E7F\";\n t[\"\\u2F35\"] = \"\\u5EF4\";\n t[\"\\u2F36\"] = \"\\u5EFE\";\n t[\"\\u2F37\"] = \"\\u5F0B\";\n t[\"\\u2F38\"] = \"\\u5F13\";\n t[\"\\u2F39\"] = \"\\u5F50\";\n t[\"\\u2F3A\"] = \"\\u5F61\";\n t[\"\\u2F3B\"] = \"\\u5F73\";\n t[\"\\u2F3C\"] = \"\\u5FC3\";\n t[\"\\u2F3D\"] = \"\\u6208\";\n t[\"\\u2F3E\"] = \"\\u6236\";\n t[\"\\u2F3F\"] = \"\\u624B\";\n t[\"\\u2F40\"] = \"\\u652F\";\n t[\"\\u2F41\"] = \"\\u6534\";\n t[\"\\u2F42\"] = \"\\u6587\";\n t[\"\\u2F43\"] = \"\\u6597\";\n t[\"\\u2F44\"] = \"\\u65A4\";\n t[\"\\u2F45\"] = \"\\u65B9\";\n t[\"\\u2F46\"] = \"\\u65E0\";\n t[\"\\u2F47\"] = \"\\u65E5\";\n t[\"\\u2F48\"] = \"\\u66F0\";\n t[\"\\u2F49\"] = \"\\u6708\";\n t[\"\\u2F4A\"] = \"\\u6728\";\n t[\"\\u2F4B\"] = \"\\u6B20\";\n t[\"\\u2F4C\"] = \"\\u6B62\";\n t[\"\\u2F4D\"] = \"\\u6B79\";\n t[\"\\u2F4E\"] = \"\\u6BB3\";\n t[\"\\u2F4F\"] = \"\\u6BCB\";\n t[\"\\u2F50\"] = \"\\u6BD4\";\n t[\"\\u2F51\"] = \"\\u6BDB\";\n t[\"\\u2F52\"] = \"\\u6C0F\";\n t[\"\\u2F53\"] = \"\\u6C14\";\n t[\"\\u2F54\"] = \"\\u6C34\";\n t[\"\\u2F55\"] = \"\\u706B\";\n t[\"\\u2F56\"] = \"\\u722A\";\n t[\"\\u2F57\"] = \"\\u7236\";\n t[\"\\u2F58\"] = \"\\u723B\";\n t[\"\\u2F59\"] = \"\\u723F\";\n t[\"\\u2F5A\"] = \"\\u7247\";\n t[\"\\u2F5B\"] = \"\\u7259\";\n t[\"\\u2F5C\"] = \"\\u725B\";\n t[\"\\u2F5D\"] = \"\\u72AC\";\n t[\"\\u2F5E\"] = \"\\u7384\";\n t[\"\\u2F5F\"] = \"\\u7389\";\n t[\"\\u2F60\"] = \"\\u74DC\";\n t[\"\\u2F61\"] = \"\\u74E6\";\n t[\"\\u2F62\"] = \"\\u7518\";\n t[\"\\u2F63\"] = \"\\u751F\";\n t[\"\\u2F64\"] = \"\\u7528\";\n t[\"\\u2F65\"] = \"\\u7530\";\n t[\"\\u2F66\"] = \"\\u758B\";\n t[\"\\u2F67\"] = \"\\u7592\";\n t[\"\\u2F68\"] = \"\\u7676\";\n t[\"\\u2F69\"] = \"\\u767D\";\n t[\"\\u2F6A\"] = \"\\u76AE\";\n t[\"\\u2F6B\"] = \"\\u76BF\";\n t[\"\\u2F6C\"] = \"\\u76EE\";\n t[\"\\u2F6D\"] = \"\\u77DB\";\n t[\"\\u2F6E\"] = \"\\u77E2\";\n t[\"\\u2F6F\"] = \"\\u77F3\";\n t[\"\\u2F70\"] = \"\\u793A\";\n t[\"\\u2F71\"] = \"\\u79B8\";\n t[\"\\u2F72\"] = \"\\u79BE\";\n t[\"\\u2F73\"] = \"\\u7A74\";\n t[\"\\u2F74\"] = \"\\u7ACB\";\n t[\"\\u2F75\"] = \"\\u7AF9\";\n t[\"\\u2F76\"] = \"\\u7C73\";\n t[\"\\u2F77\"] = \"\\u7CF8\";\n t[\"\\u2F78\"] = \"\\u7F36\";\n t[\"\\u2F79\"] = \"\\u7F51\";\n t[\"\\u2F7A\"] = \"\\u7F8A\";\n t[\"\\u2F7B\"] = \"\\u7FBD\";\n t[\"\\u2F7C\"] = \"\\u8001\";\n t[\"\\u2F7D\"] = \"\\u800C\";\n t[\"\\u2F7E\"] = \"\\u8012\";\n t[\"\\u2F7F\"] = \"\\u8033\";\n t[\"\\u2F80\"] = \"\\u807F\";\n t[\"\\u2F81\"] = \"\\u8089\";\n t[\"\\u2F82\"] = \"\\u81E3\";\n t[\"\\u2F83\"] = \"\\u81EA\";\n t[\"\\u2F84\"] = \"\\u81F3\";\n t[\"\\u2F85\"] = \"\\u81FC\";\n t[\"\\u2F86\"] = \"\\u820C\";\n t[\"\\u2F87\"] = \"\\u821B\";\n t[\"\\u2F88\"] = \"\\u821F\";\n t[\"\\u2F89\"] = \"\\u826E\";\n t[\"\\u2F8A\"] = \"\\u8272\";\n t[\"\\u2F8B\"] = \"\\u8278\";\n t[\"\\u2F8C\"] = \"\\u864D\";\n t[\"\\u2F8D\"] = \"\\u866B\";\n t[\"\\u2F8E\"] = \"\\u8840\";\n t[\"\\u2F8F\"] = \"\\u884C\";\n t[\"\\u2F90\"] = \"\\u8863\";\n t[\"\\u2F91\"] = \"\\u897E\";\n t[\"\\u2F92\"] = \"\\u898B\";\n t[\"\\u2F93\"] = \"\\u89D2\";\n t[\"\\u2F94\"] = \"\\u8A00\";\n t[\"\\u2F95\"] = \"\\u8C37\";\n t[\"\\u2F96\"] = \"\\u8C46\";\n t[\"\\u2F97\"] = \"\\u8C55\";\n t[\"\\u2F98\"] = \"\\u8C78\";\n t[\"\\u2F99\"] = \"\\u8C9D\";\n t[\"\\u2F9A\"] = \"\\u8D64\";\n t[\"\\u2F9B\"] = \"\\u8D70\";\n t[\"\\u2F9C\"] = \"\\u8DB3\";\n t[\"\\u2F9D\"] = \"\\u8EAB\";\n t[\"\\u2F9E\"] = \"\\u8ECA\";\n t[\"\\u2F9F\"] = \"\\u8F9B\";\n t[\"\\u2FA0\"] = \"\\u8FB0\";\n t[\"\\u2FA1\"] = \"\\u8FB5\";\n t[\"\\u2FA2\"] = \"\\u9091\";\n t[\"\\u2FA3\"] = \"\\u9149\";\n t[\"\\u2FA4\"] = \"\\u91C6\";\n t[\"\\u2FA5\"] = \"\\u91CC\";\n t[\"\\u2FA6\"] = \"\\u91D1\";\n t[\"\\u2FA7\"] = \"\\u9577\";\n t[\"\\u2FA8\"] = \"\\u9580\";\n t[\"\\u2FA9\"] = \"\\u961C\";\n t[\"\\u2FAA\"] = \"\\u96B6\";\n t[\"\\u2FAB\"] = \"\\u96B9\";\n t[\"\\u2FAC\"] = \"\\u96E8\";\n t[\"\\u2FAD\"] = \"\\u9751\";\n t[\"\\u2FAE\"] = \"\\u975E\";\n t[\"\\u2FAF\"] = \"\\u9762\";\n t[\"\\u2FB0\"] = \"\\u9769\";\n t[\"\\u2FB1\"] = \"\\u97CB\";\n t[\"\\u2FB2\"] = \"\\u97ED\";\n t[\"\\u2FB3\"] = \"\\u97F3\";\n t[\"\\u2FB4\"] = \"\\u9801\";\n t[\"\\u2FB5\"] = \"\\u98A8\";\n t[\"\\u2FB6\"] = \"\\u98DB\";\n t[\"\\u2FB7\"] = \"\\u98DF\";\n t[\"\\u2FB8\"] = \"\\u9996\";\n t[\"\\u2FB9\"] = \"\\u9999\";\n t[\"\\u2FBA\"] = \"\\u99AC\";\n t[\"\\u2FBB\"] = \"\\u9AA8\";\n t[\"\\u2FBC\"] = \"\\u9AD8\";\n t[\"\\u2FBD\"] = \"\\u9ADF\";\n t[\"\\u2FBE\"] = \"\\u9B25\";\n t[\"\\u2FBF\"] = \"\\u9B2F\";\n t[\"\\u2FC0\"] = \"\\u9B32\";\n t[\"\\u2FC1\"] = \"\\u9B3C\";\n t[\"\\u2FC2\"] = \"\\u9B5A\";\n t[\"\\u2FC3\"] = \"\\u9CE5\";\n t[\"\\u2FC4\"] = \"\\u9E75\";\n t[\"\\u2FC5\"] = \"\\u9E7F\";\n t[\"\\u2FC6\"] = \"\\u9EA5\";\n t[\"\\u2FC7\"] = \"\\u9EBB\";\n t[\"\\u2FC8\"] = \"\\u9EC3\";\n t[\"\\u2FC9\"] = \"\\u9ECD\";\n t[\"\\u2FCA\"] = \"\\u9ED1\";\n t[\"\\u2FCB\"] = \"\\u9EF9\";\n t[\"\\u2FCC\"] = \"\\u9EFD\";\n t[\"\\u2FCD\"] = \"\\u9F0E\";\n t[\"\\u2FCE\"] = \"\\u9F13\";\n t[\"\\u2FCF\"] = \"\\u9F20\";\n t[\"\\u2FD0\"] = \"\\u9F3B\";\n t[\"\\u2FD1\"] = \"\\u9F4A\";\n t[\"\\u2FD2\"] = \"\\u9F52\";\n t[\"\\u2FD3\"] = \"\\u9F8D\";\n t[\"\\u2FD4\"] = \"\\u9F9C\";\n t[\"\\u2FD5\"] = \"\\u9FA0\";\n t[\"\\u3036\"] = \"\\u3012\";\n t[\"\\u3038\"] = \"\\u5341\";\n t[\"\\u3039\"] = \"\\u5344\";\n t[\"\\u303A\"] = \"\\u5345\";\n t[\"\\u309B\"] = \"\\u0020\\u3099\";\n t[\"\\u309C\"] = \"\\u0020\\u309A\";\n t[\"\\u3131\"] = \"\\u1100\";\n t[\"\\u3132\"] = \"\\u1101\";\n t[\"\\u3133\"] = \"\\u11AA\";\n t[\"\\u3134\"] = \"\\u1102\";\n t[\"\\u3135\"] = \"\\u11AC\";\n t[\"\\u3136\"] = \"\\u11AD\";\n t[\"\\u3137\"] = \"\\u1103\";\n t[\"\\u3138\"] = \"\\u1104\";\n t[\"\\u3139\"] = \"\\u1105\";\n t[\"\\u313A\"] = \"\\u11B0\";\n t[\"\\u313B\"] = \"\\u11B1\";\n t[\"\\u313C\"] = \"\\u11B2\";\n t[\"\\u313D\"] = \"\\u11B3\";\n t[\"\\u313E\"] = \"\\u11B4\";\n t[\"\\u313F\"] = \"\\u11B5\";\n t[\"\\u3140\"] = \"\\u111A\";\n t[\"\\u3141\"] = \"\\u1106\";\n t[\"\\u3142\"] = \"\\u1107\";\n t[\"\\u3143\"] = \"\\u1108\";\n t[\"\\u3144\"] = \"\\u1121\";\n t[\"\\u3145\"] = \"\\u1109\";\n t[\"\\u3146\"] = \"\\u110A\";\n t[\"\\u3147\"] = \"\\u110B\";\n t[\"\\u3148\"] = \"\\u110C\";\n t[\"\\u3149\"] = \"\\u110D\";\n t[\"\\u314A\"] = \"\\u110E\";\n t[\"\\u314B\"] = \"\\u110F\";\n t[\"\\u314C\"] = \"\\u1110\";\n t[\"\\u314D\"] = \"\\u1111\";\n t[\"\\u314E\"] = \"\\u1112\";\n t[\"\\u314F\"] = \"\\u1161\";\n t[\"\\u3150\"] = \"\\u1162\";\n t[\"\\u3151\"] = \"\\u1163\";\n t[\"\\u3152\"] = \"\\u1164\";\n t[\"\\u3153\"] = \"\\u1165\";\n t[\"\\u3154\"] = \"\\u1166\";\n t[\"\\u3155\"] = \"\\u1167\";\n t[\"\\u3156\"] = \"\\u1168\";\n t[\"\\u3157\"] = \"\\u1169\";\n t[\"\\u3158\"] = \"\\u116A\";\n t[\"\\u3159\"] = \"\\u116B\";\n t[\"\\u315A\"] = \"\\u116C\";\n t[\"\\u315B\"] = \"\\u116D\";\n t[\"\\u315C\"] = \"\\u116E\";\n t[\"\\u315D\"] = \"\\u116F\";\n t[\"\\u315E\"] = \"\\u1170\";\n t[\"\\u315F\"] = \"\\u1171\";\n t[\"\\u3160\"] = \"\\u1172\";\n t[\"\\u3161\"] = \"\\u1173\";\n t[\"\\u3162\"] = \"\\u1174\";\n t[\"\\u3163\"] = \"\\u1175\";\n t[\"\\u3164\"] = \"\\u1160\";\n t[\"\\u3165\"] = \"\\u1114\";\n t[\"\\u3166\"] = \"\\u1115\";\n t[\"\\u3167\"] = \"\\u11C7\";\n t[\"\\u3168\"] = \"\\u11C8\";\n t[\"\\u3169\"] = \"\\u11CC\";\n t[\"\\u316A\"] = \"\\u11CE\";\n t[\"\\u316B\"] = \"\\u11D3\";\n t[\"\\u316C\"] = \"\\u11D7\";\n t[\"\\u316D\"] = \"\\u11D9\";\n t[\"\\u316E\"] = \"\\u111C\";\n t[\"\\u316F\"] = \"\\u11DD\";\n t[\"\\u3170\"] = \"\\u11DF\";\n t[\"\\u3171\"] = \"\\u111D\";\n t[\"\\u3172\"] = \"\\u111E\";\n t[\"\\u3173\"] = \"\\u1120\";\n t[\"\\u3174\"] = \"\\u1122\";\n t[\"\\u3175\"] = \"\\u1123\";\n t[\"\\u3176\"] = \"\\u1127\";\n t[\"\\u3177\"] = \"\\u1129\";\n t[\"\\u3178\"] = \"\\u112B\";\n t[\"\\u3179\"] = \"\\u112C\";\n t[\"\\u317A\"] = \"\\u112D\";\n t[\"\\u317B\"] = \"\\u112E\";\n t[\"\\u317C\"] = \"\\u112F\";\n t[\"\\u317D\"] = \"\\u1132\";\n t[\"\\u317E\"] = \"\\u1136\";\n t[\"\\u317F\"] = \"\\u1140\";\n t[\"\\u3180\"] = \"\\u1147\";\n t[\"\\u3181\"] = \"\\u114C\";\n t[\"\\u3182\"] = \"\\u11F1\";\n t[\"\\u3183\"] = \"\\u11F2\";\n t[\"\\u3184\"] = \"\\u1157\";\n t[\"\\u3185\"] = \"\\u1158\";\n t[\"\\u3186\"] = \"\\u1159\";\n t[\"\\u3187\"] = \"\\u1184\";\n t[\"\\u3188\"] = \"\\u1185\";\n t[\"\\u3189\"] = \"\\u1188\";\n t[\"\\u318A\"] = \"\\u1191\";\n t[\"\\u318B\"] = \"\\u1192\";\n t[\"\\u318C\"] = \"\\u1194\";\n t[\"\\u318D\"] = \"\\u119E\";\n t[\"\\u318E\"] = \"\\u11A1\";\n t[\"\\u3200\"] = \"\\u0028\\u1100\\u0029\";\n t[\"\\u3201\"] = \"\\u0028\\u1102\\u0029\";\n t[\"\\u3202\"] = \"\\u0028\\u1103\\u0029\";\n t[\"\\u3203\"] = \"\\u0028\\u1105\\u0029\";\n t[\"\\u3204\"] = \"\\u0028\\u1106\\u0029\";\n t[\"\\u3205\"] = \"\\u0028\\u1107\\u0029\";\n t[\"\\u3206\"] = \"\\u0028\\u1109\\u0029\";\n t[\"\\u3207\"] = \"\\u0028\\u110B\\u0029\";\n t[\"\\u3208\"] = \"\\u0028\\u110C\\u0029\";\n t[\"\\u3209\"] = \"\\u0028\\u110E\\u0029\";\n t[\"\\u320A\"] = \"\\u0028\\u110F\\u0029\";\n t[\"\\u320B\"] = \"\\u0028\\u1110\\u0029\";\n t[\"\\u320C\"] = \"\\u0028\\u1111\\u0029\";\n t[\"\\u320D\"] = \"\\u0028\\u1112\\u0029\";\n t[\"\\u320E\"] = \"\\u0028\\u1100\\u1161\\u0029\";\n t[\"\\u320F\"] = \"\\u0028\\u1102\\u1161\\u0029\";\n t[\"\\u3210\"] = \"\\u0028\\u1103\\u1161\\u0029\";\n t[\"\\u3211\"] = \"\\u0028\\u1105\\u1161\\u0029\";\n t[\"\\u3212\"] = \"\\u0028\\u1106\\u1161\\u0029\";\n t[\"\\u3213\"] = \"\\u0028\\u1107\\u1161\\u0029\";\n t[\"\\u3214\"] = \"\\u0028\\u1109\\u1161\\u0029\";\n t[\"\\u3215\"] = \"\\u0028\\u110B\\u1161\\u0029\";\n t[\"\\u3216\"] = \"\\u0028\\u110C\\u1161\\u0029\";\n t[\"\\u3217\"] = \"\\u0028\\u110E\\u1161\\u0029\";\n t[\"\\u3218\"] = \"\\u0028\\u110F\\u1161\\u0029\";\n t[\"\\u3219\"] = \"\\u0028\\u1110\\u1161\\u0029\";\n t[\"\\u321A\"] = \"\\u0028\\u1111\\u1161\\u0029\";\n t[\"\\u321B\"] = \"\\u0028\\u1112\\u1161\\u0029\";\n t[\"\\u321C\"] = \"\\u0028\\u110C\\u116E\\u0029\";\n t[\"\\u321D\"] = \"\\u0028\\u110B\\u1169\\u110C\\u1165\\u11AB\\u0029\";\n t[\"\\u321E\"] = \"\\u0028\\u110B\\u1169\\u1112\\u116E\\u0029\";\n t[\"\\u3220\"] = \"\\u0028\\u4E00\\u0029\";\n t[\"\\u3221\"] = \"\\u0028\\u4E8C\\u0029\";\n t[\"\\u3222\"] = \"\\u0028\\u4E09\\u0029\";\n t[\"\\u3223\"] = \"\\u0028\\u56DB\\u0029\";\n t[\"\\u3224\"] = \"\\u0028\\u4E94\\u0029\";\n t[\"\\u3225\"] = \"\\u0028\\u516D\\u0029\";\n t[\"\\u3226\"] = \"\\u0028\\u4E03\\u0029\";\n t[\"\\u3227\"] = \"\\u0028\\u516B\\u0029\";\n t[\"\\u3228\"] = \"\\u0028\\u4E5D\\u0029\";\n t[\"\\u3229\"] = \"\\u0028\\u5341\\u0029\";\n t[\"\\u322A\"] = \"\\u0028\\u6708\\u0029\";\n t[\"\\u322B\"] = \"\\u0028\\u706B\\u0029\";\n t[\"\\u322C\"] = \"\\u0028\\u6C34\\u0029\";\n t[\"\\u322D\"] = \"\\u0028\\u6728\\u0029\";\n t[\"\\u322E\"] = \"\\u0028\\u91D1\\u0029\";\n t[\"\\u322F\"] = \"\\u0028\\u571F\\u0029\";\n t[\"\\u3230\"] = \"\\u0028\\u65E5\\u0029\";\n t[\"\\u3231\"] = \"\\u0028\\u682A\\u0029\";\n t[\"\\u3232\"] = \"\\u0028\\u6709\\u0029\";\n t[\"\\u3233\"] = \"\\u0028\\u793E\\u0029\";\n t[\"\\u3234\"] = \"\\u0028\\u540D\\u0029\";\n t[\"\\u3235\"] = \"\\u0028\\u7279\\u0029\";\n t[\"\\u3236\"] = \"\\u0028\\u8CA1\\u0029\";\n t[\"\\u3237\"] = \"\\u0028\\u795D\\u0029\";\n t[\"\\u3238\"] = \"\\u0028\\u52B4\\u0029\";\n t[\"\\u3239\"] = \"\\u0028\\u4EE3\\u0029\";\n t[\"\\u323A\"] = \"\\u0028\\u547C\\u0029\";\n t[\"\\u323B\"] = \"\\u0028\\u5B66\\u0029\";\n t[\"\\u323C\"] = \"\\u0028\\u76E3\\u0029\";\n t[\"\\u323D\"] = \"\\u0028\\u4F01\\u0029\";\n t[\"\\u323E\"] = \"\\u0028\\u8CC7\\u0029\";\n t[\"\\u323F\"] = \"\\u0028\\u5354\\u0029\";\n t[\"\\u3240\"] = \"\\u0028\\u796D\\u0029\";\n t[\"\\u3241\"] = \"\\u0028\\u4F11\\u0029\";\n t[\"\\u3242\"] = \"\\u0028\\u81EA\\u0029\";\n t[\"\\u3243\"] = \"\\u0028\\u81F3\\u0029\";\n t[\"\\u32C0\"] = \"\\u0031\\u6708\";\n t[\"\\u32C1\"] = \"\\u0032\\u6708\";\n t[\"\\u32C2\"] = \"\\u0033\\u6708\";\n t[\"\\u32C3\"] = \"\\u0034\\u6708\";\n t[\"\\u32C4\"] = \"\\u0035\\u6708\";\n t[\"\\u32C5\"] = \"\\u0036\\u6708\";\n t[\"\\u32C6\"] = \"\\u0037\\u6708\";\n t[\"\\u32C7\"] = \"\\u0038\\u6708\";\n t[\"\\u32C8\"] = \"\\u0039\\u6708\";\n t[\"\\u32C9\"] = \"\\u0031\\u0030\\u6708\";\n t[\"\\u32CA\"] = \"\\u0031\\u0031\\u6708\";\n t[\"\\u32CB\"] = \"\\u0031\\u0032\\u6708\";\n t[\"\\u3358\"] = \"\\u0030\\u70B9\";\n t[\"\\u3359\"] = \"\\u0031\\u70B9\";\n t[\"\\u335A\"] = \"\\u0032\\u70B9\";\n t[\"\\u335B\"] = \"\\u0033\\u70B9\";\n t[\"\\u335C\"] = \"\\u0034\\u70B9\";\n t[\"\\u335D\"] = \"\\u0035\\u70B9\";\n t[\"\\u335E\"] = \"\\u0036\\u70B9\";\n t[\"\\u335F\"] = \"\\u0037\\u70B9\";\n t[\"\\u3360\"] = \"\\u0038\\u70B9\";\n t[\"\\u3361\"] = \"\\u0039\\u70B9\";\n t[\"\\u3362\"] = \"\\u0031\\u0030\\u70B9\";\n t[\"\\u3363\"] = \"\\u0031\\u0031\\u70B9\";\n t[\"\\u3364\"] = \"\\u0031\\u0032\\u70B9\";\n t[\"\\u3365\"] = \"\\u0031\\u0033\\u70B9\";\n t[\"\\u3366\"] = \"\\u0031\\u0034\\u70B9\";\n t[\"\\u3367\"] = \"\\u0031\\u0035\\u70B9\";\n t[\"\\u3368\"] = \"\\u0031\\u0036\\u70B9\";\n t[\"\\u3369\"] = \"\\u0031\\u0037\\u70B9\";\n t[\"\\u336A\"] = \"\\u0031\\u0038\\u70B9\";\n t[\"\\u336B\"] = \"\\u0031\\u0039\\u70B9\";\n t[\"\\u336C\"] = \"\\u0032\\u0030\\u70B9\";\n t[\"\\u336D\"] = \"\\u0032\\u0031\\u70B9\";\n t[\"\\u336E\"] = \"\\u0032\\u0032\\u70B9\";\n t[\"\\u336F\"] = \"\\u0032\\u0033\\u70B9\";\n t[\"\\u3370\"] = \"\\u0032\\u0034\\u70B9\";\n t[\"\\u33E0\"] = \"\\u0031\\u65E5\";\n t[\"\\u33E1\"] = \"\\u0032\\u65E5\";\n t[\"\\u33E2\"] = \"\\u0033\\u65E5\";\n t[\"\\u33E3\"] = \"\\u0034\\u65E5\";\n t[\"\\u33E4\"] = \"\\u0035\\u65E5\";\n t[\"\\u33E5\"] = \"\\u0036\\u65E5\";\n t[\"\\u33E6\"] = \"\\u0037\\u65E5\";\n t[\"\\u33E7\"] = \"\\u0038\\u65E5\";\n t[\"\\u33E8\"] = \"\\u0039\\u65E5\";\n t[\"\\u33E9\"] = \"\\u0031\\u0030\\u65E5\";\n t[\"\\u33EA\"] = \"\\u0031\\u0031\\u65E5\";\n t[\"\\u33EB\"] = \"\\u0031\\u0032\\u65E5\";\n t[\"\\u33EC\"] = \"\\u0031\\u0033\\u65E5\";\n t[\"\\u33ED\"] = \"\\u0031\\u0034\\u65E5\";\n t[\"\\u33EE\"] = \"\\u0031\\u0035\\u65E5\";\n t[\"\\u33EF\"] = \"\\u0031\\u0036\\u65E5\";\n t[\"\\u33F0\"] = \"\\u0031\\u0037\\u65E5\";\n t[\"\\u33F1\"] = \"\\u0031\\u0038\\u65E5\";\n t[\"\\u33F2\"] = \"\\u0031\\u0039\\u65E5\";\n t[\"\\u33F3\"] = \"\\u0032\\u0030\\u65E5\";\n t[\"\\u33F4\"] = \"\\u0032\\u0031\\u65E5\";\n t[\"\\u33F5\"] = \"\\u0032\\u0032\\u65E5\";\n t[\"\\u33F6\"] = \"\\u0032\\u0033\\u65E5\";\n t[\"\\u33F7\"] = \"\\u0032\\u0034\\u65E5\";\n t[\"\\u33F8\"] = \"\\u0032\\u0035\\u65E5\";\n t[\"\\u33F9\"] = \"\\u0032\\u0036\\u65E5\";\n t[\"\\u33FA\"] = \"\\u0032\\u0037\\u65E5\";\n t[\"\\u33FB\"] = \"\\u0032\\u0038\\u65E5\";\n t[\"\\u33FC\"] = \"\\u0032\\u0039\\u65E5\";\n t[\"\\u33FD\"] = \"\\u0033\\u0030\\u65E5\";\n t[\"\\u33FE\"] = \"\\u0033\\u0031\\u65E5\";\n t[\"\\uFB00\"] = \"\\u0066\\u0066\";\n t[\"\\uFB01\"] = \"\\u0066\\u0069\";\n t[\"\\uFB02\"] = \"\\u0066\\u006C\";\n t[\"\\uFB03\"] = \"\\u0066\\u0066\\u0069\";\n t[\"\\uFB04\"] = \"\\u0066\\u0066\\u006C\";\n t[\"\\uFB05\"] = \"\\u017F\\u0074\";\n t[\"\\uFB06\"] = \"\\u0073\\u0074\";\n t[\"\\uFB13\"] = \"\\u0574\\u0576\";\n t[\"\\uFB14\"] = \"\\u0574\\u0565\";\n t[\"\\uFB15\"] = \"\\u0574\\u056B\";\n t[\"\\uFB16\"] = \"\\u057E\\u0576\";\n t[\"\\uFB17\"] = \"\\u0574\\u056D\";\n t[\"\\uFB4F\"] = \"\\u05D0\\u05DC\";\n t[\"\\uFB50\"] = \"\\u0671\";\n t[\"\\uFB51\"] = \"\\u0671\";\n t[\"\\uFB52\"] = \"\\u067B\";\n t[\"\\uFB53\"] = \"\\u067B\";\n t[\"\\uFB54\"] = \"\\u067B\";\n t[\"\\uFB55\"] = \"\\u067B\";\n t[\"\\uFB56\"] = \"\\u067E\";\n t[\"\\uFB57\"] = \"\\u067E\";\n t[\"\\uFB58\"] = \"\\u067E\";\n t[\"\\uFB59\"] = \"\\u067E\";\n t[\"\\uFB5A\"] = \"\\u0680\";\n t[\"\\uFB5B\"] = \"\\u0680\";\n t[\"\\uFB5C\"] = \"\\u0680\";\n t[\"\\uFB5D\"] = \"\\u0680\";\n t[\"\\uFB5E\"] = \"\\u067A\";\n t[\"\\uFB5F\"] = \"\\u067A\";\n t[\"\\uFB60\"] = \"\\u067A\";\n t[\"\\uFB61\"] = \"\\u067A\";\n t[\"\\uFB62\"] = \"\\u067F\";\n t[\"\\uFB63\"] = \"\\u067F\";\n t[\"\\uFB64\"] = \"\\u067F\";\n t[\"\\uFB65\"] = \"\\u067F\";\n t[\"\\uFB66\"] = \"\\u0679\";\n t[\"\\uFB67\"] = \"\\u0679\";\n t[\"\\uFB68\"] = \"\\u0679\";\n t[\"\\uFB69\"] = \"\\u0679\";\n t[\"\\uFB6A\"] = \"\\u06A4\";\n t[\"\\uFB6B\"] = \"\\u06A4\";\n t[\"\\uFB6C\"] = \"\\u06A4\";\n t[\"\\uFB6D\"] = \"\\u06A4\";\n t[\"\\uFB6E\"] = \"\\u06A6\";\n t[\"\\uFB6F\"] = \"\\u06A6\";\n t[\"\\uFB70\"] = \"\\u06A6\";\n t[\"\\uFB71\"] = \"\\u06A6\";\n t[\"\\uFB72\"] = \"\\u0684\";\n t[\"\\uFB73\"] = \"\\u0684\";\n t[\"\\uFB74\"] = \"\\u0684\";\n t[\"\\uFB75\"] = \"\\u0684\";\n t[\"\\uFB76\"] = \"\\u0683\";\n t[\"\\uFB77\"] = \"\\u0683\";\n t[\"\\uFB78\"] = \"\\u0683\";\n t[\"\\uFB79\"] = \"\\u0683\";\n t[\"\\uFB7A\"] = \"\\u0686\";\n t[\"\\uFB7B\"] = \"\\u0686\";\n t[\"\\uFB7C\"] = \"\\u0686\";\n t[\"\\uFB7D\"] = \"\\u0686\";\n t[\"\\uFB7E\"] = \"\\u0687\";\n t[\"\\uFB7F\"] = \"\\u0687\";\n t[\"\\uFB80\"] = \"\\u0687\";\n t[\"\\uFB81\"] = \"\\u0687\";\n t[\"\\uFB82\"] = \"\\u068D\";\n t[\"\\uFB83\"] = \"\\u068D\";\n t[\"\\uFB84\"] = \"\\u068C\";\n t[\"\\uFB85\"] = \"\\u068C\";\n t[\"\\uFB86\"] = \"\\u068E\";\n t[\"\\uFB87\"] = \"\\u068E\";\n t[\"\\uFB88\"] = \"\\u0688\";\n t[\"\\uFB89\"] = \"\\u0688\";\n t[\"\\uFB8A\"] = \"\\u0698\";\n t[\"\\uFB8B\"] = \"\\u0698\";\n t[\"\\uFB8C\"] = \"\\u0691\";\n t[\"\\uFB8D\"] = \"\\u0691\";\n t[\"\\uFB8E\"] = \"\\u06A9\";\n t[\"\\uFB8F\"] = \"\\u06A9\";\n t[\"\\uFB90\"] = \"\\u06A9\";\n t[\"\\uFB91\"] = \"\\u06A9\";\n t[\"\\uFB92\"] = \"\\u06AF\";\n t[\"\\uFB93\"] = \"\\u06AF\";\n t[\"\\uFB94\"] = \"\\u06AF\";\n t[\"\\uFB95\"] = \"\\u06AF\";\n t[\"\\uFB96\"] = \"\\u06B3\";\n t[\"\\uFB97\"] = \"\\u06B3\";\n t[\"\\uFB98\"] = \"\\u06B3\";\n t[\"\\uFB99\"] = \"\\u06B3\";\n t[\"\\uFB9A\"] = \"\\u06B1\";\n t[\"\\uFB9B\"] = \"\\u06B1\";\n t[\"\\uFB9C\"] = \"\\u06B1\";\n t[\"\\uFB9D\"] = \"\\u06B1\";\n t[\"\\uFB9E\"] = \"\\u06BA\";\n t[\"\\uFB9F\"] = \"\\u06BA\";\n t[\"\\uFBA0\"] = \"\\u06BB\";\n t[\"\\uFBA1\"] = \"\\u06BB\";\n t[\"\\uFBA2\"] = \"\\u06BB\";\n t[\"\\uFBA3\"] = \"\\u06BB\";\n t[\"\\uFBA4\"] = \"\\u06C0\";\n t[\"\\uFBA5\"] = \"\\u06C0\";\n t[\"\\uFBA6\"] = \"\\u06C1\";\n t[\"\\uFBA7\"] = \"\\u06C1\";\n t[\"\\uFBA8\"] = \"\\u06C1\";\n t[\"\\uFBA9\"] = \"\\u06C1\";\n t[\"\\uFBAA\"] = \"\\u06BE\";\n t[\"\\uFBAB\"] = \"\\u06BE\";\n t[\"\\uFBAC\"] = \"\\u06BE\";\n t[\"\\uFBAD\"] = \"\\u06BE\";\n t[\"\\uFBAE\"] = \"\\u06D2\";\n t[\"\\uFBAF\"] = \"\\u06D2\";\n t[\"\\uFBB0\"] = \"\\u06D3\";\n t[\"\\uFBB1\"] = \"\\u06D3\";\n t[\"\\uFBD3\"] = \"\\u06AD\";\n t[\"\\uFBD4\"] = \"\\u06AD\";\n t[\"\\uFBD5\"] = \"\\u06AD\";\n t[\"\\uFBD6\"] = \"\\u06AD\";\n t[\"\\uFBD7\"] = \"\\u06C7\";\n t[\"\\uFBD8\"] = \"\\u06C7\";\n t[\"\\uFBD9\"] = \"\\u06C6\";\n t[\"\\uFBDA\"] = \"\\u06C6\";\n t[\"\\uFBDB\"] = \"\\u06C8\";\n t[\"\\uFBDC\"] = \"\\u06C8\";\n t[\"\\uFBDD\"] = \"\\u0677\";\n t[\"\\uFBDE\"] = \"\\u06CB\";\n t[\"\\uFBDF\"] = \"\\u06CB\";\n t[\"\\uFBE0\"] = \"\\u06C5\";\n t[\"\\uFBE1\"] = \"\\u06C5\";\n t[\"\\uFBE2\"] = \"\\u06C9\";\n t[\"\\uFBE3\"] = \"\\u06C9\";\n t[\"\\uFBE4\"] = \"\\u06D0\";\n t[\"\\uFBE5\"] = \"\\u06D0\";\n t[\"\\uFBE6\"] = \"\\u06D0\";\n t[\"\\uFBE7\"] = \"\\u06D0\";\n t[\"\\uFBE8\"] = \"\\u0649\";\n t[\"\\uFBE9\"] = \"\\u0649\";\n t[\"\\uFBEA\"] = \"\\u0626\\u0627\";\n t[\"\\uFBEB\"] = \"\\u0626\\u0627\";\n t[\"\\uFBEC\"] = \"\\u0626\\u06D5\";\n t[\"\\uFBED\"] = \"\\u0626\\u06D5\";\n t[\"\\uFBEE\"] = \"\\u0626\\u0648\";\n t[\"\\uFBEF\"] = \"\\u0626\\u0648\";\n t[\"\\uFBF0\"] = \"\\u0626\\u06C7\";\n t[\"\\uFBF1\"] = \"\\u0626\\u06C7\";\n t[\"\\uFBF2\"] = \"\\u0626\\u06C6\";\n t[\"\\uFBF3\"] = \"\\u0626\\u06C6\";\n t[\"\\uFBF4\"] = \"\\u0626\\u06C8\";\n t[\"\\uFBF5\"] = \"\\u0626\\u06C8\";\n t[\"\\uFBF6\"] = \"\\u0626\\u06D0\";\n t[\"\\uFBF7\"] = \"\\u0626\\u06D0\";\n t[\"\\uFBF8\"] = \"\\u0626\\u06D0\";\n t[\"\\uFBF9\"] = \"\\u0626\\u0649\";\n t[\"\\uFBFA\"] = \"\\u0626\\u0649\";\n t[\"\\uFBFB\"] = \"\\u0626\\u0649\";\n t[\"\\uFBFC\"] = \"\\u06CC\";\n t[\"\\uFBFD\"] = \"\\u06CC\";\n t[\"\\uFBFE\"] = \"\\u06CC\";\n t[\"\\uFBFF\"] = \"\\u06CC\";\n t[\"\\uFC00\"] = \"\\u0626\\u062C\";\n t[\"\\uFC01\"] = \"\\u0626\\u062D\";\n t[\"\\uFC02\"] = \"\\u0626\\u0645\";\n t[\"\\uFC03\"] = \"\\u0626\\u0649\";\n t[\"\\uFC04\"] = \"\\u0626\\u064A\";\n t[\"\\uFC05\"] = \"\\u0628\\u062C\";\n t[\"\\uFC06\"] = \"\\u0628\\u062D\";\n t[\"\\uFC07\"] = \"\\u0628\\u062E\";\n t[\"\\uFC08\"] = \"\\u0628\\u0645\";\n t[\"\\uFC09\"] = \"\\u0628\\u0649\";\n t[\"\\uFC0A\"] = \"\\u0628\\u064A\";\n t[\"\\uFC0B\"] = \"\\u062A\\u062C\";\n t[\"\\uFC0C\"] = \"\\u062A\\u062D\";\n t[\"\\uFC0D\"] = \"\\u062A\\u062E\";\n t[\"\\uFC0E\"] = \"\\u062A\\u0645\";\n t[\"\\uFC0F\"] = \"\\u062A\\u0649\";\n t[\"\\uFC10\"] = \"\\u062A\\u064A\";\n t[\"\\uFC11\"] = \"\\u062B\\u062C\";\n t[\"\\uFC12\"] = \"\\u062B\\u0645\";\n t[\"\\uFC13\"] = \"\\u062B\\u0649\";\n t[\"\\uFC14\"] = \"\\u062B\\u064A\";\n t[\"\\uFC15\"] = \"\\u062C\\u062D\";\n t[\"\\uFC16\"] = \"\\u062C\\u0645\";\n t[\"\\uFC17\"] = \"\\u062D\\u062C\";\n t[\"\\uFC18\"] = \"\\u062D\\u0645\";\n t[\"\\uFC19\"] = \"\\u062E\\u062C\";\n t[\"\\uFC1A\"] = \"\\u062E\\u062D\";\n t[\"\\uFC1B\"] = \"\\u062E\\u0645\";\n t[\"\\uFC1C\"] = \"\\u0633\\u062C\";\n t[\"\\uFC1D\"] = \"\\u0633\\u062D\";\n t[\"\\uFC1E\"] = \"\\u0633\\u062E\";\n t[\"\\uFC1F\"] = \"\\u0633\\u0645\";\n t[\"\\uFC20\"] = \"\\u0635\\u062D\";\n t[\"\\uFC21\"] = \"\\u0635\\u0645\";\n t[\"\\uFC22\"] = \"\\u0636\\u062C\";\n t[\"\\uFC23\"] = \"\\u0636\\u062D\";\n t[\"\\uFC24\"] = \"\\u0636\\u062E\";\n t[\"\\uFC25\"] = \"\\u0636\\u0645\";\n t[\"\\uFC26\"] = \"\\u0637\\u062D\";\n t[\"\\uFC27\"] = \"\\u0637\\u0645\";\n t[\"\\uFC28\"] = \"\\u0638\\u0645\";\n t[\"\\uFC29\"] = \"\\u0639\\u062C\";\n t[\"\\uFC2A\"] = \"\\u0639\\u0645\";\n t[\"\\uFC2B\"] = \"\\u063A\\u062C\";\n t[\"\\uFC2C\"] = \"\\u063A\\u0645\";\n t[\"\\uFC2D\"] = \"\\u0641\\u062C\";\n t[\"\\uFC2E\"] = \"\\u0641\\u062D\";\n t[\"\\uFC2F\"] = \"\\u0641\\u062E\";\n t[\"\\uFC30\"] = \"\\u0641\\u0645\";\n t[\"\\uFC31\"] = \"\\u0641\\u0649\";\n t[\"\\uFC32\"] = \"\\u0641\\u064A\";\n t[\"\\uFC33\"] = \"\\u0642\\u062D\";\n t[\"\\uFC34\"] = \"\\u0642\\u0645\";\n t[\"\\uFC35\"] = \"\\u0642\\u0649\";\n t[\"\\uFC36\"] = \"\\u0642\\u064A\";\n t[\"\\uFC37\"] = \"\\u0643\\u0627\";\n t[\"\\uFC38\"] = \"\\u0643\\u062C\";\n t[\"\\uFC39\"] = \"\\u0643\\u062D\";\n t[\"\\uFC3A\"] = \"\\u0643\\u062E\";\n t[\"\\uFC3B\"] = \"\\u0643\\u0644\";\n t[\"\\uFC3C\"] = \"\\u0643\\u0645\";\n t[\"\\uFC3D\"] = \"\\u0643\\u0649\";\n t[\"\\uFC3E\"] = \"\\u0643\\u064A\";\n t[\"\\uFC3F\"] = \"\\u0644\\u062C\";\n t[\"\\uFC40\"] = \"\\u0644\\u062D\";\n t[\"\\uFC41\"] = \"\\u0644\\u062E\";\n t[\"\\uFC42\"] = \"\\u0644\\u0645\";\n t[\"\\uFC43\"] = \"\\u0644\\u0649\";\n t[\"\\uFC44\"] = \"\\u0644\\u064A\";\n t[\"\\uFC45\"] = \"\\u0645\\u062C\";\n t[\"\\uFC46\"] = \"\\u0645\\u062D\";\n t[\"\\uFC47\"] = \"\\u0645\\u062E\";\n t[\"\\uFC48\"] = \"\\u0645\\u0645\";\n t[\"\\uFC49\"] = \"\\u0645\\u0649\";\n t[\"\\uFC4A\"] = \"\\u0645\\u064A\";\n t[\"\\uFC4B\"] = \"\\u0646\\u062C\";\n t[\"\\uFC4C\"] = \"\\u0646\\u062D\";\n t[\"\\uFC4D\"] = \"\\u0646\\u062E\";\n t[\"\\uFC4E\"] = \"\\u0646\\u0645\";\n t[\"\\uFC4F\"] = \"\\u0646\\u0649\";\n t[\"\\uFC50\"] = \"\\u0646\\u064A\";\n t[\"\\uFC51\"] = \"\\u0647\\u062C\";\n t[\"\\uFC52\"] = \"\\u0647\\u0645\";\n t[\"\\uFC53\"] = \"\\u0647\\u0649\";\n t[\"\\uFC54\"] = \"\\u0647\\u064A\";\n t[\"\\uFC55\"] = \"\\u064A\\u062C\";\n t[\"\\uFC56\"] = \"\\u064A\\u062D\";\n t[\"\\uFC57\"] = \"\\u064A\\u062E\";\n t[\"\\uFC58\"] = \"\\u064A\\u0645\";\n t[\"\\uFC59\"] = \"\\u064A\\u0649\";\n t[\"\\uFC5A\"] = \"\\u064A\\u064A\";\n t[\"\\uFC5B\"] = \"\\u0630\\u0670\";\n t[\"\\uFC5C\"] = \"\\u0631\\u0670\";\n t[\"\\uFC5D\"] = \"\\u0649\\u0670\";\n t[\"\\uFC5E\"] = \"\\u0020\\u064C\\u0651\";\n t[\"\\uFC5F\"] = \"\\u0020\\u064D\\u0651\";\n t[\"\\uFC60\"] = \"\\u0020\\u064E\\u0651\";\n t[\"\\uFC61\"] = \"\\u0020\\u064F\\u0651\";\n t[\"\\uFC62\"] = \"\\u0020\\u0650\\u0651\";\n t[\"\\uFC63\"] = \"\\u0020\\u0651\\u0670\";\n t[\"\\uFC64\"] = \"\\u0626\\u0631\";\n t[\"\\uFC65\"] = \"\\u0626\\u0632\";\n t[\"\\uFC66\"] = \"\\u0626\\u0645\";\n t[\"\\uFC67\"] = \"\\u0626\\u0646\";\n t[\"\\uFC68\"] = \"\\u0626\\u0649\";\n t[\"\\uFC69\"] = \"\\u0626\\u064A\";\n t[\"\\uFC6A\"] = \"\\u0628\\u0631\";\n t[\"\\uFC6B\"] = \"\\u0628\\u0632\";\n t[\"\\uFC6C\"] = \"\\u0628\\u0645\";\n t[\"\\uFC6D\"] = \"\\u0628\\u0646\";\n t[\"\\uFC6E\"] = \"\\u0628\\u0649\";\n t[\"\\uFC6F\"] = \"\\u0628\\u064A\";\n t[\"\\uFC70\"] = \"\\u062A\\u0631\";\n t[\"\\uFC71\"] = \"\\u062A\\u0632\";\n t[\"\\uFC72\"] = \"\\u062A\\u0645\";\n t[\"\\uFC73\"] = \"\\u062A\\u0646\";\n t[\"\\uFC74\"] = \"\\u062A\\u0649\";\n t[\"\\uFC75\"] = \"\\u062A\\u064A\";\n t[\"\\uFC76\"] = \"\\u062B\\u0631\";\n t[\"\\uFC77\"] = \"\\u062B\\u0632\";\n t[\"\\uFC78\"] = \"\\u062B\\u0645\";\n t[\"\\uFC79\"] = \"\\u062B\\u0646\";\n t[\"\\uFC7A\"] = \"\\u062B\\u0649\";\n t[\"\\uFC7B\"] = \"\\u062B\\u064A\";\n t[\"\\uFC7C\"] = \"\\u0641\\u0649\";\n t[\"\\uFC7D\"] = \"\\u0641\\u064A\";\n t[\"\\uFC7E\"] = \"\\u0642\\u0649\";\n t[\"\\uFC7F\"] = \"\\u0642\\u064A\";\n t[\"\\uFC80\"] = \"\\u0643\\u0627\";\n t[\"\\uFC81\"] = \"\\u0643\\u0644\";\n t[\"\\uFC82\"] = \"\\u0643\\u0645\";\n t[\"\\uFC83\"] = \"\\u0643\\u0649\";\n t[\"\\uFC84\"] = \"\\u0643\\u064A\";\n t[\"\\uFC85\"] = \"\\u0644\\u0645\";\n t[\"\\uFC86\"] = \"\\u0644\\u0649\";\n t[\"\\uFC87\"] = \"\\u0644\\u064A\";\n t[\"\\uFC88\"] = \"\\u0645\\u0627\";\n t[\"\\uFC89\"] = \"\\u0645\\u0645\";\n t[\"\\uFC8A\"] = \"\\u0646\\u0631\";\n t[\"\\uFC8B\"] = \"\\u0646\\u0632\";\n t[\"\\uFC8C\"] = \"\\u0646\\u0645\";\n t[\"\\uFC8D\"] = \"\\u0646\\u0646\";\n t[\"\\uFC8E\"] = \"\\u0646\\u0649\";\n t[\"\\uFC8F\"] = \"\\u0646\\u064A\";\n t[\"\\uFC90\"] = \"\\u0649\\u0670\";\n t[\"\\uFC91\"] = \"\\u064A\\u0631\";\n t[\"\\uFC92\"] = \"\\u064A\\u0632\";\n t[\"\\uFC93\"] = \"\\u064A\\u0645\";\n t[\"\\uFC94\"] = \"\\u064A\\u0646\";\n t[\"\\uFC95\"] = \"\\u064A\\u0649\";\n t[\"\\uFC96\"] = \"\\u064A\\u064A\";\n t[\"\\uFC97\"] = \"\\u0626\\u062C\";\n t[\"\\uFC98\"] = \"\\u0626\\u062D\";\n t[\"\\uFC99\"] = \"\\u0626\\u062E\";\n t[\"\\uFC9A\"] = \"\\u0626\\u0645\";\n t[\"\\uFC9B\"] = \"\\u0626\\u0647\";\n t[\"\\uFC9C\"] = \"\\u0628\\u062C\";\n t[\"\\uFC9D\"] = \"\\u0628\\u062D\";\n t[\"\\uFC9E\"] = \"\\u0628\\u062E\";\n t[\"\\uFC9F\"] = \"\\u0628\\u0645\";\n t[\"\\uFCA0\"] = \"\\u0628\\u0647\";\n t[\"\\uFCA1\"] = \"\\u062A\\u062C\";\n t[\"\\uFCA2\"] = \"\\u062A\\u062D\";\n t[\"\\uFCA3\"] = \"\\u062A\\u062E\";\n t[\"\\uFCA4\"] = \"\\u062A\\u0645\";\n t[\"\\uFCA5\"] = \"\\u062A\\u0647\";\n t[\"\\uFCA6\"] = \"\\u062B\\u0645\";\n t[\"\\uFCA7\"] = \"\\u062C\\u062D\";\n t[\"\\uFCA8\"] = \"\\u062C\\u0645\";\n t[\"\\uFCA9\"] = \"\\u062D\\u062C\";\n t[\"\\uFCAA\"] = \"\\u062D\\u0645\";\n t[\"\\uFCAB\"] = \"\\u062E\\u062C\";\n t[\"\\uFCAC\"] = \"\\u062E\\u0645\";\n t[\"\\uFCAD\"] = \"\\u0633\\u062C\";\n t[\"\\uFCAE\"] = \"\\u0633\\u062D\";\n t[\"\\uFCAF\"] = \"\\u0633\\u062E\";\n t[\"\\uFCB0\"] = \"\\u0633\\u0645\";\n t[\"\\uFCB1\"] = \"\\u0635\\u062D\";\n t[\"\\uFCB2\"] = \"\\u0635\\u062E\";\n t[\"\\uFCB3\"] = \"\\u0635\\u0645\";\n t[\"\\uFCB4\"] = \"\\u0636\\u062C\";\n t[\"\\uFCB5\"] = \"\\u0636\\u062D\";\n t[\"\\uFCB6\"] = \"\\u0636\\u062E\";\n t[\"\\uFCB7\"] = \"\\u0636\\u0645\";\n t[\"\\uFCB8\"] = \"\\u0637\\u062D\";\n t[\"\\uFCB9\"] = \"\\u0638\\u0645\";\n t[\"\\uFCBA\"] = \"\\u0639\\u062C\";\n t[\"\\uFCBB\"] = \"\\u0639\\u0645\";\n t[\"\\uFCBC\"] = \"\\u063A\\u062C\";\n t[\"\\uFCBD\"] = \"\\u063A\\u0645\";\n t[\"\\uFCBE\"] = \"\\u0641\\u062C\";\n t[\"\\uFCBF\"] = \"\\u0641\\u062D\";\n t[\"\\uFCC0\"] = \"\\u0641\\u062E\";\n t[\"\\uFCC1\"] = \"\\u0641\\u0645\";\n t[\"\\uFCC2\"] = \"\\u0642\\u062D\";\n t[\"\\uFCC3\"] = \"\\u0642\\u0645\";\n t[\"\\uFCC4\"] = \"\\u0643\\u062C\";\n t[\"\\uFCC5\"] = \"\\u0643\\u062D\";\n t[\"\\uFCC6\"] = \"\\u0643\\u062E\";\n t[\"\\uFCC7\"] = \"\\u0643\\u0644\";\n t[\"\\uFCC8\"] = \"\\u0643\\u0645\";\n t[\"\\uFCC9\"] = \"\\u0644\\u062C\";\n t[\"\\uFCCA\"] = \"\\u0644\\u062D\";\n t[\"\\uFCCB\"] = \"\\u0644\\u062E\";\n t[\"\\uFCCC\"] = \"\\u0644\\u0645\";\n t[\"\\uFCCD\"] = \"\\u0644\\u0647\";\n t[\"\\uFCCE\"] = \"\\u0645\\u062C\";\n t[\"\\uFCCF\"] = \"\\u0645\\u062D\";\n t[\"\\uFCD0\"] = \"\\u0645\\u062E\";\n t[\"\\uFCD1\"] = \"\\u0645\\u0645\";\n t[\"\\uFCD2\"] = \"\\u0646\\u062C\";\n t[\"\\uFCD3\"] = \"\\u0646\\u062D\";\n t[\"\\uFCD4\"] = \"\\u0646\\u062E\";\n t[\"\\uFCD5\"] = \"\\u0646\\u0645\";\n t[\"\\uFCD6\"] = \"\\u0646\\u0647\";\n t[\"\\uFCD7\"] = \"\\u0647\\u062C\";\n t[\"\\uFCD8\"] = \"\\u0647\\u0645\";\n t[\"\\uFCD9\"] = \"\\u0647\\u0670\";\n t[\"\\uFCDA\"] = \"\\u064A\\u062C\";\n t[\"\\uFCDB\"] = \"\\u064A\\u062D\";\n t[\"\\uFCDC\"] = \"\\u064A\\u062E\";\n t[\"\\uFCDD\"] = \"\\u064A\\u0645\";\n t[\"\\uFCDE\"] = \"\\u064A\\u0647\";\n t[\"\\uFCDF\"] = \"\\u0626\\u0645\";\n t[\"\\uFCE0\"] = \"\\u0626\\u0647\";\n t[\"\\uFCE1\"] = \"\\u0628\\u0645\";\n t[\"\\uFCE2\"] = \"\\u0628\\u0647\";\n t[\"\\uFCE3\"] = \"\\u062A\\u0645\";\n t[\"\\uFCE4\"] = \"\\u062A\\u0647\";\n t[\"\\uFCE5\"] = \"\\u062B\\u0645\";\n t[\"\\uFCE6\"] = \"\\u062B\\u0647\";\n t[\"\\uFCE7\"] = \"\\u0633\\u0645\";\n t[\"\\uFCE8\"] = \"\\u0633\\u0647\";\n t[\"\\uFCE9\"] = \"\\u0634\\u0645\";\n t[\"\\uFCEA\"] = \"\\u0634\\u0647\";\n t[\"\\uFCEB\"] = \"\\u0643\\u0644\";\n t[\"\\uFCEC\"] = \"\\u0643\\u0645\";\n t[\"\\uFCED\"] = \"\\u0644\\u0645\";\n t[\"\\uFCEE\"] = \"\\u0646\\u0645\";\n t[\"\\uFCEF\"] = \"\\u0646\\u0647\";\n t[\"\\uFCF0\"] = \"\\u064A\\u0645\";\n t[\"\\uFCF1\"] = \"\\u064A\\u0647\";\n t[\"\\uFCF2\"] = \"\\u0640\\u064E\\u0651\";\n t[\"\\uFCF3\"] = \"\\u0640\\u064F\\u0651\";\n t[\"\\uFCF4\"] = \"\\u0640\\u0650\\u0651\";\n t[\"\\uFCF5\"] = \"\\u0637\\u0649\";\n t[\"\\uFCF6\"] = \"\\u0637\\u064A\";\n t[\"\\uFCF7\"] = \"\\u0639\\u0649\";\n t[\"\\uFCF8\"] = \"\\u0639\\u064A\";\n t[\"\\uFCF9\"] = \"\\u063A\\u0649\";\n t[\"\\uFCFA\"] = \"\\u063A\\u064A\";\n t[\"\\uFCFB\"] = \"\\u0633\\u0649\";\n t[\"\\uFCFC\"] = \"\\u0633\\u064A\";\n t[\"\\uFCFD\"] = \"\\u0634\\u0649\";\n t[\"\\uFCFE\"] = \"\\u0634\\u064A\";\n t[\"\\uFCFF\"] = \"\\u062D\\u0649\";\n t[\"\\uFD00\"] = \"\\u062D\\u064A\";\n t[\"\\uFD01\"] = \"\\u062C\\u0649\";\n t[\"\\uFD02\"] = \"\\u062C\\u064A\";\n t[\"\\uFD03\"] = \"\\u062E\\u0649\";\n t[\"\\uFD04\"] = \"\\u062E\\u064A\";\n t[\"\\uFD05\"] = \"\\u0635\\u0649\";\n t[\"\\uFD06\"] = \"\\u0635\\u064A\";\n t[\"\\uFD07\"] = \"\\u0636\\u0649\";\n t[\"\\uFD08\"] = \"\\u0636\\u064A\";\n t[\"\\uFD09\"] = \"\\u0634\\u062C\";\n t[\"\\uFD0A\"] = \"\\u0634\\u062D\";\n t[\"\\uFD0B\"] = \"\\u0634\\u062E\";\n t[\"\\uFD0C\"] = \"\\u0634\\u0645\";\n t[\"\\uFD0D\"] = \"\\u0634\\u0631\";\n t[\"\\uFD0E\"] = \"\\u0633\\u0631\";\n t[\"\\uFD0F\"] = \"\\u0635\\u0631\";\n t[\"\\uFD10\"] = \"\\u0636\\u0631\";\n t[\"\\uFD11\"] = \"\\u0637\\u0649\";\n t[\"\\uFD12\"] = \"\\u0637\\u064A\";\n t[\"\\uFD13\"] = \"\\u0639\\u0649\";\n t[\"\\uFD14\"] = \"\\u0639\\u064A\";\n t[\"\\uFD15\"] = \"\\u063A\\u0649\";\n t[\"\\uFD16\"] = \"\\u063A\\u064A\";\n t[\"\\uFD17\"] = \"\\u0633\\u0649\";\n t[\"\\uFD18\"] = \"\\u0633\\u064A\";\n t[\"\\uFD19\"] = \"\\u0634\\u0649\";\n t[\"\\uFD1A\"] = \"\\u0634\\u064A\";\n t[\"\\uFD1B\"] = \"\\u062D\\u0649\";\n t[\"\\uFD1C\"] = \"\\u062D\\u064A\";\n t[\"\\uFD1D\"] = \"\\u062C\\u0649\";\n t[\"\\uFD1E\"] = \"\\u062C\\u064A\";\n t[\"\\uFD1F\"] = \"\\u062E\\u0649\";\n t[\"\\uFD20\"] = \"\\u062E\\u064A\";\n t[\"\\uFD21\"] = \"\\u0635\\u0649\";\n t[\"\\uFD22\"] = \"\\u0635\\u064A\";\n t[\"\\uFD23\"] = \"\\u0636\\u0649\";\n t[\"\\uFD24\"] = \"\\u0636\\u064A\";\n t[\"\\uFD25\"] = \"\\u0634\\u062C\";\n t[\"\\uFD26\"] = \"\\u0634\\u062D\";\n t[\"\\uFD27\"] = \"\\u0634\\u062E\";\n t[\"\\uFD28\"] = \"\\u0634\\u0645\";\n t[\"\\uFD29\"] = \"\\u0634\\u0631\";\n t[\"\\uFD2A\"] = \"\\u0633\\u0631\";\n t[\"\\uFD2B\"] = \"\\u0635\\u0631\";\n t[\"\\uFD2C\"] = \"\\u0636\\u0631\";\n t[\"\\uFD2D\"] = \"\\u0634\\u062C\";\n t[\"\\uFD2E\"] = \"\\u0634\\u062D\";\n t[\"\\uFD2F\"] = \"\\u0634\\u062E\";\n t[\"\\uFD30\"] = \"\\u0634\\u0645\";\n t[\"\\uFD31\"] = \"\\u0633\\u0647\";\n t[\"\\uFD32\"] = \"\\u0634\\u0647\";\n t[\"\\uFD33\"] = \"\\u0637\\u0645\";\n t[\"\\uFD34\"] = \"\\u0633\\u062C\";\n t[\"\\uFD35\"] = \"\\u0633\\u062D\";\n t[\"\\uFD36\"] = \"\\u0633\\u062E\";\n t[\"\\uFD37\"] = \"\\u0634\\u062C\";\n t[\"\\uFD38\"] = \"\\u0634\\u062D\";\n t[\"\\uFD39\"] = \"\\u0634\\u062E\";\n t[\"\\uFD3A\"] = \"\\u0637\\u0645\";\n t[\"\\uFD3B\"] = \"\\u0638\\u0645\";\n t[\"\\uFD3C\"] = \"\\u0627\\u064B\";\n t[\"\\uFD3D\"] = \"\\u0627\\u064B\";\n t[\"\\uFD50\"] = \"\\u062A\\u062C\\u0645\";\n t[\"\\uFD51\"] = \"\\u062A\\u062D\\u062C\";\n t[\"\\uFD52\"] = \"\\u062A\\u062D\\u062C\";\n t[\"\\uFD53\"] = \"\\u062A\\u062D\\u0645\";\n t[\"\\uFD54\"] = \"\\u062A\\u062E\\u0645\";\n t[\"\\uFD55\"] = \"\\u062A\\u0645\\u062C\";\n t[\"\\uFD56\"] = \"\\u062A\\u0645\\u062D\";\n t[\"\\uFD57\"] = \"\\u062A\\u0645\\u062E\";\n t[\"\\uFD58\"] = \"\\u062C\\u0645\\u062D\";\n t[\"\\uFD59\"] = \"\\u062C\\u0645\\u062D\";\n t[\"\\uFD5A\"] = \"\\u062D\\u0645\\u064A\";\n t[\"\\uFD5B\"] = \"\\u062D\\u0645\\u0649\";\n t[\"\\uFD5C\"] = \"\\u0633\\u062D\\u062C\";\n t[\"\\uFD5D\"] = \"\\u0633\\u062C\\u062D\";\n t[\"\\uFD5E\"] = \"\\u0633\\u062C\\u0649\";\n t[\"\\uFD5F\"] = \"\\u0633\\u0645\\u062D\";\n t[\"\\uFD60\"] = \"\\u0633\\u0645\\u062D\";\n t[\"\\uFD61\"] = \"\\u0633\\u0645\\u062C\";\n t[\"\\uFD62\"] = \"\\u0633\\u0645\\u0645\";\n t[\"\\uFD63\"] = \"\\u0633\\u0645\\u0645\";\n t[\"\\uFD64\"] = \"\\u0635\\u062D\\u062D\";\n t[\"\\uFD65\"] = \"\\u0635\\u062D\\u062D\";\n t[\"\\uFD66\"] = \"\\u0635\\u0645\\u0645\";\n t[\"\\uFD67\"] = \"\\u0634\\u062D\\u0645\";\n t[\"\\uFD68\"] = \"\\u0634\\u062D\\u0645\";\n t[\"\\uFD69\"] = \"\\u0634\\u062C\\u064A\";\n t[\"\\uFD6A\"] = \"\\u0634\\u0645\\u062E\";\n t[\"\\uFD6B\"] = \"\\u0634\\u0645\\u062E\";\n t[\"\\uFD6C\"] = \"\\u0634\\u0645\\u0645\";\n t[\"\\uFD6D\"] = \"\\u0634\\u0645\\u0645\";\n t[\"\\uFD6E\"] = \"\\u0636\\u062D\\u0649\";\n t[\"\\uFD6F\"] = \"\\u0636\\u062E\\u0645\";\n t[\"\\uFD70\"] = \"\\u0636\\u062E\\u0645\";\n t[\"\\uFD71\"] = \"\\u0637\\u0645\\u062D\";\n t[\"\\uFD72\"] = \"\\u0637\\u0645\\u062D\";\n t[\"\\uFD73\"] = \"\\u0637\\u0645\\u0645\";\n t[\"\\uFD74\"] = \"\\u0637\\u0645\\u064A\";\n t[\"\\uFD75\"] = \"\\u0639\\u062C\\u0645\";\n t[\"\\uFD76\"] = \"\\u0639\\u0645\\u0645\";\n t[\"\\uFD77\"] = \"\\u0639\\u0645\\u0645\";\n t[\"\\uFD78\"] = \"\\u0639\\u0645\\u0649\";\n t[\"\\uFD79\"] = \"\\u063A\\u0645\\u0645\";\n t[\"\\uFD7A\"] = \"\\u063A\\u0645\\u064A\";\n t[\"\\uFD7B\"] = \"\\u063A\\u0645\\u0649\";\n t[\"\\uFD7C\"] = \"\\u0641\\u062E\\u0645\";\n t[\"\\uFD7D\"] = \"\\u0641\\u062E\\u0645\";\n t[\"\\uFD7E\"] = \"\\u0642\\u0645\\u062D\";\n t[\"\\uFD7F\"] = \"\\u0642\\u0645\\u0645\";\n t[\"\\uFD80\"] = \"\\u0644\\u062D\\u0645\";\n t[\"\\uFD81\"] = \"\\u0644\\u062D\\u064A\";\n t[\"\\uFD82\"] = \"\\u0644\\u062D\\u0649\";\n t[\"\\uFD83\"] = \"\\u0644\\u062C\\u062C\";\n t[\"\\uFD84\"] = \"\\u0644\\u062C\\u062C\";\n t[\"\\uFD85\"] = \"\\u0644\\u062E\\u0645\";\n t[\"\\uFD86\"] = \"\\u0644\\u062E\\u0645\";\n t[\"\\uFD87\"] = \"\\u0644\\u0645\\u062D\";\n t[\"\\uFD88\"] = \"\\u0644\\u0645\\u062D\";\n t[\"\\uFD89\"] = \"\\u0645\\u062D\\u062C\";\n t[\"\\uFD8A\"] = \"\\u0645\\u062D\\u0645\";\n t[\"\\uFD8B\"] = \"\\u0645\\u062D\\u064A\";\n t[\"\\uFD8C\"] = \"\\u0645\\u062C\\u062D\";\n t[\"\\uFD8D\"] = \"\\u0645\\u062C\\u0645\";\n t[\"\\uFD8E\"] = \"\\u0645\\u062E\\u062C\";\n t[\"\\uFD8F\"] = \"\\u0645\\u062E\\u0645\";\n t[\"\\uFD92\"] = \"\\u0645\\u062C\\u062E\";\n t[\"\\uFD93\"] = \"\\u0647\\u0645\\u062C\";\n t[\"\\uFD94\"] = \"\\u0647\\u0645\\u0645\";\n t[\"\\uFD95\"] = \"\\u0646\\u062D\\u0645\";\n t[\"\\uFD96\"] = \"\\u0646\\u062D\\u0649\";\n t[\"\\uFD97\"] = \"\\u0646\\u062C\\u0645\";\n t[\"\\uFD98\"] = \"\\u0646\\u062C\\u0645\";\n t[\"\\uFD99\"] = \"\\u0646\\u062C\\u0649\";\n t[\"\\uFD9A\"] = \"\\u0646\\u0645\\u064A\";\n t[\"\\uFD9B\"] = \"\\u0646\\u0645\\u0649\";\n t[\"\\uFD9C\"] = \"\\u064A\\u0645\\u0645\";\n t[\"\\uFD9D\"] = \"\\u064A\\u0645\\u0645\";\n t[\"\\uFD9E\"] = \"\\u0628\\u062E\\u064A\";\n t[\"\\uFD9F\"] = \"\\u062A\\u062C\\u064A\";\n t[\"\\uFDA0\"] = \"\\u062A\\u062C\\u0649\";\n t[\"\\uFDA1\"] = \"\\u062A\\u062E\\u064A\";\n t[\"\\uFDA2\"] = \"\\u062A\\u062E\\u0649\";\n t[\"\\uFDA3\"] = \"\\u062A\\u0645\\u064A\";\n t[\"\\uFDA4\"] = \"\\u062A\\u0645\\u0649\";\n t[\"\\uFDA5\"] = \"\\u062C\\u0645\\u064A\";\n t[\"\\uFDA6\"] = \"\\u062C\\u062D\\u0649\";\n t[\"\\uFDA7\"] = \"\\u062C\\u0645\\u0649\";\n t[\"\\uFDA8\"] = \"\\u0633\\u062E\\u0649\";\n t[\"\\uFDA9\"] = \"\\u0635\\u062D\\u064A\";\n t[\"\\uFDAA\"] = \"\\u0634\\u062D\\u064A\";\n t[\"\\uFDAB\"] = \"\\u0636\\u062D\\u064A\";\n t[\"\\uFDAC\"] = \"\\u0644\\u062C\\u064A\";\n t[\"\\uFDAD\"] = \"\\u0644\\u0645\\u064A\";\n t[\"\\uFDAE\"] = \"\\u064A\\u062D\\u064A\";\n t[\"\\uFDAF\"] = \"\\u064A\\u062C\\u064A\";\n t[\"\\uFDB0\"] = \"\\u064A\\u0645\\u064A\";\n t[\"\\uFDB1\"] = \"\\u0645\\u0645\\u064A\";\n t[\"\\uFDB2\"] = \"\\u0642\\u0645\\u064A\";\n t[\"\\uFDB3\"] = \"\\u0646\\u062D\\u064A\";\n t[\"\\uFDB4\"] = \"\\u0642\\u0645\\u062D\";\n t[\"\\uFDB5\"] = \"\\u0644\\u062D\\u0645\";\n t[\"\\uFDB6\"] = \"\\u0639\\u0645\\u064A\";\n t[\"\\uFDB7\"] = \"\\u0643\\u0645\\u064A\";\n t[\"\\uFDB8\"] = \"\\u0646\\u062C\\u062D\";\n t[\"\\uFDB9\"] = \"\\u0645\\u062E\\u064A\";\n t[\"\\uFDBA\"] = \"\\u0644\\u062C\\u0645\";\n t[\"\\uFDBB\"] = \"\\u0643\\u0645\\u0645\";\n t[\"\\uFDBC\"] = \"\\u0644\\u062C\\u0645\";\n t[\"\\uFDBD\"] = \"\\u0646\\u062C\\u062D\";\n t[\"\\uFDBE\"] = \"\\u062C\\u062D\\u064A\";\n t[\"\\uFDBF\"] = \"\\u062D\\u062C\\u064A\";\n t[\"\\uFDC0\"] = \"\\u0645\\u062C\\u064A\";\n t[\"\\uFDC1\"] = \"\\u0641\\u0645\\u064A\";\n t[\"\\uFDC2\"] = \"\\u0628\\u062D\\u064A\";\n t[\"\\uFDC3\"] = \"\\u0643\\u0645\\u0645\";\n t[\"\\uFDC4\"] = \"\\u0639\\u062C\\u0645\";\n t[\"\\uFDC5\"] = \"\\u0635\\u0645\\u0645\";\n t[\"\\uFDC6\"] = \"\\u0633\\u062E\\u064A\";\n t[\"\\uFDC7\"] = \"\\u0646\\u062C\\u064A\";\n t[\"\\uFE49\"] = \"\\u203E\";\n t[\"\\uFE4A\"] = \"\\u203E\";\n t[\"\\uFE4B\"] = \"\\u203E\";\n t[\"\\uFE4C\"] = \"\\u203E\";\n t[\"\\uFE4D\"] = \"\\u005F\";\n t[\"\\uFE4E\"] = \"\\u005F\";\n t[\"\\uFE4F\"] = \"\\u005F\";\n t[\"\\uFE80\"] = \"\\u0621\";\n t[\"\\uFE81\"] = \"\\u0622\";\n t[\"\\uFE82\"] = \"\\u0622\";\n t[\"\\uFE83\"] = \"\\u0623\";\n t[\"\\uFE84\"] = \"\\u0623\";\n t[\"\\uFE85\"] = \"\\u0624\";\n t[\"\\uFE86\"] = \"\\u0624\";\n t[\"\\uFE87\"] = \"\\u0625\";\n t[\"\\uFE88\"] = \"\\u0625\";\n t[\"\\uFE89\"] = \"\\u0626\";\n t[\"\\uFE8A\"] = \"\\u0626\";\n t[\"\\uFE8B\"] = \"\\u0626\";\n t[\"\\uFE8C\"] = \"\\u0626\";\n t[\"\\uFE8D\"] = \"\\u0627\";\n t[\"\\uFE8E\"] = \"\\u0627\";\n t[\"\\uFE8F\"] = \"\\u0628\";\n t[\"\\uFE90\"] = \"\\u0628\";\n t[\"\\uFE91\"] = \"\\u0628\";\n t[\"\\uFE92\"] = \"\\u0628\";\n t[\"\\uFE93\"] = \"\\u0629\";\n t[\"\\uFE94\"] = \"\\u0629\";\n t[\"\\uFE95\"] = \"\\u062A\";\n t[\"\\uFE96\"] = \"\\u062A\";\n t[\"\\uFE97\"] = \"\\u062A\";\n t[\"\\uFE98\"] = \"\\u062A\";\n t[\"\\uFE99\"] = \"\\u062B\";\n t[\"\\uFE9A\"] = \"\\u062B\";\n t[\"\\uFE9B\"] = \"\\u062B\";\n t[\"\\uFE9C\"] = \"\\u062B\";\n t[\"\\uFE9D\"] = \"\\u062C\";\n t[\"\\uFE9E\"] = \"\\u062C\";\n t[\"\\uFE9F\"] = \"\\u062C\";\n t[\"\\uFEA0\"] = \"\\u062C\";\n t[\"\\uFEA1\"] = \"\\u062D\";\n t[\"\\uFEA2\"] = \"\\u062D\";\n t[\"\\uFEA3\"] = \"\\u062D\";\n t[\"\\uFEA4\"] = \"\\u062D\";\n t[\"\\uFEA5\"] = \"\\u062E\";\n t[\"\\uFEA6\"] = \"\\u062E\";\n t[\"\\uFEA7\"] = \"\\u062E\";\n t[\"\\uFEA8\"] = \"\\u062E\";\n t[\"\\uFEA9\"] = \"\\u062F\";\n t[\"\\uFEAA\"] = \"\\u062F\";\n t[\"\\uFEAB\"] = \"\\u0630\";\n t[\"\\uFEAC\"] = \"\\u0630\";\n t[\"\\uFEAD\"] = \"\\u0631\";\n t[\"\\uFEAE\"] = \"\\u0631\";\n t[\"\\uFEAF\"] = \"\\u0632\";\n t[\"\\uFEB0\"] = \"\\u0632\";\n t[\"\\uFEB1\"] = \"\\u0633\";\n t[\"\\uFEB2\"] = \"\\u0633\";\n t[\"\\uFEB3\"] = \"\\u0633\";\n t[\"\\uFEB4\"] = \"\\u0633\";\n t[\"\\uFEB5\"] = \"\\u0634\";\n t[\"\\uFEB6\"] = \"\\u0634\";\n t[\"\\uFEB7\"] = \"\\u0634\";\n t[\"\\uFEB8\"] = \"\\u0634\";\n t[\"\\uFEB9\"] = \"\\u0635\";\n t[\"\\uFEBA\"] = \"\\u0635\";\n t[\"\\uFEBB\"] = \"\\u0635\";\n t[\"\\uFEBC\"] = \"\\u0635\";\n t[\"\\uFEBD\"] = \"\\u0636\";\n t[\"\\uFEBE\"] = \"\\u0636\";\n t[\"\\uFEBF\"] = \"\\u0636\";\n t[\"\\uFEC0\"] = \"\\u0636\";\n t[\"\\uFEC1\"] = \"\\u0637\";\n t[\"\\uFEC2\"] = \"\\u0637\";\n t[\"\\uFEC3\"] = \"\\u0637\";\n t[\"\\uFEC4\"] = \"\\u0637\";\n t[\"\\uFEC5\"] = \"\\u0638\";\n t[\"\\uFEC6\"] = \"\\u0638\";\n t[\"\\uFEC7\"] = \"\\u0638\";\n t[\"\\uFEC8\"] = \"\\u0638\";\n t[\"\\uFEC9\"] = \"\\u0639\";\n t[\"\\uFECA\"] = \"\\u0639\";\n t[\"\\uFECB\"] = \"\\u0639\";\n t[\"\\uFECC\"] = \"\\u0639\";\n t[\"\\uFECD\"] = \"\\u063A\";\n t[\"\\uFECE\"] = \"\\u063A\";\n t[\"\\uFECF\"] = \"\\u063A\";\n t[\"\\uFED0\"] = \"\\u063A\";\n t[\"\\uFED1\"] = \"\\u0641\";\n t[\"\\uFED2\"] = \"\\u0641\";\n t[\"\\uFED3\"] = \"\\u0641\";\n t[\"\\uFED4\"] = \"\\u0641\";\n t[\"\\uFED5\"] = \"\\u0642\";\n t[\"\\uFED6\"] = \"\\u0642\";\n t[\"\\uFED7\"] = \"\\u0642\";\n t[\"\\uFED8\"] = \"\\u0642\";\n t[\"\\uFED9\"] = \"\\u0643\";\n t[\"\\uFEDA\"] = \"\\u0643\";\n t[\"\\uFEDB\"] = \"\\u0643\";\n t[\"\\uFEDC\"] = \"\\u0643\";\n t[\"\\uFEDD\"] = \"\\u0644\";\n t[\"\\uFEDE\"] = \"\\u0644\";\n t[\"\\uFEDF\"] = \"\\u0644\";\n t[\"\\uFEE0\"] = \"\\u0644\";\n t[\"\\uFEE1\"] = \"\\u0645\";\n t[\"\\uFEE2\"] = \"\\u0645\";\n t[\"\\uFEE3\"] = \"\\u0645\";\n t[\"\\uFEE4\"] = \"\\u0645\";\n t[\"\\uFEE5\"] = \"\\u0646\";\n t[\"\\uFEE6\"] = \"\\u0646\";\n t[\"\\uFEE7\"] = \"\\u0646\";\n t[\"\\uFEE8\"] = \"\\u0646\";\n t[\"\\uFEE9\"] = \"\\u0647\";\n t[\"\\uFEEA\"] = \"\\u0647\";\n t[\"\\uFEEB\"] = \"\\u0647\";\n t[\"\\uFEEC\"] = \"\\u0647\";\n t[\"\\uFEED\"] = \"\\u0648\";\n t[\"\\uFEEE\"] = \"\\u0648\";\n t[\"\\uFEEF\"] = \"\\u0649\";\n t[\"\\uFEF0\"] = \"\\u0649\";\n t[\"\\uFEF1\"] = \"\\u064A\";\n t[\"\\uFEF2\"] = \"\\u064A\";\n t[\"\\uFEF3\"] = \"\\u064A\";\n t[\"\\uFEF4\"] = \"\\u064A\";\n t[\"\\uFEF5\"] = \"\\u0644\\u0622\";\n t[\"\\uFEF6\"] = \"\\u0644\\u0622\";\n t[\"\\uFEF7\"] = \"\\u0644\\u0623\";\n t[\"\\uFEF8\"] = \"\\u0644\\u0623\";\n t[\"\\uFEF9\"] = \"\\u0644\\u0625\";\n t[\"\\uFEFA\"] = \"\\u0644\\u0625\";\n t[\"\\uFEFB\"] = \"\\u0644\\u0627\";\n t[\"\\uFEFC\"] = \"\\u0644\\u0627\";\n});\nfunction reverseIfRtl(chars) {\n var charsLength = chars.length;\n if (charsLength <= 1 || !isRTLRangeFor(chars.charCodeAt(0))) {\n  return chars;\n }\n var s = \"\";\n for (var ii = charsLength - 1; ii >= 0; ii--) {\n  s += chars[ii];\n }\n return s;\n}\nexports.mapSpecialUnicodeValues = mapSpecialUnicodeValues;\nexports.reverseIfRtl = reverseIfRtl;\nexports.getUnicodeRangeFor = getUnicodeRangeFor;\nexports.getNormalizedUnicodes = getNormalizedUnicodes;\nexports.getUnicodeForGlyph = getUnicodeForGlyph;\n\n/***/ }),\n/* 229 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.FontRendererFactory = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _cff_parser = __w_pdfjs_require__(223);\n\nvar _glyphlist = __w_pdfjs_require__(226);\n\nvar _encodings = __w_pdfjs_require__(225);\n\nvar _stream = __w_pdfjs_require__(205);\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar FontRendererFactory = function FontRendererFactoryClosure() {\n  function getLong(data, offset) {\n    return data[offset] << 24 | data[offset + 1] << 16 | data[offset + 2] << 8 | data[offset + 3];\n  }\n\n  function getUshort(data, offset) {\n    return data[offset] << 8 | data[offset + 1];\n  }\n\n  function getSubroutineBias(subrs) {\n    var numSubrs = subrs.length;\n    var bias = 32768;\n\n    if (numSubrs < 1240) {\n      bias = 107;\n    } else if (numSubrs < 33900) {\n      bias = 1131;\n    }\n\n    return bias;\n  }\n\n  function parseCmap(data, start, end) {\n    var offset = getUshort(data, start + 2) === 1 ? getLong(data, start + 8) : getLong(data, start + 16);\n    var format = getUshort(data, start + offset);\n    var ranges, p, i;\n\n    if (format === 4) {\n      getUshort(data, start + offset + 2);\n      var segCount = getUshort(data, start + offset + 6) >> 1;\n      p = start + offset + 14;\n      ranges = [];\n\n      for (i = 0; i < segCount; i++, p += 2) {\n        ranges[i] = {\n          end: getUshort(data, p)\n        };\n      }\n\n      p += 2;\n\n      for (i = 0; i < segCount; i++, p += 2) {\n        ranges[i].start = getUshort(data, p);\n      }\n\n      for (i = 0; i < segCount; i++, p += 2) {\n        ranges[i].idDelta = getUshort(data, p);\n      }\n\n      for (i = 0; i < segCount; i++, p += 2) {\n        var idOffset = getUshort(data, p);\n\n        if (idOffset === 0) {\n          continue;\n        }\n\n        ranges[i].ids = [];\n\n        for (var j = 0, jj = ranges[i].end - ranges[i].start + 1; j < jj; j++) {\n          ranges[i].ids[j] = getUshort(data, p + idOffset);\n          idOffset += 2;\n        }\n      }\n\n      return ranges;\n    } else if (format === 12) {\n      getLong(data, start + offset + 4);\n      var groups = getLong(data, start + offset + 12);\n      p = start + offset + 16;\n      ranges = [];\n\n      for (i = 0; i < groups; i++) {\n        ranges.push({\n          start: getLong(data, p),\n          end: getLong(data, p + 4),\n          idDelta: getLong(data, p + 8) - getLong(data, p)\n        });\n        p += 12;\n      }\n\n      return ranges;\n    }\n\n    throw new _util.FormatError(\"unsupported cmap: \".concat(format));\n  }\n\n  function parseCff(data, start, end, seacAnalysisEnabled) {\n    var properties = {};\n    var parser = new _cff_parser.CFFParser(new _stream.Stream(data, start, end - start), properties, seacAnalysisEnabled);\n    var cff = parser.parse();\n    return {\n      glyphs: cff.charStrings.objects,\n      subrs: cff.topDict.privateDict && cff.topDict.privateDict.subrsIndex && cff.topDict.privateDict.subrsIndex.objects,\n      gsubrs: cff.globalSubrIndex && cff.globalSubrIndex.objects,\n      isCFFCIDFont: cff.isCIDFont,\n      fdSelect: cff.fdSelect,\n      fdArray: cff.fdArray\n    };\n  }\n\n  function parseGlyfTable(glyf, loca, isGlyphLocationsLong) {\n    var itemSize, itemDecode;\n\n    if (isGlyphLocationsLong) {\n      itemSize = 4;\n\n      itemDecode = function fontItemDecodeLong(data, offset) {\n        return data[offset] << 24 | data[offset + 1] << 16 | data[offset + 2] << 8 | data[offset + 3];\n      };\n    } else {\n      itemSize = 2;\n\n      itemDecode = function fontItemDecode(data, offset) {\n        return data[offset] << 9 | data[offset + 1] << 1;\n      };\n    }\n\n    var glyphs = [];\n    var startOffset = itemDecode(loca, 0);\n\n    for (var j = itemSize; j < loca.length; j += itemSize) {\n      var endOffset = itemDecode(loca, j);\n      glyphs.push(glyf.subarray(startOffset, endOffset));\n      startOffset = endOffset;\n    }\n\n    return glyphs;\n  }\n\n  function lookupCmap(ranges, unicode) {\n    var code = unicode.codePointAt(0),\n        gid = 0;\n    var l = 0,\n        r = ranges.length - 1;\n\n    while (l < r) {\n      var c = l + r + 1 >> 1;\n\n      if (code < ranges[c].start) {\n        r = c - 1;\n      } else {\n        l = c;\n      }\n    }\n\n    if (ranges[l].start <= code && code <= ranges[l].end) {\n      gid = ranges[l].idDelta + (ranges[l].ids ? ranges[l].ids[code - ranges[l].start] : code) & 0xffff;\n    }\n\n    return {\n      charCode: code,\n      glyphId: gid\n    };\n  }\n\n  function compileGlyf(code, cmds, font) {\n    function moveTo(x, y) {\n      cmds.push({\n        cmd: \"moveTo\",\n        args: [x, y]\n      });\n    }\n\n    function lineTo(x, y) {\n      cmds.push({\n        cmd: \"lineTo\",\n        args: [x, y]\n      });\n    }\n\n    function quadraticCurveTo(xa, ya, x, y) {\n      cmds.push({\n        cmd: \"quadraticCurveTo\",\n        args: [xa, ya, x, y]\n      });\n    }\n\n    var i = 0;\n    var numberOfContours = (code[i] << 24 | code[i + 1] << 16) >> 16;\n    var flags;\n    var x = 0,\n        y = 0;\n    i += 10;\n\n    if (numberOfContours < 0) {\n      do {\n        flags = code[i] << 8 | code[i + 1];\n        var glyphIndex = code[i + 2] << 8 | code[i + 3];\n        i += 4;\n        var arg1, arg2;\n\n        if (flags & 0x01) {\n          arg1 = (code[i] << 24 | code[i + 1] << 16) >> 16;\n          arg2 = (code[i + 2] << 24 | code[i + 3] << 16) >> 16;\n          i += 4;\n        } else {\n          arg1 = code[i++];\n          arg2 = code[i++];\n        }\n\n        if (flags & 0x02) {\n          x = arg1;\n          y = arg2;\n        } else {\n          x = 0;\n          y = 0;\n        }\n\n        var scaleX = 1,\n            scaleY = 1,\n            scale01 = 0,\n            scale10 = 0;\n\n        if (flags & 0x08) {\n          scaleX = scaleY = (code[i] << 24 | code[i + 1] << 16) / 1073741824;\n          i += 2;\n        } else if (flags & 0x40) {\n          scaleX = (code[i] << 24 | code[i + 1] << 16) / 1073741824;\n          scaleY = (code[i + 2] << 24 | code[i + 3] << 16) / 1073741824;\n          i += 4;\n        } else if (flags & 0x80) {\n          scaleX = (code[i] << 24 | code[i + 1] << 16) / 1073741824;\n          scale01 = (code[i + 2] << 24 | code[i + 3] << 16) / 1073741824;\n          scale10 = (code[i + 4] << 24 | code[i + 5] << 16) / 1073741824;\n          scaleY = (code[i + 6] << 24 | code[i + 7] << 16) / 1073741824;\n          i += 8;\n        }\n\n        var subglyph = font.glyphs[glyphIndex];\n\n        if (subglyph) {\n          cmds.push({\n            cmd: \"save\"\n          });\n          cmds.push({\n            cmd: \"transform\",\n            args: [scaleX, scale01, scale10, scaleY, x, y]\n          });\n          compileGlyf(subglyph, cmds, font);\n          cmds.push({\n            cmd: \"restore\"\n          });\n        }\n      } while (flags & 0x20);\n    } else {\n      var endPtsOfContours = [];\n      var j, jj;\n\n      for (j = 0; j < numberOfContours; j++) {\n        endPtsOfContours.push(code[i] << 8 | code[i + 1]);\n        i += 2;\n      }\n\n      var instructionLength = code[i] << 8 | code[i + 1];\n      i += 2 + instructionLength;\n      var numberOfPoints = endPtsOfContours[endPtsOfContours.length - 1] + 1;\n      var points = [];\n\n      while (points.length < numberOfPoints) {\n        flags = code[i++];\n        var repeat = 1;\n\n        if (flags & 0x08) {\n          repeat += code[i++];\n        }\n\n        while (repeat-- > 0) {\n          points.push({\n            flags: flags\n          });\n        }\n      }\n\n      for (j = 0; j < numberOfPoints; j++) {\n        switch (points[j].flags & 0x12) {\n          case 0x00:\n            x += (code[i] << 24 | code[i + 1] << 16) >> 16;\n            i += 2;\n            break;\n\n          case 0x02:\n            x -= code[i++];\n            break;\n\n          case 0x12:\n            x += code[i++];\n            break;\n        }\n\n        points[j].x = x;\n      }\n\n      for (j = 0; j < numberOfPoints; j++) {\n        switch (points[j].flags & 0x24) {\n          case 0x00:\n            y += (code[i] << 24 | code[i + 1] << 16) >> 16;\n            i += 2;\n            break;\n\n          case 0x04:\n            y -= code[i++];\n            break;\n\n          case 0x24:\n            y += code[i++];\n            break;\n        }\n\n        points[j].y = y;\n      }\n\n      var startPoint = 0;\n\n      for (i = 0; i < numberOfContours; i++) {\n        var endPoint = endPtsOfContours[i];\n        var contour = points.slice(startPoint, endPoint + 1);\n\n        if (contour[0].flags & 1) {\n          contour.push(contour[0]);\n        } else if (contour[contour.length - 1].flags & 1) {\n          contour.unshift(contour[contour.length - 1]);\n        } else {\n          var p = {\n            flags: 1,\n            x: (contour[0].x + contour[contour.length - 1].x) / 2,\n            y: (contour[0].y + contour[contour.length - 1].y) / 2\n          };\n          contour.unshift(p);\n          contour.push(p);\n        }\n\n        moveTo(contour[0].x, contour[0].y);\n\n        for (j = 1, jj = contour.length; j < jj; j++) {\n          if (contour[j].flags & 1) {\n            lineTo(contour[j].x, contour[j].y);\n          } else if (contour[j + 1].flags & 1) {\n            quadraticCurveTo(contour[j].x, contour[j].y, contour[j + 1].x, contour[j + 1].y);\n            j++;\n          } else {\n            quadraticCurveTo(contour[j].x, contour[j].y, (contour[j].x + contour[j + 1].x) / 2, (contour[j].y + contour[j + 1].y) / 2);\n          }\n        }\n\n        startPoint = endPoint + 1;\n      }\n    }\n  }\n\n  function compileCharString(charStringCode, cmds, font, glyphId) {\n    function moveTo(x, y) {\n      cmds.push({\n        cmd: \"moveTo\",\n        args: [x, y]\n      });\n    }\n\n    function lineTo(x, y) {\n      cmds.push({\n        cmd: \"lineTo\",\n        args: [x, y]\n      });\n    }\n\n    function bezierCurveTo(x1, y1, x2, y2, x, y) {\n      cmds.push({\n        cmd: \"bezierCurveTo\",\n        args: [x1, y1, x2, y2, x, y]\n      });\n    }\n\n    var stack = [];\n    var x = 0,\n        y = 0;\n    var stems = 0;\n\n    function parse(code) {\n      var i = 0;\n\n      while (i < code.length) {\n        var stackClean = false;\n        var v = code[i++];\n        var xa, xb, ya, yb, y1, y2, y3, n, subrCode;\n\n        switch (v) {\n          case 1:\n            stems += stack.length >> 1;\n            stackClean = true;\n            break;\n\n          case 3:\n            stems += stack.length >> 1;\n            stackClean = true;\n            break;\n\n          case 4:\n            y += stack.pop();\n            moveTo(x, y);\n            stackClean = true;\n            break;\n\n          case 5:\n            while (stack.length > 0) {\n              x += stack.shift();\n              y += stack.shift();\n              lineTo(x, y);\n            }\n\n            break;\n\n          case 6:\n            while (stack.length > 0) {\n              x += stack.shift();\n              lineTo(x, y);\n\n              if (stack.length === 0) {\n                break;\n              }\n\n              y += stack.shift();\n              lineTo(x, y);\n            }\n\n            break;\n\n          case 7:\n            while (stack.length > 0) {\n              y += stack.shift();\n              lineTo(x, y);\n\n              if (stack.length === 0) {\n                break;\n              }\n\n              x += stack.shift();\n              lineTo(x, y);\n            }\n\n            break;\n\n          case 8:\n            while (stack.length > 0) {\n              xa = x + stack.shift();\n              ya = y + stack.shift();\n              xb = xa + stack.shift();\n              yb = ya + stack.shift();\n              x = xb + stack.shift();\n              y = yb + stack.shift();\n              bezierCurveTo(xa, ya, xb, yb, x, y);\n            }\n\n            break;\n\n          case 10:\n            n = stack.pop();\n            subrCode = null;\n\n            if (font.isCFFCIDFont) {\n              var fdIndex = font.fdSelect.getFDIndex(glyphId);\n\n              if (fdIndex >= 0 && fdIndex < font.fdArray.length) {\n                var fontDict = font.fdArray[fdIndex];\n                var subrs = void 0;\n\n                if (fontDict.privateDict && fontDict.privateDict.subrsIndex) {\n                  subrs = fontDict.privateDict.subrsIndex.objects;\n                }\n\n                if (subrs) {\n                  n += getSubroutineBias(subrs);\n                  subrCode = subrs[n];\n                }\n              } else {\n                (0, _util.warn)(\"Invalid fd index for glyph index.\");\n              }\n            } else {\n              subrCode = font.subrs[n + font.subrsBias];\n            }\n\n            if (subrCode) {\n              parse(subrCode);\n            }\n\n            break;\n\n          case 11:\n            return;\n\n          case 12:\n            v = code[i++];\n\n            switch (v) {\n              case 34:\n                xa = x + stack.shift();\n                xb = xa + stack.shift();\n                y1 = y + stack.shift();\n                x = xb + stack.shift();\n                bezierCurveTo(xa, y, xb, y1, x, y1);\n                xa = x + stack.shift();\n                xb = xa + stack.shift();\n                x = xb + stack.shift();\n                bezierCurveTo(xa, y1, xb, y, x, y);\n                break;\n\n              case 35:\n                xa = x + stack.shift();\n                ya = y + stack.shift();\n                xb = xa + stack.shift();\n                yb = ya + stack.shift();\n                x = xb + stack.shift();\n                y = yb + stack.shift();\n                bezierCurveTo(xa, ya, xb, yb, x, y);\n                xa = x + stack.shift();\n                ya = y + stack.shift();\n                xb = xa + stack.shift();\n                yb = ya + stack.shift();\n                x = xb + stack.shift();\n                y = yb + stack.shift();\n                bezierCurveTo(xa, ya, xb, yb, x, y);\n                stack.pop();\n                break;\n\n              case 36:\n                xa = x + stack.shift();\n                y1 = y + stack.shift();\n                xb = xa + stack.shift();\n                y2 = y1 + stack.shift();\n                x = xb + stack.shift();\n                bezierCurveTo(xa, y1, xb, y2, x, y2);\n                xa = x + stack.shift();\n                xb = xa + stack.shift();\n                y3 = y2 + stack.shift();\n                x = xb + stack.shift();\n                bezierCurveTo(xa, y2, xb, y3, x, y);\n                break;\n\n              case 37:\n                var x0 = x,\n                    y0 = y;\n                xa = x + stack.shift();\n                ya = y + stack.shift();\n                xb = xa + stack.shift();\n                yb = ya + stack.shift();\n                x = xb + stack.shift();\n                y = yb + stack.shift();\n                bezierCurveTo(xa, ya, xb, yb, x, y);\n                xa = x + stack.shift();\n                ya = y + stack.shift();\n                xb = xa + stack.shift();\n                yb = ya + stack.shift();\n                x = xb;\n                y = yb;\n\n                if (Math.abs(x - x0) > Math.abs(y - y0)) {\n                  x += stack.shift();\n                } else {\n                  y += stack.shift();\n                }\n\n                bezierCurveTo(xa, ya, xb, yb, x, y);\n                break;\n\n              default:\n                throw new _util.FormatError(\"unknown operator: 12 \".concat(v));\n            }\n\n            break;\n\n          case 14:\n            if (stack.length >= 4) {\n              var achar = stack.pop();\n              var bchar = stack.pop();\n              y = stack.pop();\n              x = stack.pop();\n              cmds.push({\n                cmd: \"save\"\n              });\n              cmds.push({\n                cmd: \"translate\",\n                args: [x, y]\n              });\n              var cmap = lookupCmap(font.cmap, String.fromCharCode(font.glyphNameMap[_encodings.StandardEncoding[achar]]));\n              compileCharString(font.glyphs[cmap.glyphId], cmds, font, cmap.glyphId);\n              cmds.push({\n                cmd: \"restore\"\n              });\n              cmap = lookupCmap(font.cmap, String.fromCharCode(font.glyphNameMap[_encodings.StandardEncoding[bchar]]));\n              compileCharString(font.glyphs[cmap.glyphId], cmds, font, cmap.glyphId);\n            }\n\n            return;\n\n          case 18:\n            stems += stack.length >> 1;\n            stackClean = true;\n            break;\n\n          case 19:\n            stems += stack.length >> 1;\n            i += stems + 7 >> 3;\n            stackClean = true;\n            break;\n\n          case 20:\n            stems += stack.length >> 1;\n            i += stems + 7 >> 3;\n            stackClean = true;\n            break;\n\n          case 21:\n            y += stack.pop();\n            x += stack.pop();\n            moveTo(x, y);\n            stackClean = true;\n            break;\n\n          case 22:\n            x += stack.pop();\n            moveTo(x, y);\n            stackClean = true;\n            break;\n\n          case 23:\n            stems += stack.length >> 1;\n            stackClean = true;\n            break;\n\n          case 24:\n            while (stack.length > 2) {\n              xa = x + stack.shift();\n              ya = y + stack.shift();\n              xb = xa + stack.shift();\n              yb = ya + stack.shift();\n              x = xb + stack.shift();\n              y = yb + stack.shift();\n              bezierCurveTo(xa, ya, xb, yb, x, y);\n            }\n\n            x += stack.shift();\n            y += stack.shift();\n            lineTo(x, y);\n            break;\n\n          case 25:\n            while (stack.length > 6) {\n              x += stack.shift();\n              y += stack.shift();\n              lineTo(x, y);\n            }\n\n            xa = x + stack.shift();\n            ya = y + stack.shift();\n            xb = xa + stack.shift();\n            yb = ya + stack.shift();\n            x = xb + stack.shift();\n            y = yb + stack.shift();\n            bezierCurveTo(xa, ya, xb, yb, x, y);\n            break;\n\n          case 26:\n            if (stack.length % 2) {\n              x += stack.shift();\n            }\n\n            while (stack.length > 0) {\n              xa = x;\n              ya = y + stack.shift();\n              xb = xa + stack.shift();\n              yb = ya + stack.shift();\n              x = xb;\n              y = yb + stack.shift();\n              bezierCurveTo(xa, ya, xb, yb, x, y);\n            }\n\n            break;\n\n          case 27:\n            if (stack.length % 2) {\n              y += stack.shift();\n            }\n\n            while (stack.length > 0) {\n              xa = x + stack.shift();\n              ya = y;\n              xb = xa + stack.shift();\n              yb = ya + stack.shift();\n              x = xb + stack.shift();\n              y = yb;\n              bezierCurveTo(xa, ya, xb, yb, x, y);\n            }\n\n            break;\n\n          case 28:\n            stack.push((code[i] << 24 | code[i + 1] << 16) >> 16);\n            i += 2;\n            break;\n\n          case 29:\n            n = stack.pop() + font.gsubrsBias;\n            subrCode = font.gsubrs[n];\n\n            if (subrCode) {\n              parse(subrCode);\n            }\n\n            break;\n\n          case 30:\n            while (stack.length > 0) {\n              xa = x;\n              ya = y + stack.shift();\n              xb = xa + stack.shift();\n              yb = ya + stack.shift();\n              x = xb + stack.shift();\n              y = yb + (stack.length === 1 ? stack.shift() : 0);\n              bezierCurveTo(xa, ya, xb, yb, x, y);\n\n              if (stack.length === 0) {\n                break;\n              }\n\n              xa = x + stack.shift();\n              ya = y;\n              xb = xa + stack.shift();\n              yb = ya + stack.shift();\n              y = yb + stack.shift();\n              x = xb + (stack.length === 1 ? stack.shift() : 0);\n              bezierCurveTo(xa, ya, xb, yb, x, y);\n            }\n\n            break;\n\n          case 31:\n            while (stack.length > 0) {\n              xa = x + stack.shift();\n              ya = y;\n              xb = xa + stack.shift();\n              yb = ya + stack.shift();\n              y = yb + stack.shift();\n              x = xb + (stack.length === 1 ? stack.shift() : 0);\n              bezierCurveTo(xa, ya, xb, yb, x, y);\n\n              if (stack.length === 0) {\n                break;\n              }\n\n              xa = x;\n              ya = y + stack.shift();\n              xb = xa + stack.shift();\n              yb = ya + stack.shift();\n              x = xb + stack.shift();\n              y = yb + (stack.length === 1 ? stack.shift() : 0);\n              bezierCurveTo(xa, ya, xb, yb, x, y);\n            }\n\n            break;\n\n          default:\n            if (v < 32) {\n              throw new _util.FormatError(\"unknown operator: \".concat(v));\n            }\n\n            if (v < 247) {\n              stack.push(v - 139);\n            } else if (v < 251) {\n              stack.push((v - 247) * 256 + code[i++] + 108);\n            } else if (v < 255) {\n              stack.push(-(v - 251) * 256 - code[i++] - 108);\n            } else {\n              stack.push((code[i] << 24 | code[i + 1] << 16 | code[i + 2] << 8 | code[i + 3]) / 65536);\n              i += 4;\n            }\n\n            break;\n        }\n\n        if (stackClean) {\n          stack.length = 0;\n        }\n      }\n    }\n\n    parse(charStringCode);\n  }\n\n  var NOOP = [];\n\n  var CompiledFont = /*#__PURE__*/function () {\n    function CompiledFont(fontMatrix) {\n      _classCallCheck(this, CompiledFont);\n\n      if (this.constructor === CompiledFont) {\n        (0, _util.unreachable)(\"Cannot initialize CompiledFont.\");\n      }\n\n      this.fontMatrix = fontMatrix;\n      this.compiledGlyphs = Object.create(null);\n      this.compiledCharCodeToGlyphId = Object.create(null);\n    }\n\n    _createClass(CompiledFont, [{\n      key: \"getPathJs\",\n      value: function getPathJs(unicode) {\n        var cmap = lookupCmap(this.cmap, unicode);\n        var fn = this.compiledGlyphs[cmap.glyphId];\n\n        if (!fn) {\n          fn = this.compileGlyph(this.glyphs[cmap.glyphId], cmap.glyphId);\n          this.compiledGlyphs[cmap.glyphId] = fn;\n        }\n\n        if (this.compiledCharCodeToGlyphId[cmap.charCode] === undefined) {\n          this.compiledCharCodeToGlyphId[cmap.charCode] = cmap.glyphId;\n        }\n\n        return fn;\n      }\n    }, {\n      key: \"compileGlyph\",\n      value: function compileGlyph(code, glyphId) {\n        if (!code || code.length === 0 || code[0] === 14) {\n          return NOOP;\n        }\n\n        var fontMatrix = this.fontMatrix;\n\n        if (this.isCFFCIDFont) {\n          var fdIndex = this.fdSelect.getFDIndex(glyphId);\n\n          if (fdIndex >= 0 && fdIndex < this.fdArray.length) {\n            var fontDict = this.fdArray[fdIndex];\n            fontMatrix = fontDict.getByName(\"FontMatrix\") || _util.FONT_IDENTITY_MATRIX;\n          } else {\n            (0, _util.warn)(\"Invalid fd index for glyph index.\");\n          }\n        }\n\n        var cmds = [];\n        cmds.push({\n          cmd: \"save\"\n        });\n        cmds.push({\n          cmd: \"transform\",\n          args: fontMatrix.slice()\n        });\n        cmds.push({\n          cmd: \"scale\",\n          args: [\"size\", \"-size\"]\n        });\n        this.compileGlyphImpl(code, cmds, glyphId);\n        cmds.push({\n          cmd: \"restore\"\n        });\n        return cmds;\n      }\n    }, {\n      key: \"compileGlyphImpl\",\n      value: function compileGlyphImpl() {\n        (0, _util.unreachable)(\"Children classes should implement this.\");\n      }\n    }, {\n      key: \"hasBuiltPath\",\n      value: function hasBuiltPath(unicode) {\n        var cmap = lookupCmap(this.cmap, unicode);\n        return this.compiledGlyphs[cmap.glyphId] !== undefined && this.compiledCharCodeToGlyphId[cmap.charCode] !== undefined;\n      }\n    }]);\n\n    return CompiledFont;\n  }();\n\n  var TrueTypeCompiled = /*#__PURE__*/function (_CompiledFont) {\n    _inherits(TrueTypeCompiled, _CompiledFont);\n\n    var _super = _createSuper(TrueTypeCompiled);\n\n    function TrueTypeCompiled(glyphs, cmap, fontMatrix) {\n      var _this;\n\n      _classCallCheck(this, TrueTypeCompiled);\n\n      _this = _super.call(this, fontMatrix || [0.000488, 0, 0, 0.000488, 0, 0]);\n      _this.glyphs = glyphs;\n      _this.cmap = cmap;\n      return _this;\n    }\n\n    _createClass(TrueTypeCompiled, [{\n      key: \"compileGlyphImpl\",\n      value: function compileGlyphImpl(code, cmds) {\n        compileGlyf(code, cmds, this);\n      }\n    }]);\n\n    return TrueTypeCompiled;\n  }(CompiledFont);\n\n  var Type2Compiled = /*#__PURE__*/function (_CompiledFont2) {\n    _inherits(Type2Compiled, _CompiledFont2);\n\n    var _super2 = _createSuper(Type2Compiled);\n\n    function Type2Compiled(cffInfo, cmap, fontMatrix, glyphNameMap) {\n      var _this2;\n\n      _classCallCheck(this, Type2Compiled);\n\n      _this2 = _super2.call(this, fontMatrix || [0.001, 0, 0, 0.001, 0, 0]);\n      _this2.glyphs = cffInfo.glyphs;\n      _this2.gsubrs = cffInfo.gsubrs || [];\n      _this2.subrs = cffInfo.subrs || [];\n      _this2.cmap = cmap;\n      _this2.glyphNameMap = glyphNameMap || (0, _glyphlist.getGlyphsUnicode)();\n      _this2.gsubrsBias = getSubroutineBias(_this2.gsubrs);\n      _this2.subrsBias = getSubroutineBias(_this2.subrs);\n      _this2.isCFFCIDFont = cffInfo.isCFFCIDFont;\n      _this2.fdSelect = cffInfo.fdSelect;\n      _this2.fdArray = cffInfo.fdArray;\n      return _this2;\n    }\n\n    _createClass(Type2Compiled, [{\n      key: \"compileGlyphImpl\",\n      value: function compileGlyphImpl(code, cmds, glyphId) {\n        compileCharString(code, cmds, this, glyphId);\n      }\n    }]);\n\n    return Type2Compiled;\n  }(CompiledFont);\n\n  return {\n    create: function FontRendererFactory_create(font, seacAnalysisEnabled) {\n      var data = new Uint8Array(font.data);\n      var cmap, glyf, loca, cff, indexToLocFormat, unitsPerEm;\n      var numTables = getUshort(data, 4);\n\n      for (var i = 0, p = 12; i < numTables; i++, p += 16) {\n        var tag = (0, _util.bytesToString)(data.subarray(p, p + 4));\n        var offset = getLong(data, p + 8);\n        var length = getLong(data, p + 12);\n\n        switch (tag) {\n          case \"cmap\":\n            cmap = parseCmap(data, offset, offset + length);\n            break;\n\n          case \"glyf\":\n            glyf = data.subarray(offset, offset + length);\n            break;\n\n          case \"loca\":\n            loca = data.subarray(offset, offset + length);\n            break;\n\n          case \"head\":\n            unitsPerEm = getUshort(data, offset + 18);\n            indexToLocFormat = getUshort(data, offset + 50);\n            break;\n\n          case \"CFF \":\n            cff = parseCff(data, offset, offset + length, seacAnalysisEnabled);\n            break;\n        }\n      }\n\n      if (glyf) {\n        var fontMatrix = !unitsPerEm ? font.fontMatrix : [1 / unitsPerEm, 0, 0, 1 / unitsPerEm, 0, 0];\n        return new TrueTypeCompiled(parseGlyfTable(glyf, loca, indexToLocFormat), cmap, fontMatrix);\n      }\n\n      return new Type2Compiled(cff, cmap, font.fontMatrix, font.glyphNameMap);\n    }\n  };\n}();\n\nexports.FontRendererFactory = FontRendererFactory;\n\n/***/ }),\n/* 230 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.Type1Parser = void 0;\n\nvar _encodings = __w_pdfjs_require__(225);\n\nvar _core_utils = __w_pdfjs_require__(201);\n\nvar _stream = __w_pdfjs_require__(205);\n\nvar _util = __w_pdfjs_require__(5);\n\nvar HINTING_ENABLED = false;\n\nvar Type1CharString = function Type1CharStringClosure() {\n  var COMMAND_MAP = {\n    hstem: [1],\n    vstem: [3],\n    vmoveto: [4],\n    rlineto: [5],\n    hlineto: [6],\n    vlineto: [7],\n    rrcurveto: [8],\n    callsubr: [10],\n    flex: [12, 35],\n    drop: [12, 18],\n    endchar: [14],\n    rmoveto: [21],\n    hmoveto: [22],\n    vhcurveto: [30],\n    hvcurveto: [31]\n  };\n\n  function Type1CharString() {\n    this.width = 0;\n    this.lsb = 0;\n    this.flexing = false;\n    this.output = [];\n    this.stack = [];\n  }\n\n  Type1CharString.prototype = {\n    convert: function Type1CharString_convert(encoded, subrs, seacAnalysisEnabled) {\n      var count = encoded.length;\n      var error = false;\n      var wx, sbx, subrNumber;\n\n      for (var i = 0; i < count; i++) {\n        var value = encoded[i];\n\n        if (value < 32) {\n          if (value === 12) {\n            value = (value << 8) + encoded[++i];\n          }\n\n          switch (value) {\n            case 1:\n              if (!HINTING_ENABLED) {\n                this.stack = [];\n                break;\n              }\n\n              error = this.executeCommand(2, COMMAND_MAP.hstem);\n              break;\n\n            case 3:\n              if (!HINTING_ENABLED) {\n                this.stack = [];\n                break;\n              }\n\n              error = this.executeCommand(2, COMMAND_MAP.vstem);\n              break;\n\n            case 4:\n              if (this.flexing) {\n                if (this.stack.length < 1) {\n                  error = true;\n                  break;\n                }\n\n                var dy = this.stack.pop();\n                this.stack.push(0, dy);\n                break;\n              }\n\n              error = this.executeCommand(1, COMMAND_MAP.vmoveto);\n              break;\n\n            case 5:\n              error = this.executeCommand(2, COMMAND_MAP.rlineto);\n              break;\n\n            case 6:\n              error = this.executeCommand(1, COMMAND_MAP.hlineto);\n              break;\n\n            case 7:\n              error = this.executeCommand(1, COMMAND_MAP.vlineto);\n              break;\n\n            case 8:\n              error = this.executeCommand(6, COMMAND_MAP.rrcurveto);\n              break;\n\n            case 9:\n              this.stack = [];\n              break;\n\n            case 10:\n              if (this.stack.length < 1) {\n                error = true;\n                break;\n              }\n\n              subrNumber = this.stack.pop();\n\n              if (!subrs[subrNumber]) {\n                error = true;\n                break;\n              }\n\n              error = this.convert(subrs[subrNumber], subrs, seacAnalysisEnabled);\n              break;\n\n            case 11:\n              return error;\n\n            case 13:\n              if (this.stack.length < 2) {\n                error = true;\n                break;\n              }\n\n              wx = this.stack.pop();\n              sbx = this.stack.pop();\n              this.lsb = sbx;\n              this.width = wx;\n              this.stack.push(wx, sbx);\n              error = this.executeCommand(2, COMMAND_MAP.hmoveto);\n              break;\n\n            case 14:\n              this.output.push(COMMAND_MAP.endchar[0]);\n              break;\n\n            case 21:\n              if (this.flexing) {\n                break;\n              }\n\n              error = this.executeCommand(2, COMMAND_MAP.rmoveto);\n              break;\n\n            case 22:\n              if (this.flexing) {\n                this.stack.push(0);\n                break;\n              }\n\n              error = this.executeCommand(1, COMMAND_MAP.hmoveto);\n              break;\n\n            case 30:\n              error = this.executeCommand(4, COMMAND_MAP.vhcurveto);\n              break;\n\n            case 31:\n              error = this.executeCommand(4, COMMAND_MAP.hvcurveto);\n              break;\n\n            case (12 << 8) + 0:\n              this.stack = [];\n              break;\n\n            case (12 << 8) + 1:\n              if (!HINTING_ENABLED) {\n                this.stack = [];\n                break;\n              }\n\n              error = this.executeCommand(2, COMMAND_MAP.vstem);\n              break;\n\n            case (12 << 8) + 2:\n              if (!HINTING_ENABLED) {\n                this.stack = [];\n                break;\n              }\n\n              error = this.executeCommand(2, COMMAND_MAP.hstem);\n              break;\n\n            case (12 << 8) + 6:\n              if (seacAnalysisEnabled) {\n                this.seac = this.stack.splice(-4, 4);\n                error = this.executeCommand(0, COMMAND_MAP.endchar);\n              } else {\n                error = this.executeCommand(4, COMMAND_MAP.endchar);\n              }\n\n              break;\n\n            case (12 << 8) + 7:\n              if (this.stack.length < 4) {\n                error = true;\n                break;\n              }\n\n              this.stack.pop();\n              wx = this.stack.pop();\n              var sby = this.stack.pop();\n              sbx = this.stack.pop();\n              this.lsb = sbx;\n              this.width = wx;\n              this.stack.push(wx, sbx, sby);\n              error = this.executeCommand(3, COMMAND_MAP.rmoveto);\n              break;\n\n            case (12 << 8) + 12:\n              if (this.stack.length < 2) {\n                error = true;\n                break;\n              }\n\n              var num2 = this.stack.pop();\n              var num1 = this.stack.pop();\n              this.stack.push(num1 / num2);\n              break;\n\n            case (12 << 8) + 16:\n              if (this.stack.length < 2) {\n                error = true;\n                break;\n              }\n\n              subrNumber = this.stack.pop();\n              var numArgs = this.stack.pop();\n\n              if (subrNumber === 0 && numArgs === 3) {\n                var flexArgs = this.stack.splice(this.stack.length - 17, 17);\n                this.stack.push(flexArgs[2] + flexArgs[0], flexArgs[3] + flexArgs[1], flexArgs[4], flexArgs[5], flexArgs[6], flexArgs[7], flexArgs[8], flexArgs[9], flexArgs[10], flexArgs[11], flexArgs[12], flexArgs[13], flexArgs[14]);\n                error = this.executeCommand(13, COMMAND_MAP.flex, true);\n                this.flexing = false;\n                this.stack.push(flexArgs[15], flexArgs[16]);\n              } else if (subrNumber === 1 && numArgs === 0) {\n                this.flexing = true;\n              }\n\n              break;\n\n            case (12 << 8) + 17:\n              break;\n\n            case (12 << 8) + 33:\n              this.stack = [];\n              break;\n\n            default:\n              (0, _util.warn)('Unknown type 1 charstring command of \"' + value + '\"');\n              break;\n          }\n\n          if (error) {\n            break;\n          }\n\n          continue;\n        } else if (value <= 246) {\n          value = value - 139;\n        } else if (value <= 250) {\n          value = (value - 247) * 256 + encoded[++i] + 108;\n        } else if (value <= 254) {\n          value = -((value - 251) * 256) - encoded[++i] - 108;\n        } else {\n          value = (encoded[++i] & 0xff) << 24 | (encoded[++i] & 0xff) << 16 | (encoded[++i] & 0xff) << 8 | (encoded[++i] & 0xff) << 0;\n        }\n\n        this.stack.push(value);\n      }\n\n      return error;\n    },\n    executeCommand: function executeCommand(howManyArgs, command, keepStack) {\n      var stackLength = this.stack.length;\n\n      if (howManyArgs > stackLength) {\n        return true;\n      }\n\n      var start = stackLength - howManyArgs;\n\n      for (var i = start; i < stackLength; i++) {\n        var value = this.stack[i];\n\n        if (Number.isInteger(value)) {\n          this.output.push(28, value >> 8 & 0xff, value & 0xff);\n        } else {\n          value = 65536 * value | 0;\n          this.output.push(255, value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff);\n        }\n      }\n\n      this.output.push.apply(this.output, command);\n\n      if (keepStack) {\n        this.stack.splice(start, howManyArgs);\n      } else {\n        this.stack.length = 0;\n      }\n\n      return false;\n    }\n  };\n  return Type1CharString;\n}();\n\nvar Type1Parser = function Type1ParserClosure() {\n  var EEXEC_ENCRYPT_KEY = 55665;\n  var CHAR_STRS_ENCRYPT_KEY = 4330;\n\n  function isHexDigit(code) {\n    return code >= 48 && code <= 57 || code >= 65 && code <= 70 || code >= 97 && code <= 102;\n  }\n\n  function decrypt(data, key, discardNumber) {\n    if (discardNumber >= data.length) {\n      return new Uint8Array(0);\n    }\n\n    var r = key | 0,\n        c1 = 52845,\n        c2 = 22719,\n        i,\n        j;\n\n    for (i = 0; i < discardNumber; i++) {\n      r = (data[i] + r) * c1 + c2 & (1 << 16) - 1;\n    }\n\n    var count = data.length - discardNumber;\n    var decrypted = new Uint8Array(count);\n\n    for (i = discardNumber, j = 0; j < count; i++, j++) {\n      var value = data[i];\n      decrypted[j] = value ^ r >> 8;\n      r = (value + r) * c1 + c2 & (1 << 16) - 1;\n    }\n\n    return decrypted;\n  }\n\n  function decryptAscii(data, key, discardNumber) {\n    var r = key | 0,\n        c1 = 52845,\n        c2 = 22719;\n    var count = data.length,\n        maybeLength = count >>> 1;\n    var decrypted = new Uint8Array(maybeLength);\n    var i, j;\n\n    for (i = 0, j = 0; i < count; i++) {\n      var digit1 = data[i];\n\n      if (!isHexDigit(digit1)) {\n        continue;\n      }\n\n      i++;\n      var digit2;\n\n      while (i < count && !isHexDigit(digit2 = data[i])) {\n        i++;\n      }\n\n      if (i < count) {\n        var value = parseInt(String.fromCharCode(digit1, digit2), 16);\n        decrypted[j++] = value ^ r >> 8;\n        r = (value + r) * c1 + c2 & (1 << 16) - 1;\n      }\n    }\n\n    return decrypted.slice(discardNumber, j);\n  }\n\n  function isSpecial(c) {\n    return c === 0x2f || c === 0x5b || c === 0x5d || c === 0x7b || c === 0x7d || c === 0x28 || c === 0x29;\n  }\n\n  function Type1Parser(stream, encrypted, seacAnalysisEnabled) {\n    if (encrypted) {\n      var data = stream.getBytes();\n      var isBinary = !((isHexDigit(data[0]) || (0, _core_utils.isWhiteSpace)(data[0])) && isHexDigit(data[1]) && isHexDigit(data[2]) && isHexDigit(data[3]) && isHexDigit(data[4]) && isHexDigit(data[5]) && isHexDigit(data[6]) && isHexDigit(data[7]));\n      stream = new _stream.Stream(isBinary ? decrypt(data, EEXEC_ENCRYPT_KEY, 4) : decryptAscii(data, EEXEC_ENCRYPT_KEY, 4));\n    }\n\n    this.seacAnalysisEnabled = !!seacAnalysisEnabled;\n    this.stream = stream;\n    this.nextChar();\n  }\n\n  Type1Parser.prototype = {\n    readNumberArray: function Type1Parser_readNumberArray() {\n      this.getToken();\n      var array = [];\n\n      while (true) {\n        var token = this.getToken();\n\n        if (token === null || token === \"]\" || token === \"}\") {\n          break;\n        }\n\n        array.push(parseFloat(token || 0));\n      }\n\n      return array;\n    },\n    readNumber: function Type1Parser_readNumber() {\n      var token = this.getToken();\n      return parseFloat(token || 0);\n    },\n    readInt: function Type1Parser_readInt() {\n      var token = this.getToken();\n      return parseInt(token || 0, 10) | 0;\n    },\n    readBoolean: function Type1Parser_readBoolean() {\n      var token = this.getToken();\n      return token === \"true\" ? 1 : 0;\n    },\n    nextChar: function Type1_nextChar() {\n      return this.currentChar = this.stream.getByte();\n    },\n    getToken: function Type1Parser_getToken() {\n      var comment = false;\n      var ch = this.currentChar;\n\n      while (true) {\n        if (ch === -1) {\n          return null;\n        }\n\n        if (comment) {\n          if (ch === 0x0a || ch === 0x0d) {\n            comment = false;\n          }\n        } else if (ch === 0x25) {\n          comment = true;\n        } else if (!(0, _core_utils.isWhiteSpace)(ch)) {\n          break;\n        }\n\n        ch = this.nextChar();\n      }\n\n      if (isSpecial(ch)) {\n        this.nextChar();\n        return String.fromCharCode(ch);\n      }\n\n      var token = \"\";\n\n      do {\n        token += String.fromCharCode(ch);\n        ch = this.nextChar();\n      } while (ch >= 0 && !(0, _core_utils.isWhiteSpace)(ch) && !isSpecial(ch));\n\n      return token;\n    },\n    readCharStrings: function Type1Parser_readCharStrings(bytes, lenIV) {\n      if (lenIV === -1) {\n        return bytes;\n      }\n\n      return decrypt(bytes, CHAR_STRS_ENCRYPT_KEY, lenIV);\n    },\n    extractFontProgram: function Type1Parser_extractFontProgram(properties) {\n      var stream = this.stream;\n      var subrs = [],\n          charstrings = [];\n      var privateData = Object.create(null);\n      privateData.lenIV = 4;\n      var program = {\n        subrs: [],\n        charstrings: [],\n        properties: {\n          privateData: privateData\n        }\n      };\n      var token, length, data, lenIV, encoded;\n\n      while ((token = this.getToken()) !== null) {\n        if (token !== \"/\") {\n          continue;\n        }\n\n        token = this.getToken();\n\n        switch (token) {\n          case \"CharStrings\":\n            this.getToken();\n            this.getToken();\n            this.getToken();\n            this.getToken();\n\n            while (true) {\n              token = this.getToken();\n\n              if (token === null || token === \"end\") {\n                break;\n              }\n\n              if (token !== \"/\") {\n                continue;\n              }\n\n              var glyph = this.getToken();\n              length = this.readInt();\n              this.getToken();\n              data = length > 0 ? stream.getBytes(length) : new Uint8Array(0);\n              lenIV = program.properties.privateData.lenIV;\n              encoded = this.readCharStrings(data, lenIV);\n              this.nextChar();\n              token = this.getToken();\n\n              if (token === \"noaccess\") {\n                this.getToken();\n              }\n\n              charstrings.push({\n                glyph: glyph,\n                encoded: encoded\n              });\n            }\n\n            break;\n\n          case \"Subrs\":\n            this.readInt();\n            this.getToken();\n\n            while (this.getToken() === \"dup\") {\n              var index = this.readInt();\n              length = this.readInt();\n              this.getToken();\n              data = length > 0 ? stream.getBytes(length) : new Uint8Array(0);\n              lenIV = program.properties.privateData.lenIV;\n              encoded = this.readCharStrings(data, lenIV);\n              this.nextChar();\n              token = this.getToken();\n\n              if (token === \"noaccess\") {\n                this.getToken();\n              }\n\n              subrs[index] = encoded;\n            }\n\n            break;\n\n          case \"BlueValues\":\n          case \"OtherBlues\":\n          case \"FamilyBlues\":\n          case \"FamilyOtherBlues\":\n            var blueArray = this.readNumberArray();\n\n            if (blueArray.length > 0 && blueArray.length % 2 === 0 && HINTING_ENABLED) {\n              program.properties.privateData[token] = blueArray;\n            }\n\n            break;\n\n          case \"StemSnapH\":\n          case \"StemSnapV\":\n            program.properties.privateData[token] = this.readNumberArray();\n            break;\n\n          case \"StdHW\":\n          case \"StdVW\":\n            program.properties.privateData[token] = this.readNumberArray()[0];\n            break;\n\n          case \"BlueShift\":\n          case \"lenIV\":\n          case \"BlueFuzz\":\n          case \"BlueScale\":\n          case \"LanguageGroup\":\n          case \"ExpansionFactor\":\n            program.properties.privateData[token] = this.readNumber();\n            break;\n\n          case \"ForceBold\":\n            program.properties.privateData[token] = this.readBoolean();\n            break;\n        }\n      }\n\n      for (var i = 0; i < charstrings.length; i++) {\n        glyph = charstrings[i].glyph;\n        encoded = charstrings[i].encoded;\n        var charString = new Type1CharString();\n        var error = charString.convert(encoded, subrs, this.seacAnalysisEnabled);\n        var output = charString.output;\n\n        if (error) {\n          output = [14];\n        }\n\n        var charStringObject = {\n          glyphName: glyph,\n          charstring: output,\n          width: charString.width,\n          lsb: charString.lsb,\n          seac: charString.seac\n        };\n\n        if (glyph === \".notdef\") {\n          program.charstrings.unshift(charStringObject);\n        } else {\n          program.charstrings.push(charStringObject);\n        }\n\n        if (properties.builtInEncoding) {\n          var _index = properties.builtInEncoding.indexOf(glyph);\n\n          if (_index > -1 && properties.widths[_index] === undefined && _index >= properties.firstChar && _index <= properties.lastChar) {\n            properties.widths[_index] = charString.width;\n          }\n        }\n      }\n\n      return program;\n    },\n    extractFontHeader: function Type1Parser_extractFontHeader(properties) {\n      var token;\n\n      while ((token = this.getToken()) !== null) {\n        if (token !== \"/\") {\n          continue;\n        }\n\n        token = this.getToken();\n\n        switch (token) {\n          case \"FontMatrix\":\n            var matrix = this.readNumberArray();\n            properties.fontMatrix = matrix;\n            break;\n\n          case \"Encoding\":\n            var encodingArg = this.getToken();\n            var encoding;\n\n            if (!/^\\d+$/.test(encodingArg)) {\n              encoding = (0, _encodings.getEncoding)(encodingArg);\n            } else {\n              encoding = [];\n              var size = parseInt(encodingArg, 10) | 0;\n              this.getToken();\n\n              for (var j = 0; j < size; j++) {\n                token = this.getToken();\n\n                while (token !== \"dup\" && token !== \"def\") {\n                  token = this.getToken();\n\n                  if (token === null) {\n                    return;\n                  }\n                }\n\n                if (token === \"def\") {\n                  break;\n                }\n\n                var index = this.readInt();\n                this.getToken();\n                var glyph = this.getToken();\n                encoding[index] = glyph;\n                this.getToken();\n              }\n            }\n\n            properties.builtInEncoding = encoding;\n            break;\n\n          case \"FontBBox\":\n            var fontBBox = this.readNumberArray();\n            properties.ascent = Math.max(fontBBox[3], fontBBox[1]);\n            properties.descent = Math.min(fontBBox[1], fontBBox[3]);\n            properties.ascentScaled = true;\n            break;\n        }\n      }\n    }\n  };\n  return Type1Parser;\n}();\n\nexports.Type1Parser = Type1Parser;\n\n/***/ }),\n/* 231 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.getTilingPatternIR = getTilingPatternIR;\nexports.Pattern = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _colorspace = __w_pdfjs_require__(216);\n\nvar _primitives = __w_pdfjs_require__(198);\n\nvar _core_utils = __w_pdfjs_require__(201);\n\nvar ShadingType = {\n  FUNCTION_BASED: 1,\n  AXIAL: 2,\n  RADIAL: 3,\n  FREE_FORM_MESH: 4,\n  LATTICE_FORM_MESH: 5,\n  COONS_PATCH_MESH: 6,\n  TENSOR_PATCH_MESH: 7\n};\n\nvar Pattern = function PatternClosure() {\n  function Pattern() {\n    (0, _util.unreachable)(\"should not call Pattern constructor\");\n  }\n\n  Pattern.prototype = {\n    getPattern: function Pattern_getPattern(ctx) {\n      (0, _util.unreachable)(\"Should not call Pattern.getStyle: \".concat(ctx));\n    }\n  };\n\n  Pattern.parseShading = function (shading, matrix, xref, res, handler, pdfFunctionFactory) {\n    var dict = (0, _primitives.isStream)(shading) ? shading.dict : shading;\n    var type = dict.get(\"ShadingType\");\n\n    try {\n      switch (type) {\n        case ShadingType.AXIAL:\n        case ShadingType.RADIAL:\n          return new Shadings.RadialAxial(dict, matrix, xref, res, pdfFunctionFactory);\n\n        case ShadingType.FREE_FORM_MESH:\n        case ShadingType.LATTICE_FORM_MESH:\n        case ShadingType.COONS_PATCH_MESH:\n        case ShadingType.TENSOR_PATCH_MESH:\n          return new Shadings.Mesh(shading, matrix, xref, res, pdfFunctionFactory);\n\n        default:\n          throw new _util.FormatError(\"Unsupported ShadingType: \" + type);\n      }\n    } catch (ex) {\n      if (ex instanceof _core_utils.MissingDataException) {\n        throw ex;\n      }\n\n      handler.send(\"UnsupportedFeature\", {\n        featureId: _util.UNSUPPORTED_FEATURES.shadingPattern\n      });\n      (0, _util.warn)(ex);\n      return new Shadings.Dummy();\n    }\n  };\n\n  return Pattern;\n}();\n\nexports.Pattern = Pattern;\nvar Shadings = {};\nShadings.SMALL_NUMBER = 1e-6;\n\nShadings.RadialAxial = function RadialAxialClosure() {\n  function RadialAxial(dict, matrix, xref, res, pdfFunctionFactory) {\n    this.matrix = matrix;\n    this.coordsArr = dict.getArray(\"Coords\");\n    this.shadingType = dict.get(\"ShadingType\");\n    this.type = \"Pattern\";\n    var cs = dict.get(\"ColorSpace\", \"CS\");\n    cs = _colorspace.ColorSpace.parse(cs, xref, res, pdfFunctionFactory);\n    this.cs = cs;\n    var bbox = dict.getArray(\"BBox\");\n\n    if (Array.isArray(bbox) && bbox.length === 4) {\n      this.bbox = _util.Util.normalizeRect(bbox);\n    } else {\n      this.bbox = null;\n    }\n\n    var t0 = 0.0,\n        t1 = 1.0;\n\n    if (dict.has(\"Domain\")) {\n      var domainArr = dict.getArray(\"Domain\");\n      t0 = domainArr[0];\n      t1 = domainArr[1];\n    }\n\n    var extendStart = false,\n        extendEnd = false;\n\n    if (dict.has(\"Extend\")) {\n      var extendArr = dict.getArray(\"Extend\");\n      extendStart = extendArr[0];\n      extendEnd = extendArr[1];\n    }\n\n    if (this.shadingType === ShadingType.RADIAL && (!extendStart || !extendEnd)) {\n      var x1 = this.coordsArr[0];\n      var y1 = this.coordsArr[1];\n      var r1 = this.coordsArr[2];\n      var x2 = this.coordsArr[3];\n      var y2 = this.coordsArr[4];\n      var r2 = this.coordsArr[5];\n      var distance = Math.sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2));\n\n      if (r1 <= r2 + distance && r2 <= r1 + distance) {\n        (0, _util.warn)(\"Unsupported radial gradient.\");\n      }\n    }\n\n    this.extendStart = extendStart;\n    this.extendEnd = extendEnd;\n    var fnObj = dict.get(\"Function\");\n    var fn = pdfFunctionFactory.createFromArray(fnObj);\n    var NUMBER_OF_SAMPLES = 10;\n    var step = (t1 - t0) / NUMBER_OF_SAMPLES;\n    var colorStops = this.colorStops = [];\n\n    if (t0 >= t1 || step <= 0) {\n      (0, _util.info)(\"Bad shading domain.\");\n      return;\n    }\n\n    var color = new Float32Array(cs.numComps),\n        ratio = new Float32Array(1);\n    var rgbColor;\n\n    for (var i = 0; i <= NUMBER_OF_SAMPLES; i++) {\n      ratio[0] = t0 + i * step;\n      fn(ratio, 0, color, 0);\n      rgbColor = cs.getRgb(color, 0);\n\n      var cssColor = _util.Util.makeCssRgb(rgbColor[0], rgbColor[1], rgbColor[2]);\n\n      colorStops.push([i / NUMBER_OF_SAMPLES, cssColor]);\n    }\n\n    var background = \"transparent\";\n\n    if (dict.has(\"Background\")) {\n      rgbColor = cs.getRgb(dict.get(\"Background\"), 0);\n      background = _util.Util.makeCssRgb(rgbColor[0], rgbColor[1], rgbColor[2]);\n    }\n\n    if (!extendStart) {\n      colorStops.unshift([0, background]);\n      colorStops[1][0] += Shadings.SMALL_NUMBER;\n    }\n\n    if (!extendEnd) {\n      colorStops[colorStops.length - 1][0] -= Shadings.SMALL_NUMBER;\n      colorStops.push([1, background]);\n    }\n\n    this.colorStops = colorStops;\n  }\n\n  RadialAxial.prototype = {\n    getIR: function RadialAxial_getIR() {\n      var coordsArr = this.coordsArr;\n      var shadingType = this.shadingType;\n      var type, p0, p1, r0, r1;\n\n      if (shadingType === ShadingType.AXIAL) {\n        p0 = [coordsArr[0], coordsArr[1]];\n        p1 = [coordsArr[2], coordsArr[3]];\n        r0 = null;\n        r1 = null;\n        type = \"axial\";\n      } else if (shadingType === ShadingType.RADIAL) {\n        p0 = [coordsArr[0], coordsArr[1]];\n        p1 = [coordsArr[3], coordsArr[4]];\n        r0 = coordsArr[2];\n        r1 = coordsArr[5];\n        type = \"radial\";\n      } else {\n        (0, _util.unreachable)(\"getPattern type unknown: \".concat(shadingType));\n      }\n\n      var matrix = this.matrix;\n\n      if (matrix) {\n        p0 = _util.Util.applyTransform(p0, matrix);\n        p1 = _util.Util.applyTransform(p1, matrix);\n\n        if (shadingType === ShadingType.RADIAL) {\n          var scale = _util.Util.singularValueDecompose2dScale(matrix);\n\n          r0 *= scale[0];\n          r1 *= scale[1];\n        }\n      }\n\n      return [\"RadialAxial\", type, this.bbox, this.colorStops, p0, p1, r0, r1];\n    }\n  };\n  return RadialAxial;\n}();\n\nShadings.Mesh = function MeshClosure() {\n  function MeshStreamReader(stream, context) {\n    this.stream = stream;\n    this.context = context;\n    this.buffer = 0;\n    this.bufferLength = 0;\n    var numComps = context.numComps;\n    this.tmpCompsBuf = new Float32Array(numComps);\n    var csNumComps = context.colorSpace.numComps;\n    this.tmpCsCompsBuf = context.colorFn ? new Float32Array(csNumComps) : this.tmpCompsBuf;\n  }\n\n  MeshStreamReader.prototype = {\n    get hasData() {\n      if (this.stream.end) {\n        return this.stream.pos < this.stream.end;\n      }\n\n      if (this.bufferLength > 0) {\n        return true;\n      }\n\n      var nextByte = this.stream.getByte();\n\n      if (nextByte < 0) {\n        return false;\n      }\n\n      this.buffer = nextByte;\n      this.bufferLength = 8;\n      return true;\n    },\n\n    readBits: function MeshStreamReader_readBits(n) {\n      var buffer = this.buffer;\n      var bufferLength = this.bufferLength;\n\n      if (n === 32) {\n        if (bufferLength === 0) {\n          return (this.stream.getByte() << 24 | this.stream.getByte() << 16 | this.stream.getByte() << 8 | this.stream.getByte()) >>> 0;\n        }\n\n        buffer = buffer << 24 | this.stream.getByte() << 16 | this.stream.getByte() << 8 | this.stream.getByte();\n        var nextByte = this.stream.getByte();\n        this.buffer = nextByte & (1 << bufferLength) - 1;\n        return (buffer << 8 - bufferLength | (nextByte & 0xff) >> bufferLength) >>> 0;\n      }\n\n      if (n === 8 && bufferLength === 0) {\n        return this.stream.getByte();\n      }\n\n      while (bufferLength < n) {\n        buffer = buffer << 8 | this.stream.getByte();\n        bufferLength += 8;\n      }\n\n      bufferLength -= n;\n      this.bufferLength = bufferLength;\n      this.buffer = buffer & (1 << bufferLength) - 1;\n      return buffer >> bufferLength;\n    },\n    align: function MeshStreamReader_align() {\n      this.buffer = 0;\n      this.bufferLength = 0;\n    },\n    readFlag: function MeshStreamReader_readFlag() {\n      return this.readBits(this.context.bitsPerFlag);\n    },\n    readCoordinate: function MeshStreamReader_readCoordinate() {\n      var bitsPerCoordinate = this.context.bitsPerCoordinate;\n      var xi = this.readBits(bitsPerCoordinate);\n      var yi = this.readBits(bitsPerCoordinate);\n      var decode = this.context.decode;\n      var scale = bitsPerCoordinate < 32 ? 1 / ((1 << bitsPerCoordinate) - 1) : 2.3283064365386963e-10;\n      return [xi * scale * (decode[1] - decode[0]) + decode[0], yi * scale * (decode[3] - decode[2]) + decode[2]];\n    },\n    readComponents: function MeshStreamReader_readComponents() {\n      var numComps = this.context.numComps;\n      var bitsPerComponent = this.context.bitsPerComponent;\n      var scale = bitsPerComponent < 32 ? 1 / ((1 << bitsPerComponent) - 1) : 2.3283064365386963e-10;\n      var decode = this.context.decode;\n      var components = this.tmpCompsBuf;\n\n      for (var i = 0, j = 4; i < numComps; i++, j += 2) {\n        var ci = this.readBits(bitsPerComponent);\n        components[i] = ci * scale * (decode[j + 1] - decode[j]) + decode[j];\n      }\n\n      var color = this.tmpCsCompsBuf;\n\n      if (this.context.colorFn) {\n        this.context.colorFn(components, 0, color, 0);\n      }\n\n      return this.context.colorSpace.getRgb(color, 0);\n    }\n  };\n\n  function decodeType4Shading(mesh, reader) {\n    var coords = mesh.coords;\n    var colors = mesh.colors;\n    var operators = [];\n    var ps = [];\n    var verticesLeft = 0;\n\n    while (reader.hasData) {\n      var f = reader.readFlag();\n      var coord = reader.readCoordinate();\n      var color = reader.readComponents();\n\n      if (verticesLeft === 0) {\n        if (!(0 <= f && f <= 2)) {\n          throw new _util.FormatError(\"Unknown type4 flag\");\n        }\n\n        switch (f) {\n          case 0:\n            verticesLeft = 3;\n            break;\n\n          case 1:\n            ps.push(ps[ps.length - 2], ps[ps.length - 1]);\n            verticesLeft = 1;\n            break;\n\n          case 2:\n            ps.push(ps[ps.length - 3], ps[ps.length - 1]);\n            verticesLeft = 1;\n            break;\n        }\n\n        operators.push(f);\n      }\n\n      ps.push(coords.length);\n      coords.push(coord);\n      colors.push(color);\n      verticesLeft--;\n      reader.align();\n    }\n\n    mesh.figures.push({\n      type: \"triangles\",\n      coords: new Int32Array(ps),\n      colors: new Int32Array(ps)\n    });\n  }\n\n  function decodeType5Shading(mesh, reader, verticesPerRow) {\n    var coords = mesh.coords;\n    var colors = mesh.colors;\n    var ps = [];\n\n    while (reader.hasData) {\n      var coord = reader.readCoordinate();\n      var color = reader.readComponents();\n      ps.push(coords.length);\n      coords.push(coord);\n      colors.push(color);\n    }\n\n    mesh.figures.push({\n      type: \"lattice\",\n      coords: new Int32Array(ps),\n      colors: new Int32Array(ps),\n      verticesPerRow: verticesPerRow\n    });\n  }\n\n  var MIN_SPLIT_PATCH_CHUNKS_AMOUNT = 3;\n  var MAX_SPLIT_PATCH_CHUNKS_AMOUNT = 20;\n  var TRIANGLE_DENSITY = 20;\n\n  var getB = function getBClosure() {\n    function buildB(count) {\n      var lut = [];\n\n      for (var i = 0; i <= count; i++) {\n        var t = i / count,\n            t_ = 1 - t;\n        lut.push(new Float32Array([t_ * t_ * t_, 3 * t * t_ * t_, 3 * t * t * t_, t * t * t]));\n      }\n\n      return lut;\n    }\n\n    var cache = [];\n    return function getB(count) {\n      if (!cache[count]) {\n        cache[count] = buildB(count);\n      }\n\n      return cache[count];\n    };\n  }();\n\n  function buildFigureFromPatch(mesh, index) {\n    var figure = mesh.figures[index];\n    (0, _util.assert)(figure.type === \"patch\", \"Unexpected patch mesh figure\");\n    var coords = mesh.coords,\n        colors = mesh.colors;\n    var pi = figure.coords;\n    var ci = figure.colors;\n    var figureMinX = Math.min(coords[pi[0]][0], coords[pi[3]][0], coords[pi[12]][0], coords[pi[15]][0]);\n    var figureMinY = Math.min(coords[pi[0]][1], coords[pi[3]][1], coords[pi[12]][1], coords[pi[15]][1]);\n    var figureMaxX = Math.max(coords[pi[0]][0], coords[pi[3]][0], coords[pi[12]][0], coords[pi[15]][0]);\n    var figureMaxY = Math.max(coords[pi[0]][1], coords[pi[3]][1], coords[pi[12]][1], coords[pi[15]][1]);\n    var splitXBy = Math.ceil((figureMaxX - figureMinX) * TRIANGLE_DENSITY / (mesh.bounds[2] - mesh.bounds[0]));\n    splitXBy = Math.max(MIN_SPLIT_PATCH_CHUNKS_AMOUNT, Math.min(MAX_SPLIT_PATCH_CHUNKS_AMOUNT, splitXBy));\n    var splitYBy = Math.ceil((figureMaxY - figureMinY) * TRIANGLE_DENSITY / (mesh.bounds[3] - mesh.bounds[1]));\n    splitYBy = Math.max(MIN_SPLIT_PATCH_CHUNKS_AMOUNT, Math.min(MAX_SPLIT_PATCH_CHUNKS_AMOUNT, splitYBy));\n    var verticesPerRow = splitXBy + 1;\n    var figureCoords = new Int32Array((splitYBy + 1) * verticesPerRow);\n    var figureColors = new Int32Array((splitYBy + 1) * verticesPerRow);\n    var k = 0;\n    var cl = new Uint8Array(3),\n        cr = new Uint8Array(3);\n    var c0 = colors[ci[0]],\n        c1 = colors[ci[1]],\n        c2 = colors[ci[2]],\n        c3 = colors[ci[3]];\n    var bRow = getB(splitYBy),\n        bCol = getB(splitXBy);\n\n    for (var row = 0; row <= splitYBy; row++) {\n      cl[0] = (c0[0] * (splitYBy - row) + c2[0] * row) / splitYBy | 0;\n      cl[1] = (c0[1] * (splitYBy - row) + c2[1] * row) / splitYBy | 0;\n      cl[2] = (c0[2] * (splitYBy - row) + c2[2] * row) / splitYBy | 0;\n      cr[0] = (c1[0] * (splitYBy - row) + c3[0] * row) / splitYBy | 0;\n      cr[1] = (c1[1] * (splitYBy - row) + c3[1] * row) / splitYBy | 0;\n      cr[2] = (c1[2] * (splitYBy - row) + c3[2] * row) / splitYBy | 0;\n\n      for (var col = 0; col <= splitXBy; col++, k++) {\n        if ((row === 0 || row === splitYBy) && (col === 0 || col === splitXBy)) {\n          continue;\n        }\n\n        var x = 0,\n            y = 0;\n        var q = 0;\n\n        for (var i = 0; i <= 3; i++) {\n          for (var j = 0; j <= 3; j++, q++) {\n            var m = bRow[row][i] * bCol[col][j];\n            x += coords[pi[q]][0] * m;\n            y += coords[pi[q]][1] * m;\n          }\n        }\n\n        figureCoords[k] = coords.length;\n        coords.push([x, y]);\n        figureColors[k] = colors.length;\n        var newColor = new Uint8Array(3);\n        newColor[0] = (cl[0] * (splitXBy - col) + cr[0] * col) / splitXBy | 0;\n        newColor[1] = (cl[1] * (splitXBy - col) + cr[1] * col) / splitXBy | 0;\n        newColor[2] = (cl[2] * (splitXBy - col) + cr[2] * col) / splitXBy | 0;\n        colors.push(newColor);\n      }\n    }\n\n    figureCoords[0] = pi[0];\n    figureColors[0] = ci[0];\n    figureCoords[splitXBy] = pi[3];\n    figureColors[splitXBy] = ci[1];\n    figureCoords[verticesPerRow * splitYBy] = pi[12];\n    figureColors[verticesPerRow * splitYBy] = ci[2];\n    figureCoords[verticesPerRow * splitYBy + splitXBy] = pi[15];\n    figureColors[verticesPerRow * splitYBy + splitXBy] = ci[3];\n    mesh.figures[index] = {\n      type: \"lattice\",\n      coords: figureCoords,\n      colors: figureColors,\n      verticesPerRow: verticesPerRow\n    };\n  }\n\n  function decodeType6Shading(mesh, reader) {\n    var coords = mesh.coords;\n    var colors = mesh.colors;\n    var ps = new Int32Array(16);\n    var cs = new Int32Array(4);\n\n    while (reader.hasData) {\n      var f = reader.readFlag();\n\n      if (!(0 <= f && f <= 3)) {\n        throw new _util.FormatError(\"Unknown type6 flag\");\n      }\n\n      var i, ii;\n      var pi = coords.length;\n\n      for (i = 0, ii = f !== 0 ? 8 : 12; i < ii; i++) {\n        coords.push(reader.readCoordinate());\n      }\n\n      var ci = colors.length;\n\n      for (i = 0, ii = f !== 0 ? 2 : 4; i < ii; i++) {\n        colors.push(reader.readComponents());\n      }\n\n      var tmp1, tmp2, tmp3, tmp4;\n\n      switch (f) {\n        case 0:\n          ps[12] = pi + 3;\n          ps[13] = pi + 4;\n          ps[14] = pi + 5;\n          ps[15] = pi + 6;\n          ps[8] = pi + 2;\n          ps[11] = pi + 7;\n          ps[4] = pi + 1;\n          ps[7] = pi + 8;\n          ps[0] = pi;\n          ps[1] = pi + 11;\n          ps[2] = pi + 10;\n          ps[3] = pi + 9;\n          cs[2] = ci + 1;\n          cs[3] = ci + 2;\n          cs[0] = ci;\n          cs[1] = ci + 3;\n          break;\n\n        case 1:\n          tmp1 = ps[12];\n          tmp2 = ps[13];\n          tmp3 = ps[14];\n          tmp4 = ps[15];\n          ps[12] = tmp4;\n          ps[13] = pi + 0;\n          ps[14] = pi + 1;\n          ps[15] = pi + 2;\n          ps[8] = tmp3;\n          ps[11] = pi + 3;\n          ps[4] = tmp2;\n          ps[7] = pi + 4;\n          ps[0] = tmp1;\n          ps[1] = pi + 7;\n          ps[2] = pi + 6;\n          ps[3] = pi + 5;\n          tmp1 = cs[2];\n          tmp2 = cs[3];\n          cs[2] = tmp2;\n          cs[3] = ci;\n          cs[0] = tmp1;\n          cs[1] = ci + 1;\n          break;\n\n        case 2:\n          tmp1 = ps[15];\n          tmp2 = ps[11];\n          ps[12] = ps[3];\n          ps[13] = pi + 0;\n          ps[14] = pi + 1;\n          ps[15] = pi + 2;\n          ps[8] = ps[7];\n          ps[11] = pi + 3;\n          ps[4] = tmp2;\n          ps[7] = pi + 4;\n          ps[0] = tmp1;\n          ps[1] = pi + 7;\n          ps[2] = pi + 6;\n          ps[3] = pi + 5;\n          tmp1 = cs[3];\n          cs[2] = cs[1];\n          cs[3] = ci;\n          cs[0] = tmp1;\n          cs[1] = ci + 1;\n          break;\n\n        case 3:\n          ps[12] = ps[0];\n          ps[13] = pi + 0;\n          ps[14] = pi + 1;\n          ps[15] = pi + 2;\n          ps[8] = ps[1];\n          ps[11] = pi + 3;\n          ps[4] = ps[2];\n          ps[7] = pi + 4;\n          ps[0] = ps[3];\n          ps[1] = pi + 7;\n          ps[2] = pi + 6;\n          ps[3] = pi + 5;\n          cs[2] = cs[0];\n          cs[3] = ci;\n          cs[0] = cs[1];\n          cs[1] = ci + 1;\n          break;\n      }\n\n      ps[5] = coords.length;\n      coords.push([(-4 * coords[ps[0]][0] - coords[ps[15]][0] + 6 * (coords[ps[4]][0] + coords[ps[1]][0]) - 2 * (coords[ps[12]][0] + coords[ps[3]][0]) + 3 * (coords[ps[13]][0] + coords[ps[7]][0])) / 9, (-4 * coords[ps[0]][1] - coords[ps[15]][1] + 6 * (coords[ps[4]][1] + coords[ps[1]][1]) - 2 * (coords[ps[12]][1] + coords[ps[3]][1]) + 3 * (coords[ps[13]][1] + coords[ps[7]][1])) / 9]);\n      ps[6] = coords.length;\n      coords.push([(-4 * coords[ps[3]][0] - coords[ps[12]][0] + 6 * (coords[ps[2]][0] + coords[ps[7]][0]) - 2 * (coords[ps[0]][0] + coords[ps[15]][0]) + 3 * (coords[ps[4]][0] + coords[ps[14]][0])) / 9, (-4 * coords[ps[3]][1] - coords[ps[12]][1] + 6 * (coords[ps[2]][1] + coords[ps[7]][1]) - 2 * (coords[ps[0]][1] + coords[ps[15]][1]) + 3 * (coords[ps[4]][1] + coords[ps[14]][1])) / 9]);\n      ps[9] = coords.length;\n      coords.push([(-4 * coords[ps[12]][0] - coords[ps[3]][0] + 6 * (coords[ps[8]][0] + coords[ps[13]][0]) - 2 * (coords[ps[0]][0] + coords[ps[15]][0]) + 3 * (coords[ps[11]][0] + coords[ps[1]][0])) / 9, (-4 * coords[ps[12]][1] - coords[ps[3]][1] + 6 * (coords[ps[8]][1] + coords[ps[13]][1]) - 2 * (coords[ps[0]][1] + coords[ps[15]][1]) + 3 * (coords[ps[11]][1] + coords[ps[1]][1])) / 9]);\n      ps[10] = coords.length;\n      coords.push([(-4 * coords[ps[15]][0] - coords[ps[0]][0] + 6 * (coords[ps[11]][0] + coords[ps[14]][0]) - 2 * (coords[ps[12]][0] + coords[ps[3]][0]) + 3 * (coords[ps[2]][0] + coords[ps[8]][0])) / 9, (-4 * coords[ps[15]][1] - coords[ps[0]][1] + 6 * (coords[ps[11]][1] + coords[ps[14]][1]) - 2 * (coords[ps[12]][1] + coords[ps[3]][1]) + 3 * (coords[ps[2]][1] + coords[ps[8]][1])) / 9]);\n      mesh.figures.push({\n        type: \"patch\",\n        coords: new Int32Array(ps),\n        colors: new Int32Array(cs)\n      });\n    }\n  }\n\n  function decodeType7Shading(mesh, reader) {\n    var coords = mesh.coords;\n    var colors = mesh.colors;\n    var ps = new Int32Array(16);\n    var cs = new Int32Array(4);\n\n    while (reader.hasData) {\n      var f = reader.readFlag();\n\n      if (!(0 <= f && f <= 3)) {\n        throw new _util.FormatError(\"Unknown type7 flag\");\n      }\n\n      var i, ii;\n      var pi = coords.length;\n\n      for (i = 0, ii = f !== 0 ? 12 : 16; i < ii; i++) {\n        coords.push(reader.readCoordinate());\n      }\n\n      var ci = colors.length;\n\n      for (i = 0, ii = f !== 0 ? 2 : 4; i < ii; i++) {\n        colors.push(reader.readComponents());\n      }\n\n      var tmp1, tmp2, tmp3, tmp4;\n\n      switch (f) {\n        case 0:\n          ps[12] = pi + 3;\n          ps[13] = pi + 4;\n          ps[14] = pi + 5;\n          ps[15] = pi + 6;\n          ps[8] = pi + 2;\n          ps[9] = pi + 13;\n          ps[10] = pi + 14;\n          ps[11] = pi + 7;\n          ps[4] = pi + 1;\n          ps[5] = pi + 12;\n          ps[6] = pi + 15;\n          ps[7] = pi + 8;\n          ps[0] = pi;\n          ps[1] = pi + 11;\n          ps[2] = pi + 10;\n          ps[3] = pi + 9;\n          cs[2] = ci + 1;\n          cs[3] = ci + 2;\n          cs[0] = ci;\n          cs[1] = ci + 3;\n          break;\n\n        case 1:\n          tmp1 = ps[12];\n          tmp2 = ps[13];\n          tmp3 = ps[14];\n          tmp4 = ps[15];\n          ps[12] = tmp4;\n          ps[13] = pi + 0;\n          ps[14] = pi + 1;\n          ps[15] = pi + 2;\n          ps[8] = tmp3;\n          ps[9] = pi + 9;\n          ps[10] = pi + 10;\n          ps[11] = pi + 3;\n          ps[4] = tmp2;\n          ps[5] = pi + 8;\n          ps[6] = pi + 11;\n          ps[7] = pi + 4;\n          ps[0] = tmp1;\n          ps[1] = pi + 7;\n          ps[2] = pi + 6;\n          ps[3] = pi + 5;\n          tmp1 = cs[2];\n          tmp2 = cs[3];\n          cs[2] = tmp2;\n          cs[3] = ci;\n          cs[0] = tmp1;\n          cs[1] = ci + 1;\n          break;\n\n        case 2:\n          tmp1 = ps[15];\n          tmp2 = ps[11];\n          ps[12] = ps[3];\n          ps[13] = pi + 0;\n          ps[14] = pi + 1;\n          ps[15] = pi + 2;\n          ps[8] = ps[7];\n          ps[9] = pi + 9;\n          ps[10] = pi + 10;\n          ps[11] = pi + 3;\n          ps[4] = tmp2;\n          ps[5] = pi + 8;\n          ps[6] = pi + 11;\n          ps[7] = pi + 4;\n          ps[0] = tmp1;\n          ps[1] = pi + 7;\n          ps[2] = pi + 6;\n          ps[3] = pi + 5;\n          tmp1 = cs[3];\n          cs[2] = cs[1];\n          cs[3] = ci;\n          cs[0] = tmp1;\n          cs[1] = ci + 1;\n          break;\n\n        case 3:\n          ps[12] = ps[0];\n          ps[13] = pi + 0;\n          ps[14] = pi + 1;\n          ps[15] = pi + 2;\n          ps[8] = ps[1];\n          ps[9] = pi + 9;\n          ps[10] = pi + 10;\n          ps[11] = pi + 3;\n          ps[4] = ps[2];\n          ps[5] = pi + 8;\n          ps[6] = pi + 11;\n          ps[7] = pi + 4;\n          ps[0] = ps[3];\n          ps[1] = pi + 7;\n          ps[2] = pi + 6;\n          ps[3] = pi + 5;\n          cs[2] = cs[0];\n          cs[3] = ci;\n          cs[0] = cs[1];\n          cs[1] = ci + 1;\n          break;\n      }\n\n      mesh.figures.push({\n        type: \"patch\",\n        coords: new Int32Array(ps),\n        colors: new Int32Array(cs)\n      });\n    }\n  }\n\n  function updateBounds(mesh) {\n    var minX = mesh.coords[0][0],\n        minY = mesh.coords[0][1],\n        maxX = minX,\n        maxY = minY;\n\n    for (var i = 1, ii = mesh.coords.length; i < ii; i++) {\n      var x = mesh.coords[i][0],\n          y = mesh.coords[i][1];\n      minX = minX > x ? x : minX;\n      minY = minY > y ? y : minY;\n      maxX = maxX < x ? x : maxX;\n      maxY = maxY < y ? y : maxY;\n    }\n\n    mesh.bounds = [minX, minY, maxX, maxY];\n  }\n\n  function packData(mesh) {\n    var i, ii, j, jj;\n    var coords = mesh.coords;\n    var coordsPacked = new Float32Array(coords.length * 2);\n\n    for (i = 0, j = 0, ii = coords.length; i < ii; i++) {\n      var xy = coords[i];\n      coordsPacked[j++] = xy[0];\n      coordsPacked[j++] = xy[1];\n    }\n\n    mesh.coords = coordsPacked;\n    var colors = mesh.colors;\n    var colorsPacked = new Uint8Array(colors.length * 3);\n\n    for (i = 0, j = 0, ii = colors.length; i < ii; i++) {\n      var c = colors[i];\n      colorsPacked[j++] = c[0];\n      colorsPacked[j++] = c[1];\n      colorsPacked[j++] = c[2];\n    }\n\n    mesh.colors = colorsPacked;\n    var figures = mesh.figures;\n\n    for (i = 0, ii = figures.length; i < ii; i++) {\n      var figure = figures[i],\n          ps = figure.coords,\n          cs = figure.colors;\n\n      for (j = 0, jj = ps.length; j < jj; j++) {\n        ps[j] *= 2;\n        cs[j] *= 3;\n      }\n    }\n  }\n\n  function Mesh(stream, matrix, xref, res, pdfFunctionFactory) {\n    if (!(0, _primitives.isStream)(stream)) {\n      throw new _util.FormatError(\"Mesh data is not a stream\");\n    }\n\n    var dict = stream.dict;\n    this.matrix = matrix;\n    this.shadingType = dict.get(\"ShadingType\");\n    this.type = \"Pattern\";\n    var bbox = dict.getArray(\"BBox\");\n\n    if (Array.isArray(bbox) && bbox.length === 4) {\n      this.bbox = _util.Util.normalizeRect(bbox);\n    } else {\n      this.bbox = null;\n    }\n\n    var cs = dict.get(\"ColorSpace\", \"CS\");\n    cs = _colorspace.ColorSpace.parse(cs, xref, res, pdfFunctionFactory);\n    this.cs = cs;\n    this.background = dict.has(\"Background\") ? cs.getRgb(dict.get(\"Background\"), 0) : null;\n    var fnObj = dict.get(\"Function\");\n    var fn = fnObj ? pdfFunctionFactory.createFromArray(fnObj) : null;\n    this.coords = [];\n    this.colors = [];\n    this.figures = [];\n    var decodeContext = {\n      bitsPerCoordinate: dict.get(\"BitsPerCoordinate\"),\n      bitsPerComponent: dict.get(\"BitsPerComponent\"),\n      bitsPerFlag: dict.get(\"BitsPerFlag\"),\n      decode: dict.getArray(\"Decode\"),\n      colorFn: fn,\n      colorSpace: cs,\n      numComps: fn ? 1 : cs.numComps\n    };\n    var reader = new MeshStreamReader(stream, decodeContext);\n    var patchMesh = false;\n\n    switch (this.shadingType) {\n      case ShadingType.FREE_FORM_MESH:\n        decodeType4Shading(this, reader);\n        break;\n\n      case ShadingType.LATTICE_FORM_MESH:\n        var verticesPerRow = dict.get(\"VerticesPerRow\") | 0;\n\n        if (verticesPerRow < 2) {\n          throw new _util.FormatError(\"Invalid VerticesPerRow\");\n        }\n\n        decodeType5Shading(this, reader, verticesPerRow);\n        break;\n\n      case ShadingType.COONS_PATCH_MESH:\n        decodeType6Shading(this, reader);\n        patchMesh = true;\n        break;\n\n      case ShadingType.TENSOR_PATCH_MESH:\n        decodeType7Shading(this, reader);\n        patchMesh = true;\n        break;\n\n      default:\n        (0, _util.unreachable)(\"Unsupported mesh type.\");\n        break;\n    }\n\n    if (patchMesh) {\n      updateBounds(this);\n\n      for (var i = 0, ii = this.figures.length; i < ii; i++) {\n        buildFigureFromPatch(this, i);\n      }\n    }\n\n    updateBounds(this);\n    packData(this);\n  }\n\n  Mesh.prototype = {\n    getIR: function Mesh_getIR() {\n      return [\"Mesh\", this.shadingType, this.coords, this.colors, this.figures, this.bounds, this.matrix, this.bbox, this.background];\n    }\n  };\n  return Mesh;\n}();\n\nShadings.Dummy = function DummyClosure() {\n  function Dummy() {\n    this.type = \"Pattern\";\n  }\n\n  Dummy.prototype = {\n    getIR: function Dummy_getIR() {\n      return [\"Dummy\"];\n    }\n  };\n  return Dummy;\n}();\n\nfunction getTilingPatternIR(operatorList, dict, args) {\n  var matrix = dict.getArray(\"Matrix\");\n\n  var bbox = _util.Util.normalizeRect(dict.getArray(\"BBox\"));\n\n  var xstep = dict.get(\"XStep\");\n  var ystep = dict.get(\"YStep\");\n  var paintType = dict.get(\"PaintType\");\n  var tilingType = dict.get(\"TilingType\");\n\n  if (bbox[2] - bbox[0] === 0 || bbox[3] - bbox[1] === 0) {\n    throw new _util.FormatError(\"Invalid getTilingPatternIR /BBox array: [\".concat(bbox, \"].\"));\n  }\n\n  return [\"TilingPattern\", args, operatorList, matrix, bbox, xstep, ystep, paintType, tilingType];\n}\n\n/***/ }),\n/* 232 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.bidi = bidi;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar baseTypes = [\"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"S\", \"B\", \"S\", \"WS\", \"B\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"B\", \"B\", \"B\", \"S\", \"WS\", \"ON\", \"ON\", \"ET\", \"ET\", \"ET\", \"ON\", \"ON\", \"ON\", \"ON\", \"ON\", \"ES\", \"CS\", \"ES\", \"CS\", \"CS\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"CS\", \"ON\", \"ON\", \"ON\", \"ON\", \"ON\", \"ON\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"ON\", \"ON\", \"ON\", \"ON\", \"ON\", \"ON\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"ON\", \"ON\", \"ON\", \"ON\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"B\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"CS\", \"ON\", \"ET\", \"ET\", \"ET\", \"ET\", \"ON\", \"ON\", \"ON\", \"ON\", \"L\", \"ON\", \"ON\", \"BN\", \"ON\", \"ON\", \"ET\", \"ET\", \"EN\", \"EN\", \"ON\", \"L\", \"ON\", \"ON\", \"ON\", \"EN\", \"L\", \"ON\", \"ON\", \"ON\", \"ON\", \"ON\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"ON\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"ON\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\"];\nvar arabicTypes = [\"AN\", \"AN\", \"AN\", \"AN\", \"AN\", \"AN\", \"ON\", \"ON\", \"AL\", \"ET\", \"ET\", \"AL\", \"CS\", \"AL\", \"ON\", \"ON\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"AL\", \"AL\", \"\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"AN\", \"AN\", \"AN\", \"AN\", \"AN\", \"AN\", \"AN\", \"AN\", \"AN\", \"AN\", \"ET\", \"AN\", \"AN\", \"AL\", \"AL\", \"AL\", \"NSM\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"AN\", \"ON\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"AL\", \"AL\", \"NSM\", \"NSM\", \"ON\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"AL\", \"AL\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\"];\n\nfunction isOdd(i) {\n  return (i & 1) !== 0;\n}\n\nfunction isEven(i) {\n  return (i & 1) === 0;\n}\n\nfunction findUnequal(arr, start, value) {\n  for (var j = start, jj = arr.length; j < jj; ++j) {\n    if (arr[j] !== value) {\n      return j;\n    }\n  }\n\n  return j;\n}\n\nfunction setValues(arr, start, end, value) {\n  for (var j = start; j < end; ++j) {\n    arr[j] = value;\n  }\n}\n\nfunction reverseValues(arr, start, end) {\n  for (var i = start, j = end - 1; i < j; ++i, --j) {\n    var temp = arr[i];\n    arr[i] = arr[j];\n    arr[j] = temp;\n  }\n}\n\nfunction createBidiText(str, isLTR) {\n  var vertical = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n  var dir = \"ltr\";\n\n  if (vertical) {\n    dir = \"ttb\";\n  } else if (!isLTR) {\n    dir = \"rtl\";\n  }\n\n  return {\n    str: str,\n    dir: dir\n  };\n}\n\nvar chars = [];\nvar types = [];\n\nfunction bidi(str, startLevel, vertical) {\n  var isLTR = true;\n  var strLength = str.length;\n\n  if (strLength === 0 || vertical) {\n    return createBidiText(str, isLTR, vertical);\n  }\n\n  chars.length = strLength;\n  types.length = strLength;\n  var numBidi = 0;\n  var i, ii;\n\n  for (i = 0; i < strLength; ++i) {\n    chars[i] = str.charAt(i);\n    var charCode = str.charCodeAt(i);\n    var charType = \"L\";\n\n    if (charCode <= 0x00ff) {\n      charType = baseTypes[charCode];\n    } else if (0x0590 <= charCode && charCode <= 0x05f4) {\n      charType = \"R\";\n    } else if (0x0600 <= charCode && charCode <= 0x06ff) {\n      charType = arabicTypes[charCode & 0xff];\n\n      if (!charType) {\n        (0, _util.warn)(\"Bidi: invalid Unicode character \" + charCode.toString(16));\n      }\n    } else if (0x0700 <= charCode && charCode <= 0x08ac) {\n      charType = \"AL\";\n    }\n\n    if (charType === \"R\" || charType === \"AL\" || charType === \"AN\") {\n      numBidi++;\n    }\n\n    types[i] = charType;\n  }\n\n  if (numBidi === 0) {\n    isLTR = true;\n    return createBidiText(str, isLTR);\n  }\n\n  if (startLevel === -1) {\n    if (numBidi / strLength < 0.3) {\n      isLTR = true;\n      startLevel = 0;\n    } else {\n      isLTR = false;\n      startLevel = 1;\n    }\n  }\n\n  var levels = [];\n\n  for (i = 0; i < strLength; ++i) {\n    levels[i] = startLevel;\n  }\n\n  var e = isOdd(startLevel) ? \"R\" : \"L\";\n  var sor = e;\n  var eor = sor;\n  var lastType = sor;\n\n  for (i = 0; i < strLength; ++i) {\n    if (types[i] === \"NSM\") {\n      types[i] = lastType;\n    } else {\n      lastType = types[i];\n    }\n  }\n\n  lastType = sor;\n  var t;\n\n  for (i = 0; i < strLength; ++i) {\n    t = types[i];\n\n    if (t === \"EN\") {\n      types[i] = lastType === \"AL\" ? \"AN\" : \"EN\";\n    } else if (t === \"R\" || t === \"L\" || t === \"AL\") {\n      lastType = t;\n    }\n  }\n\n  for (i = 0; i < strLength; ++i) {\n    t = types[i];\n\n    if (t === \"AL\") {\n      types[i] = \"R\";\n    }\n  }\n\n  for (i = 1; i < strLength - 1; ++i) {\n    if (types[i] === \"ES\" && types[i - 1] === \"EN\" && types[i + 1] === \"EN\") {\n      types[i] = \"EN\";\n    }\n\n    if (types[i] === \"CS\" && (types[i - 1] === \"EN\" || types[i - 1] === \"AN\") && types[i + 1] === types[i - 1]) {\n      types[i] = types[i - 1];\n    }\n  }\n\n  for (i = 0; i < strLength; ++i) {\n    if (types[i] === \"EN\") {\n      var j;\n\n      for (j = i - 1; j >= 0; --j) {\n        if (types[j] !== \"ET\") {\n          break;\n        }\n\n        types[j] = \"EN\";\n      }\n\n      for (j = i + 1; j < strLength; ++j) {\n        if (types[j] !== \"ET\") {\n          break;\n        }\n\n        types[j] = \"EN\";\n      }\n    }\n  }\n\n  for (i = 0; i < strLength; ++i) {\n    t = types[i];\n\n    if (t === \"WS\" || t === \"ES\" || t === \"ET\" || t === \"CS\") {\n      types[i] = \"ON\";\n    }\n  }\n\n  lastType = sor;\n\n  for (i = 0; i < strLength; ++i) {\n    t = types[i];\n\n    if (t === \"EN\") {\n      types[i] = lastType === \"L\" ? \"L\" : \"EN\";\n    } else if (t === \"R\" || t === \"L\") {\n      lastType = t;\n    }\n  }\n\n  for (i = 0; i < strLength; ++i) {\n    if (types[i] === \"ON\") {\n      var end = findUnequal(types, i + 1, \"ON\");\n      var before = sor;\n\n      if (i > 0) {\n        before = types[i - 1];\n      }\n\n      var after = eor;\n\n      if (end + 1 < strLength) {\n        after = types[end + 1];\n      }\n\n      if (before !== \"L\") {\n        before = \"R\";\n      }\n\n      if (after !== \"L\") {\n        after = \"R\";\n      }\n\n      if (before === after) {\n        setValues(types, i, end, before);\n      }\n\n      i = end - 1;\n    }\n  }\n\n  for (i = 0; i < strLength; ++i) {\n    if (types[i] === \"ON\") {\n      types[i] = e;\n    }\n  }\n\n  for (i = 0; i < strLength; ++i) {\n    t = types[i];\n\n    if (isEven(levels[i])) {\n      if (t === \"R\") {\n        levels[i] += 1;\n      } else if (t === \"AN\" || t === \"EN\") {\n        levels[i] += 2;\n      }\n    } else {\n      if (t === \"L\" || t === \"AN\" || t === \"EN\") {\n        levels[i] += 1;\n      }\n    }\n  }\n\n  var highestLevel = -1;\n  var lowestOddLevel = 99;\n  var level;\n\n  for (i = 0, ii = levels.length; i < ii; ++i) {\n    level = levels[i];\n\n    if (highestLevel < level) {\n      highestLevel = level;\n    }\n\n    if (lowestOddLevel > level && isOdd(level)) {\n      lowestOddLevel = level;\n    }\n  }\n\n  for (level = highestLevel; level >= lowestOddLevel; --level) {\n    var start = -1;\n\n    for (i = 0, ii = levels.length; i < ii; ++i) {\n      if (levels[i] < level) {\n        if (start >= 0) {\n          reverseValues(chars, start, i);\n          start = -1;\n        }\n      } else if (start < 0) {\n        start = i;\n      }\n    }\n\n    if (start >= 0) {\n      reverseValues(chars, start, levels.length);\n    }\n  }\n\n  for (i = 0, ii = chars.length; i < ii; ++i) {\n    var ch = chars[i];\n\n    if (ch === \"<\" || ch === \">\") {\n      chars[i] = \"\";\n    }\n  }\n\n  return createBidiText(chars.join(\"\"), isLTR);\n}\n\n/***/ }),\n/* 233 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.getMetrics = void 0;\n\nvar _core_utils = __w_pdfjs_require__(201);\n\nvar getMetrics = (0, _core_utils.getLookupTableFactory)(function (t) {\n  t.Courier = 600;\n  t[\"Courier-Bold\"] = 600;\n  t[\"Courier-BoldOblique\"] = 600;\n  t[\"Courier-Oblique\"] = 600;\n  t.Helvetica = (0, _core_utils.getLookupTableFactory)(function (t) {\n    t.space = 278;\n    t.exclam = 278;\n    t.quotedbl = 355;\n    t.numbersign = 556;\n    t.dollar = 556;\n    t.percent = 889;\n    t.ampersand = 667;\n    t.quoteright = 222;\n    t.parenleft = 333;\n    t.parenright = 333;\n    t.asterisk = 389;\n    t.plus = 584;\n    t.comma = 278;\n    t.hyphen = 333;\n    t.period = 278;\n    t.slash = 278;\n    t.zero = 556;\n    t.one = 556;\n    t.two = 556;\n    t.three = 556;\n    t.four = 556;\n    t.five = 556;\n    t.six = 556;\n    t.seven = 556;\n    t.eight = 556;\n    t.nine = 556;\n    t.colon = 278;\n    t.semicolon = 278;\n    t.less = 584;\n    t.equal = 584;\n    t.greater = 584;\n    t.question = 556;\n    t.at = 1015;\n    t.A = 667;\n    t.B = 667;\n    t.C = 722;\n    t.D = 722;\n    t.E = 667;\n    t.F = 611;\n    t.G = 778;\n    t.H = 722;\n    t.I = 278;\n    t.J = 500;\n    t.K = 667;\n    t.L = 556;\n    t.M = 833;\n    t.N = 722;\n    t.O = 778;\n    t.P = 667;\n    t.Q = 778;\n    t.R = 722;\n    t.S = 667;\n    t.T = 611;\n    t.U = 722;\n    t.V = 667;\n    t.W = 944;\n    t.X = 667;\n    t.Y = 667;\n    t.Z = 611;\n    t.bracketleft = 278;\n    t.backslash = 278;\n    t.bracketright = 278;\n    t.asciicircum = 469;\n    t.underscore = 556;\n    t.quoteleft = 222;\n    t.a = 556;\n    t.b = 556;\n    t.c = 500;\n    t.d = 556;\n    t.e = 556;\n    t.f = 278;\n    t.g = 556;\n    t.h = 556;\n    t.i = 222;\n    t.j = 222;\n    t.k = 500;\n    t.l = 222;\n    t.m = 833;\n    t.n = 556;\n    t.o = 556;\n    t.p = 556;\n    t.q = 556;\n    t.r = 333;\n    t.s = 500;\n    t.t = 278;\n    t.u = 556;\n    t.v = 500;\n    t.w = 722;\n    t.x = 500;\n    t.y = 500;\n    t.z = 500;\n    t.braceleft = 334;\n    t.bar = 260;\n    t.braceright = 334;\n    t.asciitilde = 584;\n    t.exclamdown = 333;\n    t.cent = 556;\n    t.sterling = 556;\n    t.fraction = 167;\n    t.yen = 556;\n    t.florin = 556;\n    t.section = 556;\n    t.currency = 556;\n    t.quotesingle = 191;\n    t.quotedblleft = 333;\n    t.guillemotleft = 556;\n    t.guilsinglleft = 333;\n    t.guilsinglright = 333;\n    t.fi = 500;\n    t.fl = 500;\n    t.endash = 556;\n    t.dagger = 556;\n    t.daggerdbl = 556;\n    t.periodcentered = 278;\n    t.paragraph = 537;\n    t.bullet = 350;\n    t.quotesinglbase = 222;\n    t.quotedblbase = 333;\n    t.quotedblright = 333;\n    t.guillemotright = 556;\n    t.ellipsis = 1000;\n    t.perthousand = 1000;\n    t.questiondown = 611;\n    t.grave = 333;\n    t.acute = 333;\n    t.circumflex = 333;\n    t.tilde = 333;\n    t.macron = 333;\n    t.breve = 333;\n    t.dotaccent = 333;\n    t.dieresis = 333;\n    t.ring = 333;\n    t.cedilla = 333;\n    t.hungarumlaut = 333;\n    t.ogonek = 333;\n    t.caron = 333;\n    t.emdash = 1000;\n    t.AE = 1000;\n    t.ordfeminine = 370;\n    t.Lslash = 556;\n    t.Oslash = 778;\n    t.OE = 1000;\n    t.ordmasculine = 365;\n    t.ae = 889;\n    t.dotlessi = 278;\n    t.lslash = 222;\n    t.oslash = 611;\n    t.oe = 944;\n    t.germandbls = 611;\n    t.Idieresis = 278;\n    t.eacute = 556;\n    t.abreve = 556;\n    t.uhungarumlaut = 556;\n    t.ecaron = 556;\n    t.Ydieresis = 667;\n    t.divide = 584;\n    t.Yacute = 667;\n    t.Acircumflex = 667;\n    t.aacute = 556;\n    t.Ucircumflex = 722;\n    t.yacute = 500;\n    t.scommaaccent = 500;\n    t.ecircumflex = 556;\n    t.Uring = 722;\n    t.Udieresis = 722;\n    t.aogonek = 556;\n    t.Uacute = 722;\n    t.uogonek = 556;\n    t.Edieresis = 667;\n    t.Dcroat = 722;\n    t.commaaccent = 250;\n    t.copyright = 737;\n    t.Emacron = 667;\n    t.ccaron = 500;\n    t.aring = 556;\n    t.Ncommaaccent = 722;\n    t.lacute = 222;\n    t.agrave = 556;\n    t.Tcommaaccent = 611;\n    t.Cacute = 722;\n    t.atilde = 556;\n    t.Edotaccent = 667;\n    t.scaron = 500;\n    t.scedilla = 500;\n    t.iacute = 278;\n    t.lozenge = 471;\n    t.Rcaron = 722;\n    t.Gcommaaccent = 778;\n    t.ucircumflex = 556;\n    t.acircumflex = 556;\n    t.Amacron = 667;\n    t.rcaron = 333;\n    t.ccedilla = 500;\n    t.Zdotaccent = 611;\n    t.Thorn = 667;\n    t.Omacron = 778;\n    t.Racute = 722;\n    t.Sacute = 667;\n    t.dcaron = 643;\n    t.Umacron = 722;\n    t.uring = 556;\n    t.threesuperior = 333;\n    t.Ograve = 778;\n    t.Agrave = 667;\n    t.Abreve = 667;\n    t.multiply = 584;\n    t.uacute = 556;\n    t.Tcaron = 611;\n    t.partialdiff = 476;\n    t.ydieresis = 500;\n    t.Nacute = 722;\n    t.icircumflex = 278;\n    t.Ecircumflex = 667;\n    t.adieresis = 556;\n    t.edieresis = 556;\n    t.cacute = 500;\n    t.nacute = 556;\n    t.umacron = 556;\n    t.Ncaron = 722;\n    t.Iacute = 278;\n    t.plusminus = 584;\n    t.brokenbar = 260;\n    t.registered = 737;\n    t.Gbreve = 778;\n    t.Idotaccent = 278;\n    t.summation = 600;\n    t.Egrave = 667;\n    t.racute = 333;\n    t.omacron = 556;\n    t.Zacute = 611;\n    t.Zcaron = 611;\n    t.greaterequal = 549;\n    t.Eth = 722;\n    t.Ccedilla = 722;\n    t.lcommaaccent = 222;\n    t.tcaron = 317;\n    t.eogonek = 556;\n    t.Uogonek = 722;\n    t.Aacute = 667;\n    t.Adieresis = 667;\n    t.egrave = 556;\n    t.zacute = 500;\n    t.iogonek = 222;\n    t.Oacute = 778;\n    t.oacute = 556;\n    t.amacron = 556;\n    t.sacute = 500;\n    t.idieresis = 278;\n    t.Ocircumflex = 778;\n    t.Ugrave = 722;\n    t.Delta = 612;\n    t.thorn = 556;\n    t.twosuperior = 333;\n    t.Odieresis = 778;\n    t.mu = 556;\n    t.igrave = 278;\n    t.ohungarumlaut = 556;\n    t.Eogonek = 667;\n    t.dcroat = 556;\n    t.threequarters = 834;\n    t.Scedilla = 667;\n    t.lcaron = 299;\n    t.Kcommaaccent = 667;\n    t.Lacute = 556;\n    t.trademark = 1000;\n    t.edotaccent = 556;\n    t.Igrave = 278;\n    t.Imacron = 278;\n    t.Lcaron = 556;\n    t.onehalf = 834;\n    t.lessequal = 549;\n    t.ocircumflex = 556;\n    t.ntilde = 556;\n    t.Uhungarumlaut = 722;\n    t.Eacute = 667;\n    t.emacron = 556;\n    t.gbreve = 556;\n    t.onequarter = 834;\n    t.Scaron = 667;\n    t.Scommaaccent = 667;\n    t.Ohungarumlaut = 778;\n    t.degree = 400;\n    t.ograve = 556;\n    t.Ccaron = 722;\n    t.ugrave = 556;\n    t.radical = 453;\n    t.Dcaron = 722;\n    t.rcommaaccent = 333;\n    t.Ntilde = 722;\n    t.otilde = 556;\n    t.Rcommaaccent = 722;\n    t.Lcommaaccent = 556;\n    t.Atilde = 667;\n    t.Aogonek = 667;\n    t.Aring = 667;\n    t.Otilde = 778;\n    t.zdotaccent = 500;\n    t.Ecaron = 667;\n    t.Iogonek = 278;\n    t.kcommaaccent = 500;\n    t.minus = 584;\n    t.Icircumflex = 278;\n    t.ncaron = 556;\n    t.tcommaaccent = 278;\n    t.logicalnot = 584;\n    t.odieresis = 556;\n    t.udieresis = 556;\n    t.notequal = 549;\n    t.gcommaaccent = 556;\n    t.eth = 556;\n    t.zcaron = 500;\n    t.ncommaaccent = 556;\n    t.onesuperior = 333;\n    t.imacron = 278;\n    t.Euro = 556;\n  });\n  t[\"Helvetica-Bold\"] = (0, _core_utils.getLookupTableFactory)(function (t) {\n    t.space = 278;\n    t.exclam = 333;\n    t.quotedbl = 474;\n    t.numbersign = 556;\n    t.dollar = 556;\n    t.percent = 889;\n    t.ampersand = 722;\n    t.quoteright = 278;\n    t.parenleft = 333;\n    t.parenright = 333;\n    t.asterisk = 389;\n    t.plus = 584;\n    t.comma = 278;\n    t.hyphen = 333;\n    t.period = 278;\n    t.slash = 278;\n    t.zero = 556;\n    t.one = 556;\n    t.two = 556;\n    t.three = 556;\n    t.four = 556;\n    t.five = 556;\n    t.six = 556;\n    t.seven = 556;\n    t.eight = 556;\n    t.nine = 556;\n    t.colon = 333;\n    t.semicolon = 333;\n    t.less = 584;\n    t.equal = 584;\n    t.greater = 584;\n    t.question = 611;\n    t.at = 975;\n    t.A = 722;\n    t.B = 722;\n    t.C = 722;\n    t.D = 722;\n    t.E = 667;\n    t.F = 611;\n    t.G = 778;\n    t.H = 722;\n    t.I = 278;\n    t.J = 556;\n    t.K = 722;\n    t.L = 611;\n    t.M = 833;\n    t.N = 722;\n    t.O = 778;\n    t.P = 667;\n    t.Q = 778;\n    t.R = 722;\n    t.S = 667;\n    t.T = 611;\n    t.U = 722;\n    t.V = 667;\n    t.W = 944;\n    t.X = 667;\n    t.Y = 667;\n    t.Z = 611;\n    t.bracketleft = 333;\n    t.backslash = 278;\n    t.bracketright = 333;\n    t.asciicircum = 584;\n    t.underscore = 556;\n    t.quoteleft = 278;\n    t.a = 556;\n    t.b = 611;\n    t.c = 556;\n    t.d = 611;\n    t.e = 556;\n    t.f = 333;\n    t.g = 611;\n    t.h = 611;\n    t.i = 278;\n    t.j = 278;\n    t.k = 556;\n    t.l = 278;\n    t.m = 889;\n    t.n = 611;\n    t.o = 611;\n    t.p = 611;\n    t.q = 611;\n    t.r = 389;\n    t.s = 556;\n    t.t = 333;\n    t.u = 611;\n    t.v = 556;\n    t.w = 778;\n    t.x = 556;\n    t.y = 556;\n    t.z = 500;\n    t.braceleft = 389;\n    t.bar = 280;\n    t.braceright = 389;\n    t.asciitilde = 584;\n    t.exclamdown = 333;\n    t.cent = 556;\n    t.sterling = 556;\n    t.fraction = 167;\n    t.yen = 556;\n    t.florin = 556;\n    t.section = 556;\n    t.currency = 556;\n    t.quotesingle = 238;\n    t.quotedblleft = 500;\n    t.guillemotleft = 556;\n    t.guilsinglleft = 333;\n    t.guilsinglright = 333;\n    t.fi = 611;\n    t.fl = 611;\n    t.endash = 556;\n    t.dagger = 556;\n    t.daggerdbl = 556;\n    t.periodcentered = 278;\n    t.paragraph = 556;\n    t.bullet = 350;\n    t.quotesinglbase = 278;\n    t.quotedblbase = 500;\n    t.quotedblright = 500;\n    t.guillemotright = 556;\n    t.ellipsis = 1000;\n    t.perthousand = 1000;\n    t.questiondown = 611;\n    t.grave = 333;\n    t.acute = 333;\n    t.circumflex = 333;\n    t.tilde = 333;\n    t.macron = 333;\n    t.breve = 333;\n    t.dotaccent = 333;\n    t.dieresis = 333;\n    t.ring = 333;\n    t.cedilla = 333;\n    t.hungarumlaut = 333;\n    t.ogonek = 333;\n    t.caron = 333;\n    t.emdash = 1000;\n    t.AE = 1000;\n    t.ordfeminine = 370;\n    t.Lslash = 611;\n    t.Oslash = 778;\n    t.OE = 1000;\n    t.ordmasculine = 365;\n    t.ae = 889;\n    t.dotlessi = 278;\n    t.lslash = 278;\n    t.oslash = 611;\n    t.oe = 944;\n    t.germandbls = 611;\n    t.Idieresis = 278;\n    t.eacute = 556;\n    t.abreve = 556;\n    t.uhungarumlaut = 611;\n    t.ecaron = 556;\n    t.Ydieresis = 667;\n    t.divide = 584;\n    t.Yacute = 667;\n    t.Acircumflex = 722;\n    t.aacute = 556;\n    t.Ucircumflex = 722;\n    t.yacute = 556;\n    t.scommaaccent = 556;\n    t.ecircumflex = 556;\n    t.Uring = 722;\n    t.Udieresis = 722;\n    t.aogonek = 556;\n    t.Uacute = 722;\n    t.uogonek = 611;\n    t.Edieresis = 667;\n    t.Dcroat = 722;\n    t.commaaccent = 250;\n    t.copyright = 737;\n    t.Emacron = 667;\n    t.ccaron = 556;\n    t.aring = 556;\n    t.Ncommaaccent = 722;\n    t.lacute = 278;\n    t.agrave = 556;\n    t.Tcommaaccent = 611;\n    t.Cacute = 722;\n    t.atilde = 556;\n    t.Edotaccent = 667;\n    t.scaron = 556;\n    t.scedilla = 556;\n    t.iacute = 278;\n    t.lozenge = 494;\n    t.Rcaron = 722;\n    t.Gcommaaccent = 778;\n    t.ucircumflex = 611;\n    t.acircumflex = 556;\n    t.Amacron = 722;\n    t.rcaron = 389;\n    t.ccedilla = 556;\n    t.Zdotaccent = 611;\n    t.Thorn = 667;\n    t.Omacron = 778;\n    t.Racute = 722;\n    t.Sacute = 667;\n    t.dcaron = 743;\n    t.Umacron = 722;\n    t.uring = 611;\n    t.threesuperior = 333;\n    t.Ograve = 778;\n    t.Agrave = 722;\n    t.Abreve = 722;\n    t.multiply = 584;\n    t.uacute = 611;\n    t.Tcaron = 611;\n    t.partialdiff = 494;\n    t.ydieresis = 556;\n    t.Nacute = 722;\n    t.icircumflex = 278;\n    t.Ecircumflex = 667;\n    t.adieresis = 556;\n    t.edieresis = 556;\n    t.cacute = 556;\n    t.nacute = 611;\n    t.umacron = 611;\n    t.Ncaron = 722;\n    t.Iacute = 278;\n    t.plusminus = 584;\n    t.brokenbar = 280;\n    t.registered = 737;\n    t.Gbreve = 778;\n    t.Idotaccent = 278;\n    t.summation = 600;\n    t.Egrave = 667;\n    t.racute = 389;\n    t.omacron = 611;\n    t.Zacute = 611;\n    t.Zcaron = 611;\n    t.greaterequal = 549;\n    t.Eth = 722;\n    t.Ccedilla = 722;\n    t.lcommaaccent = 278;\n    t.tcaron = 389;\n    t.eogonek = 556;\n    t.Uogonek = 722;\n    t.Aacute = 722;\n    t.Adieresis = 722;\n    t.egrave = 556;\n    t.zacute = 500;\n    t.iogonek = 278;\n    t.Oacute = 778;\n    t.oacute = 611;\n    t.amacron = 556;\n    t.sacute = 556;\n    t.idieresis = 278;\n    t.Ocircumflex = 778;\n    t.Ugrave = 722;\n    t.Delta = 612;\n    t.thorn = 611;\n    t.twosuperior = 333;\n    t.Odieresis = 778;\n    t.mu = 611;\n    t.igrave = 278;\n    t.ohungarumlaut = 611;\n    t.Eogonek = 667;\n    t.dcroat = 611;\n    t.threequarters = 834;\n    t.Scedilla = 667;\n    t.lcaron = 400;\n    t.Kcommaaccent = 722;\n    t.Lacute = 611;\n    t.trademark = 1000;\n    t.edotaccent = 556;\n    t.Igrave = 278;\n    t.Imacron = 278;\n    t.Lcaron = 611;\n    t.onehalf = 834;\n    t.lessequal = 549;\n    t.ocircumflex = 611;\n    t.ntilde = 611;\n    t.Uhungarumlaut = 722;\n    t.Eacute = 667;\n    t.emacron = 556;\n    t.gbreve = 611;\n    t.onequarter = 834;\n    t.Scaron = 667;\n    t.Scommaaccent = 667;\n    t.Ohungarumlaut = 778;\n    t.degree = 400;\n    t.ograve = 611;\n    t.Ccaron = 722;\n    t.ugrave = 611;\n    t.radical = 549;\n    t.Dcaron = 722;\n    t.rcommaaccent = 389;\n    t.Ntilde = 722;\n    t.otilde = 611;\n    t.Rcommaaccent = 722;\n    t.Lcommaaccent = 611;\n    t.Atilde = 722;\n    t.Aogonek = 722;\n    t.Aring = 722;\n    t.Otilde = 778;\n    t.zdotaccent = 500;\n    t.Ecaron = 667;\n    t.Iogonek = 278;\n    t.kcommaaccent = 556;\n    t.minus = 584;\n    t.Icircumflex = 278;\n    t.ncaron = 611;\n    t.tcommaaccent = 333;\n    t.logicalnot = 584;\n    t.odieresis = 611;\n    t.udieresis = 611;\n    t.notequal = 549;\n    t.gcommaaccent = 611;\n    t.eth = 611;\n    t.zcaron = 500;\n    t.ncommaaccent = 611;\n    t.onesuperior = 333;\n    t.imacron = 278;\n    t.Euro = 556;\n  });\n  t[\"Helvetica-BoldOblique\"] = (0, _core_utils.getLookupTableFactory)(function (t) {\n    t.space = 278;\n    t.exclam = 333;\n    t.quotedbl = 474;\n    t.numbersign = 556;\n    t.dollar = 556;\n    t.percent = 889;\n    t.ampersand = 722;\n    t.quoteright = 278;\n    t.parenleft = 333;\n    t.parenright = 333;\n    t.asterisk = 389;\n    t.plus = 584;\n    t.comma = 278;\n    t.hyphen = 333;\n    t.period = 278;\n    t.slash = 278;\n    t.zero = 556;\n    t.one = 556;\n    t.two = 556;\n    t.three = 556;\n    t.four = 556;\n    t.five = 556;\n    t.six = 556;\n    t.seven = 556;\n    t.eight = 556;\n    t.nine = 556;\n    t.colon = 333;\n    t.semicolon = 333;\n    t.less = 584;\n    t.equal = 584;\n    t.greater = 584;\n    t.question = 611;\n    t.at = 975;\n    t.A = 722;\n    t.B = 722;\n    t.C = 722;\n    t.D = 722;\n    t.E = 667;\n    t.F = 611;\n    t.G = 778;\n    t.H = 722;\n    t.I = 278;\n    t.J = 556;\n    t.K = 722;\n    t.L = 611;\n    t.M = 833;\n    t.N = 722;\n    t.O = 778;\n    t.P = 667;\n    t.Q = 778;\n    t.R = 722;\n    t.S = 667;\n    t.T = 611;\n    t.U = 722;\n    t.V = 667;\n    t.W = 944;\n    t.X = 667;\n    t.Y = 667;\n    t.Z = 611;\n    t.bracketleft = 333;\n    t.backslash = 278;\n    t.bracketright = 333;\n    t.asciicircum = 584;\n    t.underscore = 556;\n    t.quoteleft = 278;\n    t.a = 556;\n    t.b = 611;\n    t.c = 556;\n    t.d = 611;\n    t.e = 556;\n    t.f = 333;\n    t.g = 611;\n    t.h = 611;\n    t.i = 278;\n    t.j = 278;\n    t.k = 556;\n    t.l = 278;\n    t.m = 889;\n    t.n = 611;\n    t.o = 611;\n    t.p = 611;\n    t.q = 611;\n    t.r = 389;\n    t.s = 556;\n    t.t = 333;\n    t.u = 611;\n    t.v = 556;\n    t.w = 778;\n    t.x = 556;\n    t.y = 556;\n    t.z = 500;\n    t.braceleft = 389;\n    t.bar = 280;\n    t.braceright = 389;\n    t.asciitilde = 584;\n    t.exclamdown = 333;\n    t.cent = 556;\n    t.sterling = 556;\n    t.fraction = 167;\n    t.yen = 556;\n    t.florin = 556;\n    t.section = 556;\n    t.currency = 556;\n    t.quotesingle = 238;\n    t.quotedblleft = 500;\n    t.guillemotleft = 556;\n    t.guilsinglleft = 333;\n    t.guilsinglright = 333;\n    t.fi = 611;\n    t.fl = 611;\n    t.endash = 556;\n    t.dagger = 556;\n    t.daggerdbl = 556;\n    t.periodcentered = 278;\n    t.paragraph = 556;\n    t.bullet = 350;\n    t.quotesinglbase = 278;\n    t.quotedblbase = 500;\n    t.quotedblright = 500;\n    t.guillemotright = 556;\n    t.ellipsis = 1000;\n    t.perthousand = 1000;\n    t.questiondown = 611;\n    t.grave = 333;\n    t.acute = 333;\n    t.circumflex = 333;\n    t.tilde = 333;\n    t.macron = 333;\n    t.breve = 333;\n    t.dotaccent = 333;\n    t.dieresis = 333;\n    t.ring = 333;\n    t.cedilla = 333;\n    t.hungarumlaut = 333;\n    t.ogonek = 333;\n    t.caron = 333;\n    t.emdash = 1000;\n    t.AE = 1000;\n    t.ordfeminine = 370;\n    t.Lslash = 611;\n    t.Oslash = 778;\n    t.OE = 1000;\n    t.ordmasculine = 365;\n    t.ae = 889;\n    t.dotlessi = 278;\n    t.lslash = 278;\n    t.oslash = 611;\n    t.oe = 944;\n    t.germandbls = 611;\n    t.Idieresis = 278;\n    t.eacute = 556;\n    t.abreve = 556;\n    t.uhungarumlaut = 611;\n    t.ecaron = 556;\n    t.Ydieresis = 667;\n    t.divide = 584;\n    t.Yacute = 667;\n    t.Acircumflex = 722;\n    t.aacute = 556;\n    t.Ucircumflex = 722;\n    t.yacute = 556;\n    t.scommaaccent = 556;\n    t.ecircumflex = 556;\n    t.Uring = 722;\n    t.Udieresis = 722;\n    t.aogonek = 556;\n    t.Uacute = 722;\n    t.uogonek = 611;\n    t.Edieresis = 667;\n    t.Dcroat = 722;\n    t.commaaccent = 250;\n    t.copyright = 737;\n    t.Emacron = 667;\n    t.ccaron = 556;\n    t.aring = 556;\n    t.Ncommaaccent = 722;\n    t.lacute = 278;\n    t.agrave = 556;\n    t.Tcommaaccent = 611;\n    t.Cacute = 722;\n    t.atilde = 556;\n    t.Edotaccent = 667;\n    t.scaron = 556;\n    t.scedilla = 556;\n    t.iacute = 278;\n    t.lozenge = 494;\n    t.Rcaron = 722;\n    t.Gcommaaccent = 778;\n    t.ucircumflex = 611;\n    t.acircumflex = 556;\n    t.Amacron = 722;\n    t.rcaron = 389;\n    t.ccedilla = 556;\n    t.Zdotaccent = 611;\n    t.Thorn = 667;\n    t.Omacron = 778;\n    t.Racute = 722;\n    t.Sacute = 667;\n    t.dcaron = 743;\n    t.Umacron = 722;\n    t.uring = 611;\n    t.threesuperior = 333;\n    t.Ograve = 778;\n    t.Agrave = 722;\n    t.Abreve = 722;\n    t.multiply = 584;\n    t.uacute = 611;\n    t.Tcaron = 611;\n    t.partialdiff = 494;\n    t.ydieresis = 556;\n    t.Nacute = 722;\n    t.icircumflex = 278;\n    t.Ecircumflex = 667;\n    t.adieresis = 556;\n    t.edieresis = 556;\n    t.cacute = 556;\n    t.nacute = 611;\n    t.umacron = 611;\n    t.Ncaron = 722;\n    t.Iacute = 278;\n    t.plusminus = 584;\n    t.brokenbar = 280;\n    t.registered = 737;\n    t.Gbreve = 778;\n    t.Idotaccent = 278;\n    t.summation = 600;\n    t.Egrave = 667;\n    t.racute = 389;\n    t.omacron = 611;\n    t.Zacute = 611;\n    t.Zcaron = 611;\n    t.greaterequal = 549;\n    t.Eth = 722;\n    t.Ccedilla = 722;\n    t.lcommaaccent = 278;\n    t.tcaron = 389;\n    t.eogonek = 556;\n    t.Uogonek = 722;\n    t.Aacute = 722;\n    t.Adieresis = 722;\n    t.egrave = 556;\n    t.zacute = 500;\n    t.iogonek = 278;\n    t.Oacute = 778;\n    t.oacute = 611;\n    t.amacron = 556;\n    t.sacute = 556;\n    t.idieresis = 278;\n    t.Ocircumflex = 778;\n    t.Ugrave = 722;\n    t.Delta = 612;\n    t.thorn = 611;\n    t.twosuperior = 333;\n    t.Odieresis = 778;\n    t.mu = 611;\n    t.igrave = 278;\n    t.ohungarumlaut = 611;\n    t.Eogonek = 667;\n    t.dcroat = 611;\n    t.threequarters = 834;\n    t.Scedilla = 667;\n    t.lcaron = 400;\n    t.Kcommaaccent = 722;\n    t.Lacute = 611;\n    t.trademark = 1000;\n    t.edotaccent = 556;\n    t.Igrave = 278;\n    t.Imacron = 278;\n    t.Lcaron = 611;\n    t.onehalf = 834;\n    t.lessequal = 549;\n    t.ocircumflex = 611;\n    t.ntilde = 611;\n    t.Uhungarumlaut = 722;\n    t.Eacute = 667;\n    t.emacron = 556;\n    t.gbreve = 611;\n    t.onequarter = 834;\n    t.Scaron = 667;\n    t.Scommaaccent = 667;\n    t.Ohungarumlaut = 778;\n    t.degree = 400;\n    t.ograve = 611;\n    t.Ccaron = 722;\n    t.ugrave = 611;\n    t.radical = 549;\n    t.Dcaron = 722;\n    t.rcommaaccent = 389;\n    t.Ntilde = 722;\n    t.otilde = 611;\n    t.Rcommaaccent = 722;\n    t.Lcommaaccent = 611;\n    t.Atilde = 722;\n    t.Aogonek = 722;\n    t.Aring = 722;\n    t.Otilde = 778;\n    t.zdotaccent = 500;\n    t.Ecaron = 667;\n    t.Iogonek = 278;\n    t.kcommaaccent = 556;\n    t.minus = 584;\n    t.Icircumflex = 278;\n    t.ncaron = 611;\n    t.tcommaaccent = 333;\n    t.logicalnot = 584;\n    t.odieresis = 611;\n    t.udieresis = 611;\n    t.notequal = 549;\n    t.gcommaaccent = 611;\n    t.eth = 611;\n    t.zcaron = 500;\n    t.ncommaaccent = 611;\n    t.onesuperior = 333;\n    t.imacron = 278;\n    t.Euro = 556;\n  });\n  t[\"Helvetica-Oblique\"] = (0, _core_utils.getLookupTableFactory)(function (t) {\n    t.space = 278;\n    t.exclam = 278;\n    t.quotedbl = 355;\n    t.numbersign = 556;\n    t.dollar = 556;\n    t.percent = 889;\n    t.ampersand = 667;\n    t.quoteright = 222;\n    t.parenleft = 333;\n    t.parenright = 333;\n    t.asterisk = 389;\n    t.plus = 584;\n    t.comma = 278;\n    t.hyphen = 333;\n    t.period = 278;\n    t.slash = 278;\n    t.zero = 556;\n    t.one = 556;\n    t.two = 556;\n    t.three = 556;\n    t.four = 556;\n    t.five = 556;\n    t.six = 556;\n    t.seven = 556;\n    t.eight = 556;\n    t.nine = 556;\n    t.colon = 278;\n    t.semicolon = 278;\n    t.less = 584;\n    t.equal = 584;\n    t.greater = 584;\n    t.question = 556;\n    t.at = 1015;\n    t.A = 667;\n    t.B = 667;\n    t.C = 722;\n    t.D = 722;\n    t.E = 667;\n    t.F = 611;\n    t.G = 778;\n    t.H = 722;\n    t.I = 278;\n    t.J = 500;\n    t.K = 667;\n    t.L = 556;\n    t.M = 833;\n    t.N = 722;\n    t.O = 778;\n    t.P = 667;\n    t.Q = 778;\n    t.R = 722;\n    t.S = 667;\n    t.T = 611;\n    t.U = 722;\n    t.V = 667;\n    t.W = 944;\n    t.X = 667;\n    t.Y = 667;\n    t.Z = 611;\n    t.bracketleft = 278;\n    t.backslash = 278;\n    t.bracketright = 278;\n    t.asciicircum = 469;\n    t.underscore = 556;\n    t.quoteleft = 222;\n    t.a = 556;\n    t.b = 556;\n    t.c = 500;\n    t.d = 556;\n    t.e = 556;\n    t.f = 278;\n    t.g = 556;\n    t.h = 556;\n    t.i = 222;\n    t.j = 222;\n    t.k = 500;\n    t.l = 222;\n    t.m = 833;\n    t.n = 556;\n    t.o = 556;\n    t.p = 556;\n    t.q = 556;\n    t.r = 333;\n    t.s = 500;\n    t.t = 278;\n    t.u = 556;\n    t.v = 500;\n    t.w = 722;\n    t.x = 500;\n    t.y = 500;\n    t.z = 500;\n    t.braceleft = 334;\n    t.bar = 260;\n    t.braceright = 334;\n    t.asciitilde = 584;\n    t.exclamdown = 333;\n    t.cent = 556;\n    t.sterling = 556;\n    t.fraction = 167;\n    t.yen = 556;\n    t.florin = 556;\n    t.section = 556;\n    t.currency = 556;\n    t.quotesingle = 191;\n    t.quotedblleft = 333;\n    t.guillemotleft = 556;\n    t.guilsinglleft = 333;\n    t.guilsinglright = 333;\n    t.fi = 500;\n    t.fl = 500;\n    t.endash = 556;\n    t.dagger = 556;\n    t.daggerdbl = 556;\n    t.periodcentered = 278;\n    t.paragraph = 537;\n    t.bullet = 350;\n    t.quotesinglbase = 222;\n    t.quotedblbase = 333;\n    t.quotedblright = 333;\n    t.guillemotright = 556;\n    t.ellipsis = 1000;\n    t.perthousand = 1000;\n    t.questiondown = 611;\n    t.grave = 333;\n    t.acute = 333;\n    t.circumflex = 333;\n    t.tilde = 333;\n    t.macron = 333;\n    t.breve = 333;\n    t.dotaccent = 333;\n    t.dieresis = 333;\n    t.ring = 333;\n    t.cedilla = 333;\n    t.hungarumlaut = 333;\n    t.ogonek = 333;\n    t.caron = 333;\n    t.emdash = 1000;\n    t.AE = 1000;\n    t.ordfeminine = 370;\n    t.Lslash = 556;\n    t.Oslash = 778;\n    t.OE = 1000;\n    t.ordmasculine = 365;\n    t.ae = 889;\n    t.dotlessi = 278;\n    t.lslash = 222;\n    t.oslash = 611;\n    t.oe = 944;\n    t.germandbls = 611;\n    t.Idieresis = 278;\n    t.eacute = 556;\n    t.abreve = 556;\n    t.uhungarumlaut = 556;\n    t.ecaron = 556;\n    t.Ydieresis = 667;\n    t.divide = 584;\n    t.Yacute = 667;\n    t.Acircumflex = 667;\n    t.aacute = 556;\n    t.Ucircumflex = 722;\n    t.yacute = 500;\n    t.scommaaccent = 500;\n    t.ecircumflex = 556;\n    t.Uring = 722;\n    t.Udieresis = 722;\n    t.aogonek = 556;\n    t.Uacute = 722;\n    t.uogonek = 556;\n    t.Edieresis = 667;\n    t.Dcroat = 722;\n    t.commaaccent = 250;\n    t.copyright = 737;\n    t.Emacron = 667;\n    t.ccaron = 500;\n    t.aring = 556;\n    t.Ncommaaccent = 722;\n    t.lacute = 222;\n    t.agrave = 556;\n    t.Tcommaaccent = 611;\n    t.Cacute = 722;\n    t.atilde = 556;\n    t.Edotaccent = 667;\n    t.scaron = 500;\n    t.scedilla = 500;\n    t.iacute = 278;\n    t.lozenge = 471;\n    t.Rcaron = 722;\n    t.Gcommaaccent = 778;\n    t.ucircumflex = 556;\n    t.acircumflex = 556;\n    t.Amacron = 667;\n    t.rcaron = 333;\n    t.ccedilla = 500;\n    t.Zdotaccent = 611;\n    t.Thorn = 667;\n    t.Omacron = 778;\n    t.Racute = 722;\n    t.Sacute = 667;\n    t.dcaron = 643;\n    t.Umacron = 722;\n    t.uring = 556;\n    t.threesuperior = 333;\n    t.Ograve = 778;\n    t.Agrave = 667;\n    t.Abreve = 667;\n    t.multiply = 584;\n    t.uacute = 556;\n    t.Tcaron = 611;\n    t.partialdiff = 476;\n    t.ydieresis = 500;\n    t.Nacute = 722;\n    t.icircumflex = 278;\n    t.Ecircumflex = 667;\n    t.adieresis = 556;\n    t.edieresis = 556;\n    t.cacute = 500;\n    t.nacute = 556;\n    t.umacron = 556;\n    t.Ncaron = 722;\n    t.Iacute = 278;\n    t.plusminus = 584;\n    t.brokenbar = 260;\n    t.registered = 737;\n    t.Gbreve = 778;\n    t.Idotaccent = 278;\n    t.summation = 600;\n    t.Egrave = 667;\n    t.racute = 333;\n    t.omacron = 556;\n    t.Zacute = 611;\n    t.Zcaron = 611;\n    t.greaterequal = 549;\n    t.Eth = 722;\n    t.Ccedilla = 722;\n    t.lcommaaccent = 222;\n    t.tcaron = 317;\n    t.eogonek = 556;\n    t.Uogonek = 722;\n    t.Aacute = 667;\n    t.Adieresis = 667;\n    t.egrave = 556;\n    t.zacute = 500;\n    t.iogonek = 222;\n    t.Oacute = 778;\n    t.oacute = 556;\n    t.amacron = 556;\n    t.sacute = 500;\n    t.idieresis = 278;\n    t.Ocircumflex = 778;\n    t.Ugrave = 722;\n    t.Delta = 612;\n    t.thorn = 556;\n    t.twosuperior = 333;\n    t.Odieresis = 778;\n    t.mu = 556;\n    t.igrave = 278;\n    t.ohungarumlaut = 556;\n    t.Eogonek = 667;\n    t.dcroat = 556;\n    t.threequarters = 834;\n    t.Scedilla = 667;\n    t.lcaron = 299;\n    t.Kcommaaccent = 667;\n    t.Lacute = 556;\n    t.trademark = 1000;\n    t.edotaccent = 556;\n    t.Igrave = 278;\n    t.Imacron = 278;\n    t.Lcaron = 556;\n    t.onehalf = 834;\n    t.lessequal = 549;\n    t.ocircumflex = 556;\n    t.ntilde = 556;\n    t.Uhungarumlaut = 722;\n    t.Eacute = 667;\n    t.emacron = 556;\n    t.gbreve = 556;\n    t.onequarter = 834;\n    t.Scaron = 667;\n    t.Scommaaccent = 667;\n    t.Ohungarumlaut = 778;\n    t.degree = 400;\n    t.ograve = 556;\n    t.Ccaron = 722;\n    t.ugrave = 556;\n    t.radical = 453;\n    t.Dcaron = 722;\n    t.rcommaaccent = 333;\n    t.Ntilde = 722;\n    t.otilde = 556;\n    t.Rcommaaccent = 722;\n    t.Lcommaaccent = 556;\n    t.Atilde = 667;\n    t.Aogonek = 667;\n    t.Aring = 667;\n    t.Otilde = 778;\n    t.zdotaccent = 500;\n    t.Ecaron = 667;\n    t.Iogonek = 278;\n    t.kcommaaccent = 500;\n    t.minus = 584;\n    t.Icircumflex = 278;\n    t.ncaron = 556;\n    t.tcommaaccent = 278;\n    t.logicalnot = 584;\n    t.odieresis = 556;\n    t.udieresis = 556;\n    t.notequal = 549;\n    t.gcommaaccent = 556;\n    t.eth = 556;\n    t.zcaron = 500;\n    t.ncommaaccent = 556;\n    t.onesuperior = 333;\n    t.imacron = 278;\n    t.Euro = 556;\n  });\n  t.Symbol = (0, _core_utils.getLookupTableFactory)(function (t) {\n    t.space = 250;\n    t.exclam = 333;\n    t.universal = 713;\n    t.numbersign = 500;\n    t.existential = 549;\n    t.percent = 833;\n    t.ampersand = 778;\n    t.suchthat = 439;\n    t.parenleft = 333;\n    t.parenright = 333;\n    t.asteriskmath = 500;\n    t.plus = 549;\n    t.comma = 250;\n    t.minus = 549;\n    t.period = 250;\n    t.slash = 278;\n    t.zero = 500;\n    t.one = 500;\n    t.two = 500;\n    t.three = 500;\n    t.four = 500;\n    t.five = 500;\n    t.six = 500;\n    t.seven = 500;\n    t.eight = 500;\n    t.nine = 500;\n    t.colon = 278;\n    t.semicolon = 278;\n    t.less = 549;\n    t.equal = 549;\n    t.greater = 549;\n    t.question = 444;\n    t.congruent = 549;\n    t.Alpha = 722;\n    t.Beta = 667;\n    t.Chi = 722;\n    t.Delta = 612;\n    t.Epsilon = 611;\n    t.Phi = 763;\n    t.Gamma = 603;\n    t.Eta = 722;\n    t.Iota = 333;\n    t.theta1 = 631;\n    t.Kappa = 722;\n    t.Lambda = 686;\n    t.Mu = 889;\n    t.Nu = 722;\n    t.Omicron = 722;\n    t.Pi = 768;\n    t.Theta = 741;\n    t.Rho = 556;\n    t.Sigma = 592;\n    t.Tau = 611;\n    t.Upsilon = 690;\n    t.sigma1 = 439;\n    t.Omega = 768;\n    t.Xi = 645;\n    t.Psi = 795;\n    t.Zeta = 611;\n    t.bracketleft = 333;\n    t.therefore = 863;\n    t.bracketright = 333;\n    t.perpendicular = 658;\n    t.underscore = 500;\n    t.radicalex = 500;\n    t.alpha = 631;\n    t.beta = 549;\n    t.chi = 549;\n    t.delta = 494;\n    t.epsilon = 439;\n    t.phi = 521;\n    t.gamma = 411;\n    t.eta = 603;\n    t.iota = 329;\n    t.phi1 = 603;\n    t.kappa = 549;\n    t.lambda = 549;\n    t.mu = 576;\n    t.nu = 521;\n    t.omicron = 549;\n    t.pi = 549;\n    t.theta = 521;\n    t.rho = 549;\n    t.sigma = 603;\n    t.tau = 439;\n    t.upsilon = 576;\n    t.omega1 = 713;\n    t.omega = 686;\n    t.xi = 493;\n    t.psi = 686;\n    t.zeta = 494;\n    t.braceleft = 480;\n    t.bar = 200;\n    t.braceright = 480;\n    t.similar = 549;\n    t.Euro = 750;\n    t.Upsilon1 = 620;\n    t.minute = 247;\n    t.lessequal = 549;\n    t.fraction = 167;\n    t.infinity = 713;\n    t.florin = 500;\n    t.club = 753;\n    t.diamond = 753;\n    t.heart = 753;\n    t.spade = 753;\n    t.arrowboth = 1042;\n    t.arrowleft = 987;\n    t.arrowup = 603;\n    t.arrowright = 987;\n    t.arrowdown = 603;\n    t.degree = 400;\n    t.plusminus = 549;\n    t.second = 411;\n    t.greaterequal = 549;\n    t.multiply = 549;\n    t.proportional = 713;\n    t.partialdiff = 494;\n    t.bullet = 460;\n    t.divide = 549;\n    t.notequal = 549;\n    t.equivalence = 549;\n    t.approxequal = 549;\n    t.ellipsis = 1000;\n    t.arrowvertex = 603;\n    t.arrowhorizex = 1000;\n    t.carriagereturn = 658;\n    t.aleph = 823;\n    t.Ifraktur = 686;\n    t.Rfraktur = 795;\n    t.weierstrass = 987;\n    t.circlemultiply = 768;\n    t.circleplus = 768;\n    t.emptyset = 823;\n    t.intersection = 768;\n    t.union = 768;\n    t.propersuperset = 713;\n    t.reflexsuperset = 713;\n    t.notsubset = 713;\n    t.propersubset = 713;\n    t.reflexsubset = 713;\n    t.element = 713;\n    t.notelement = 713;\n    t.angle = 768;\n    t.gradient = 713;\n    t.registerserif = 790;\n    t.copyrightserif = 790;\n    t.trademarkserif = 890;\n    t.product = 823;\n    t.radical = 549;\n    t.dotmath = 250;\n    t.logicalnot = 713;\n    t.logicaland = 603;\n    t.logicalor = 603;\n    t.arrowdblboth = 1042;\n    t.arrowdblleft = 987;\n    t.arrowdblup = 603;\n    t.arrowdblright = 987;\n    t.arrowdbldown = 603;\n    t.lozenge = 494;\n    t.angleleft = 329;\n    t.registersans = 790;\n    t.copyrightsans = 790;\n    t.trademarksans = 786;\n    t.summation = 713;\n    t.parenlefttp = 384;\n    t.parenleftex = 384;\n    t.parenleftbt = 384;\n    t.bracketlefttp = 384;\n    t.bracketleftex = 384;\n    t.bracketleftbt = 384;\n    t.bracelefttp = 494;\n    t.braceleftmid = 494;\n    t.braceleftbt = 494;\n    t.braceex = 494;\n    t.angleright = 329;\n    t.integral = 274;\n    t.integraltp = 686;\n    t.integralex = 686;\n    t.integralbt = 686;\n    t.parenrighttp = 384;\n    t.parenrightex = 384;\n    t.parenrightbt = 384;\n    t.bracketrighttp = 384;\n    t.bracketrightex = 384;\n    t.bracketrightbt = 384;\n    t.bracerighttp = 494;\n    t.bracerightmid = 494;\n    t.bracerightbt = 494;\n    t.apple = 790;\n  });\n  t[\"Times-Roman\"] = (0, _core_utils.getLookupTableFactory)(function (t) {\n    t.space = 250;\n    t.exclam = 333;\n    t.quotedbl = 408;\n    t.numbersign = 500;\n    t.dollar = 500;\n    t.percent = 833;\n    t.ampersand = 778;\n    t.quoteright = 333;\n    t.parenleft = 333;\n    t.parenright = 333;\n    t.asterisk = 500;\n    t.plus = 564;\n    t.comma = 250;\n    t.hyphen = 333;\n    t.period = 250;\n    t.slash = 278;\n    t.zero = 500;\n    t.one = 500;\n    t.two = 500;\n    t.three = 500;\n    t.four = 500;\n    t.five = 500;\n    t.six = 500;\n    t.seven = 500;\n    t.eight = 500;\n    t.nine = 500;\n    t.colon = 278;\n    t.semicolon = 278;\n    t.less = 564;\n    t.equal = 564;\n    t.greater = 564;\n    t.question = 444;\n    t.at = 921;\n    t.A = 722;\n    t.B = 667;\n    t.C = 667;\n    t.D = 722;\n    t.E = 611;\n    t.F = 556;\n    t.G = 722;\n    t.H = 722;\n    t.I = 333;\n    t.J = 389;\n    t.K = 722;\n    t.L = 611;\n    t.M = 889;\n    t.N = 722;\n    t.O = 722;\n    t.P = 556;\n    t.Q = 722;\n    t.R = 667;\n    t.S = 556;\n    t.T = 611;\n    t.U = 722;\n    t.V = 722;\n    t.W = 944;\n    t.X = 722;\n    t.Y = 722;\n    t.Z = 611;\n    t.bracketleft = 333;\n    t.backslash = 278;\n    t.bracketright = 333;\n    t.asciicircum = 469;\n    t.underscore = 500;\n    t.quoteleft = 333;\n    t.a = 444;\n    t.b = 500;\n    t.c = 444;\n    t.d = 500;\n    t.e = 444;\n    t.f = 333;\n    t.g = 500;\n    t.h = 500;\n    t.i = 278;\n    t.j = 278;\n    t.k = 500;\n    t.l = 278;\n    t.m = 778;\n    t.n = 500;\n    t.o = 500;\n    t.p = 500;\n    t.q = 500;\n    t.r = 333;\n    t.s = 389;\n    t.t = 278;\n    t.u = 500;\n    t.v = 500;\n    t.w = 722;\n    t.x = 500;\n    t.y = 500;\n    t.z = 444;\n    t.braceleft = 480;\n    t.bar = 200;\n    t.braceright = 480;\n    t.asciitilde = 541;\n    t.exclamdown = 333;\n    t.cent = 500;\n    t.sterling = 500;\n    t.fraction = 167;\n    t.yen = 500;\n    t.florin = 500;\n    t.section = 500;\n    t.currency = 500;\n    t.quotesingle = 180;\n    t.quotedblleft = 444;\n    t.guillemotleft = 500;\n    t.guilsinglleft = 333;\n    t.guilsinglright = 333;\n    t.fi = 556;\n    t.fl = 556;\n    t.endash = 500;\n    t.dagger = 500;\n    t.daggerdbl = 500;\n    t.periodcentered = 250;\n    t.paragraph = 453;\n    t.bullet = 350;\n    t.quotesinglbase = 333;\n    t.quotedblbase = 444;\n    t.quotedblright = 444;\n    t.guillemotright = 500;\n    t.ellipsis = 1000;\n    t.perthousand = 1000;\n    t.questiondown = 444;\n    t.grave = 333;\n    t.acute = 333;\n    t.circumflex = 333;\n    t.tilde = 333;\n    t.macron = 333;\n    t.breve = 333;\n    t.dotaccent = 333;\n    t.dieresis = 333;\n    t.ring = 333;\n    t.cedilla = 333;\n    t.hungarumlaut = 333;\n    t.ogonek = 333;\n    t.caron = 333;\n    t.emdash = 1000;\n    t.AE = 889;\n    t.ordfeminine = 276;\n    t.Lslash = 611;\n    t.Oslash = 722;\n    t.OE = 889;\n    t.ordmasculine = 310;\n    t.ae = 667;\n    t.dotlessi = 278;\n    t.lslash = 278;\n    t.oslash = 500;\n    t.oe = 722;\n    t.germandbls = 500;\n    t.Idieresis = 333;\n    t.eacute = 444;\n    t.abreve = 444;\n    t.uhungarumlaut = 500;\n    t.ecaron = 444;\n    t.Ydieresis = 722;\n    t.divide = 564;\n    t.Yacute = 722;\n    t.Acircumflex = 722;\n    t.aacute = 444;\n    t.Ucircumflex = 722;\n    t.yacute = 500;\n    t.scommaaccent = 389;\n    t.ecircumflex = 444;\n    t.Uring = 722;\n    t.Udieresis = 722;\n    t.aogonek = 444;\n    t.Uacute = 722;\n    t.uogonek = 500;\n    t.Edieresis = 611;\n    t.Dcroat = 722;\n    t.commaaccent = 250;\n    t.copyright = 760;\n    t.Emacron = 611;\n    t.ccaron = 444;\n    t.aring = 444;\n    t.Ncommaaccent = 722;\n    t.lacute = 278;\n    t.agrave = 444;\n    t.Tcommaaccent = 611;\n    t.Cacute = 667;\n    t.atilde = 444;\n    t.Edotaccent = 611;\n    t.scaron = 389;\n    t.scedilla = 389;\n    t.iacute = 278;\n    t.lozenge = 471;\n    t.Rcaron = 667;\n    t.Gcommaaccent = 722;\n    t.ucircumflex = 500;\n    t.acircumflex = 444;\n    t.Amacron = 722;\n    t.rcaron = 333;\n    t.ccedilla = 444;\n    t.Zdotaccent = 611;\n    t.Thorn = 556;\n    t.Omacron = 722;\n    t.Racute = 667;\n    t.Sacute = 556;\n    t.dcaron = 588;\n    t.Umacron = 722;\n    t.uring = 500;\n    t.threesuperior = 300;\n    t.Ograve = 722;\n    t.Agrave = 722;\n    t.Abreve = 722;\n    t.multiply = 564;\n    t.uacute = 500;\n    t.Tcaron = 611;\n    t.partialdiff = 476;\n    t.ydieresis = 500;\n    t.Nacute = 722;\n    t.icircumflex = 278;\n    t.Ecircumflex = 611;\n    t.adieresis = 444;\n    t.edieresis = 444;\n    t.cacute = 444;\n    t.nacute = 500;\n    t.umacron = 500;\n    t.Ncaron = 722;\n    t.Iacute = 333;\n    t.plusminus = 564;\n    t.brokenbar = 200;\n    t.registered = 760;\n    t.Gbreve = 722;\n    t.Idotaccent = 333;\n    t.summation = 600;\n    t.Egrave = 611;\n    t.racute = 333;\n    t.omacron = 500;\n    t.Zacute = 611;\n    t.Zcaron = 611;\n    t.greaterequal = 549;\n    t.Eth = 722;\n    t.Ccedilla = 667;\n    t.lcommaaccent = 278;\n    t.tcaron = 326;\n    t.eogonek = 444;\n    t.Uogonek = 722;\n    t.Aacute = 722;\n    t.Adieresis = 722;\n    t.egrave = 444;\n    t.zacute = 444;\n    t.iogonek = 278;\n    t.Oacute = 722;\n    t.oacute = 500;\n    t.amacron = 444;\n    t.sacute = 389;\n    t.idieresis = 278;\n    t.Ocircumflex = 722;\n    t.Ugrave = 722;\n    t.Delta = 612;\n    t.thorn = 500;\n    t.twosuperior = 300;\n    t.Odieresis = 722;\n    t.mu = 500;\n    t.igrave = 278;\n    t.ohungarumlaut = 500;\n    t.Eogonek = 611;\n    t.dcroat = 500;\n    t.threequarters = 750;\n    t.Scedilla = 556;\n    t.lcaron = 344;\n    t.Kcommaaccent = 722;\n    t.Lacute = 611;\n    t.trademark = 980;\n    t.edotaccent = 444;\n    t.Igrave = 333;\n    t.Imacron = 333;\n    t.Lcaron = 611;\n    t.onehalf = 750;\n    t.lessequal = 549;\n    t.ocircumflex = 500;\n    t.ntilde = 500;\n    t.Uhungarumlaut = 722;\n    t.Eacute = 611;\n    t.emacron = 444;\n    t.gbreve = 500;\n    t.onequarter = 750;\n    t.Scaron = 556;\n    t.Scommaaccent = 556;\n    t.Ohungarumlaut = 722;\n    t.degree = 400;\n    t.ograve = 500;\n    t.Ccaron = 667;\n    t.ugrave = 500;\n    t.radical = 453;\n    t.Dcaron = 722;\n    t.rcommaaccent = 333;\n    t.Ntilde = 722;\n    t.otilde = 500;\n    t.Rcommaaccent = 667;\n    t.Lcommaaccent = 611;\n    t.Atilde = 722;\n    t.Aogonek = 722;\n    t.Aring = 722;\n    t.Otilde = 722;\n    t.zdotaccent = 444;\n    t.Ecaron = 611;\n    t.Iogonek = 333;\n    t.kcommaaccent = 500;\n    t.minus = 564;\n    t.Icircumflex = 333;\n    t.ncaron = 500;\n    t.tcommaaccent = 278;\n    t.logicalnot = 564;\n    t.odieresis = 500;\n    t.udieresis = 500;\n    t.notequal = 549;\n    t.gcommaaccent = 500;\n    t.eth = 500;\n    t.zcaron = 444;\n    t.ncommaaccent = 500;\n    t.onesuperior = 300;\n    t.imacron = 278;\n    t.Euro = 500;\n  });\n  t[\"Times-Bold\"] = (0, _core_utils.getLookupTableFactory)(function (t) {\n    t.space = 250;\n    t.exclam = 333;\n    t.quotedbl = 555;\n    t.numbersign = 500;\n    t.dollar = 500;\n    t.percent = 1000;\n    t.ampersand = 833;\n    t.quoteright = 333;\n    t.parenleft = 333;\n    t.parenright = 333;\n    t.asterisk = 500;\n    t.plus = 570;\n    t.comma = 250;\n    t.hyphen = 333;\n    t.period = 250;\n    t.slash = 278;\n    t.zero = 500;\n    t.one = 500;\n    t.two = 500;\n    t.three = 500;\n    t.four = 500;\n    t.five = 500;\n    t.six = 500;\n    t.seven = 500;\n    t.eight = 500;\n    t.nine = 500;\n    t.colon = 333;\n    t.semicolon = 333;\n    t.less = 570;\n    t.equal = 570;\n    t.greater = 570;\n    t.question = 500;\n    t.at = 930;\n    t.A = 722;\n    t.B = 667;\n    t.C = 722;\n    t.D = 722;\n    t.E = 667;\n    t.F = 611;\n    t.G = 778;\n    t.H = 778;\n    t.I = 389;\n    t.J = 500;\n    t.K = 778;\n    t.L = 667;\n    t.M = 944;\n    t.N = 722;\n    t.O = 778;\n    t.P = 611;\n    t.Q = 778;\n    t.R = 722;\n    t.S = 556;\n    t.T = 667;\n    t.U = 722;\n    t.V = 722;\n    t.W = 1000;\n    t.X = 722;\n    t.Y = 722;\n    t.Z = 667;\n    t.bracketleft = 333;\n    t.backslash = 278;\n    t.bracketright = 333;\n    t.asciicircum = 581;\n    t.underscore = 500;\n    t.quoteleft = 333;\n    t.a = 500;\n    t.b = 556;\n    t.c = 444;\n    t.d = 556;\n    t.e = 444;\n    t.f = 333;\n    t.g = 500;\n    t.h = 556;\n    t.i = 278;\n    t.j = 333;\n    t.k = 556;\n    t.l = 278;\n    t.m = 833;\n    t.n = 556;\n    t.o = 500;\n    t.p = 556;\n    t.q = 556;\n    t.r = 444;\n    t.s = 389;\n    t.t = 333;\n    t.u = 556;\n    t.v = 500;\n    t.w = 722;\n    t.x = 500;\n    t.y = 500;\n    t.z = 444;\n    t.braceleft = 394;\n    t.bar = 220;\n    t.braceright = 394;\n    t.asciitilde = 520;\n    t.exclamdown = 333;\n    t.cent = 500;\n    t.sterling = 500;\n    t.fraction = 167;\n    t.yen = 500;\n    t.florin = 500;\n    t.section = 500;\n    t.currency = 500;\n    t.quotesingle = 278;\n    t.quotedblleft = 500;\n    t.guillemotleft = 500;\n    t.guilsinglleft = 333;\n    t.guilsinglright = 333;\n    t.fi = 556;\n    t.fl = 556;\n    t.endash = 500;\n    t.dagger = 500;\n    t.daggerdbl = 500;\n    t.periodcentered = 250;\n    t.paragraph = 540;\n    t.bullet = 350;\n    t.quotesinglbase = 333;\n    t.quotedblbase = 500;\n    t.quotedblright = 500;\n    t.guillemotright = 500;\n    t.ellipsis = 1000;\n    t.perthousand = 1000;\n    t.questiondown = 500;\n    t.grave = 333;\n    t.acute = 333;\n    t.circumflex = 333;\n    t.tilde = 333;\n    t.macron = 333;\n    t.breve = 333;\n    t.dotaccent = 333;\n    t.dieresis = 333;\n    t.ring = 333;\n    t.cedilla = 333;\n    t.hungarumlaut = 333;\n    t.ogonek = 333;\n    t.caron = 333;\n    t.emdash = 1000;\n    t.AE = 1000;\n    t.ordfeminine = 300;\n    t.Lslash = 667;\n    t.Oslash = 778;\n    t.OE = 1000;\n    t.ordmasculine = 330;\n    t.ae = 722;\n    t.dotlessi = 278;\n    t.lslash = 278;\n    t.oslash = 500;\n    t.oe = 722;\n    t.germandbls = 556;\n    t.Idieresis = 389;\n    t.eacute = 444;\n    t.abreve = 500;\n    t.uhungarumlaut = 556;\n    t.ecaron = 444;\n    t.Ydieresis = 722;\n    t.divide = 570;\n    t.Yacute = 722;\n    t.Acircumflex = 722;\n    t.aacute = 500;\n    t.Ucircumflex = 722;\n    t.yacute = 500;\n    t.scommaaccent = 389;\n    t.ecircumflex = 444;\n    t.Uring = 722;\n    t.Udieresis = 722;\n    t.aogonek = 500;\n    t.Uacute = 722;\n    t.uogonek = 556;\n    t.Edieresis = 667;\n    t.Dcroat = 722;\n    t.commaaccent = 250;\n    t.copyright = 747;\n    t.Emacron = 667;\n    t.ccaron = 444;\n    t.aring = 500;\n    t.Ncommaaccent = 722;\n    t.lacute = 278;\n    t.agrave = 500;\n    t.Tcommaaccent = 667;\n    t.Cacute = 722;\n    t.atilde = 500;\n    t.Edotaccent = 667;\n    t.scaron = 389;\n    t.scedilla = 389;\n    t.iacute = 278;\n    t.lozenge = 494;\n    t.Rcaron = 722;\n    t.Gcommaaccent = 778;\n    t.ucircumflex = 556;\n    t.acircumflex = 500;\n    t.Amacron = 722;\n    t.rcaron = 444;\n    t.ccedilla = 444;\n    t.Zdotaccent = 667;\n    t.Thorn = 611;\n    t.Omacron = 778;\n    t.Racute = 722;\n    t.Sacute = 556;\n    t.dcaron = 672;\n    t.Umacron = 722;\n    t.uring = 556;\n    t.threesuperior = 300;\n    t.Ograve = 778;\n    t.Agrave = 722;\n    t.Abreve = 722;\n    t.multiply = 570;\n    t.uacute = 556;\n    t.Tcaron = 667;\n    t.partialdiff = 494;\n    t.ydieresis = 500;\n    t.Nacute = 722;\n    t.icircumflex = 278;\n    t.Ecircumflex = 667;\n    t.adieresis = 500;\n    t.edieresis = 444;\n    t.cacute = 444;\n    t.nacute = 556;\n    t.umacron = 556;\n    t.Ncaron = 722;\n    t.Iacute = 389;\n    t.plusminus = 570;\n    t.brokenbar = 220;\n    t.registered = 747;\n    t.Gbreve = 778;\n    t.Idotaccent = 389;\n    t.summation = 600;\n    t.Egrave = 667;\n    t.racute = 444;\n    t.omacron = 500;\n    t.Zacute = 667;\n    t.Zcaron = 667;\n    t.greaterequal = 549;\n    t.Eth = 722;\n    t.Ccedilla = 722;\n    t.lcommaaccent = 278;\n    t.tcaron = 416;\n    t.eogonek = 444;\n    t.Uogonek = 722;\n    t.Aacute = 722;\n    t.Adieresis = 722;\n    t.egrave = 444;\n    t.zacute = 444;\n    t.iogonek = 278;\n    t.Oacute = 778;\n    t.oacute = 500;\n    t.amacron = 500;\n    t.sacute = 389;\n    t.idieresis = 278;\n    t.Ocircumflex = 778;\n    t.Ugrave = 722;\n    t.Delta = 612;\n    t.thorn = 556;\n    t.twosuperior = 300;\n    t.Odieresis = 778;\n    t.mu = 556;\n    t.igrave = 278;\n    t.ohungarumlaut = 500;\n    t.Eogonek = 667;\n    t.dcroat = 556;\n    t.threequarters = 750;\n    t.Scedilla = 556;\n    t.lcaron = 394;\n    t.Kcommaaccent = 778;\n    t.Lacute = 667;\n    t.trademark = 1000;\n    t.edotaccent = 444;\n    t.Igrave = 389;\n    t.Imacron = 389;\n    t.Lcaron = 667;\n    t.onehalf = 750;\n    t.lessequal = 549;\n    t.ocircumflex = 500;\n    t.ntilde = 556;\n    t.Uhungarumlaut = 722;\n    t.Eacute = 667;\n    t.emacron = 444;\n    t.gbreve = 500;\n    t.onequarter = 750;\n    t.Scaron = 556;\n    t.Scommaaccent = 556;\n    t.Ohungarumlaut = 778;\n    t.degree = 400;\n    t.ograve = 500;\n    t.Ccaron = 722;\n    t.ugrave = 556;\n    t.radical = 549;\n    t.Dcaron = 722;\n    t.rcommaaccent = 444;\n    t.Ntilde = 722;\n    t.otilde = 500;\n    t.Rcommaaccent = 722;\n    t.Lcommaaccent = 667;\n    t.Atilde = 722;\n    t.Aogonek = 722;\n    t.Aring = 722;\n    t.Otilde = 778;\n    t.zdotaccent = 444;\n    t.Ecaron = 667;\n    t.Iogonek = 389;\n    t.kcommaaccent = 556;\n    t.minus = 570;\n    t.Icircumflex = 389;\n    t.ncaron = 556;\n    t.tcommaaccent = 333;\n    t.logicalnot = 570;\n    t.odieresis = 500;\n    t.udieresis = 556;\n    t.notequal = 549;\n    t.gcommaaccent = 500;\n    t.eth = 500;\n    t.zcaron = 444;\n    t.ncommaaccent = 556;\n    t.onesuperior = 300;\n    t.imacron = 278;\n    t.Euro = 500;\n  });\n  t[\"Times-BoldItalic\"] = (0, _core_utils.getLookupTableFactory)(function (t) {\n    t.space = 250;\n    t.exclam = 389;\n    t.quotedbl = 555;\n    t.numbersign = 500;\n    t.dollar = 500;\n    t.percent = 833;\n    t.ampersand = 778;\n    t.quoteright = 333;\n    t.parenleft = 333;\n    t.parenright = 333;\n    t.asterisk = 500;\n    t.plus = 570;\n    t.comma = 250;\n    t.hyphen = 333;\n    t.period = 250;\n    t.slash = 278;\n    t.zero = 500;\n    t.one = 500;\n    t.two = 500;\n    t.three = 500;\n    t.four = 500;\n    t.five = 500;\n    t.six = 500;\n    t.seven = 500;\n    t.eight = 500;\n    t.nine = 500;\n    t.colon = 333;\n    t.semicolon = 333;\n    t.less = 570;\n    t.equal = 570;\n    t.greater = 570;\n    t.question = 500;\n    t.at = 832;\n    t.A = 667;\n    t.B = 667;\n    t.C = 667;\n    t.D = 722;\n    t.E = 667;\n    t.F = 667;\n    t.G = 722;\n    t.H = 778;\n    t.I = 389;\n    t.J = 500;\n    t.K = 667;\n    t.L = 611;\n    t.M = 889;\n    t.N = 722;\n    t.O = 722;\n    t.P = 611;\n    t.Q = 722;\n    t.R = 667;\n    t.S = 556;\n    t.T = 611;\n    t.U = 722;\n    t.V = 667;\n    t.W = 889;\n    t.X = 667;\n    t.Y = 611;\n    t.Z = 611;\n    t.bracketleft = 333;\n    t.backslash = 278;\n    t.bracketright = 333;\n    t.asciicircum = 570;\n    t.underscore = 500;\n    t.quoteleft = 333;\n    t.a = 500;\n    t.b = 500;\n    t.c = 444;\n    t.d = 500;\n    t.e = 444;\n    t.f = 333;\n    t.g = 500;\n    t.h = 556;\n    t.i = 278;\n    t.j = 278;\n    t.k = 500;\n    t.l = 278;\n    t.m = 778;\n    t.n = 556;\n    t.o = 500;\n    t.p = 500;\n    t.q = 500;\n    t.r = 389;\n    t.s = 389;\n    t.t = 278;\n    t.u = 556;\n    t.v = 444;\n    t.w = 667;\n    t.x = 500;\n    t.y = 444;\n    t.z = 389;\n    t.braceleft = 348;\n    t.bar = 220;\n    t.braceright = 348;\n    t.asciitilde = 570;\n    t.exclamdown = 389;\n    t.cent = 500;\n    t.sterling = 500;\n    t.fraction = 167;\n    t.yen = 500;\n    t.florin = 500;\n    t.section = 500;\n    t.currency = 500;\n    t.quotesingle = 278;\n    t.quotedblleft = 500;\n    t.guillemotleft = 500;\n    t.guilsinglleft = 333;\n    t.guilsinglright = 333;\n    t.fi = 556;\n    t.fl = 556;\n    t.endash = 500;\n    t.dagger = 500;\n    t.daggerdbl = 500;\n    t.periodcentered = 250;\n    t.paragraph = 500;\n    t.bullet = 350;\n    t.quotesinglbase = 333;\n    t.quotedblbase = 500;\n    t.quotedblright = 500;\n    t.guillemotright = 500;\n    t.ellipsis = 1000;\n    t.perthousand = 1000;\n    t.questiondown = 500;\n    t.grave = 333;\n    t.acute = 333;\n    t.circumflex = 333;\n    t.tilde = 333;\n    t.macron = 333;\n    t.breve = 333;\n    t.dotaccent = 333;\n    t.dieresis = 333;\n    t.ring = 333;\n    t.cedilla = 333;\n    t.hungarumlaut = 333;\n    t.ogonek = 333;\n    t.caron = 333;\n    t.emdash = 1000;\n    t.AE = 944;\n    t.ordfeminine = 266;\n    t.Lslash = 611;\n    t.Oslash = 722;\n    t.OE = 944;\n    t.ordmasculine = 300;\n    t.ae = 722;\n    t.dotlessi = 278;\n    t.lslash = 278;\n    t.oslash = 500;\n    t.oe = 722;\n    t.germandbls = 500;\n    t.Idieresis = 389;\n    t.eacute = 444;\n    t.abreve = 500;\n    t.uhungarumlaut = 556;\n    t.ecaron = 444;\n    t.Ydieresis = 611;\n    t.divide = 570;\n    t.Yacute = 611;\n    t.Acircumflex = 667;\n    t.aacute = 500;\n    t.Ucircumflex = 722;\n    t.yacute = 444;\n    t.scommaaccent = 389;\n    t.ecircumflex = 444;\n    t.Uring = 722;\n    t.Udieresis = 722;\n    t.aogonek = 500;\n    t.Uacute = 722;\n    t.uogonek = 556;\n    t.Edieresis = 667;\n    t.Dcroat = 722;\n    t.commaaccent = 250;\n    t.copyright = 747;\n    t.Emacron = 667;\n    t.ccaron = 444;\n    t.aring = 500;\n    t.Ncommaaccent = 722;\n    t.lacute = 278;\n    t.agrave = 500;\n    t.Tcommaaccent = 611;\n    t.Cacute = 667;\n    t.atilde = 500;\n    t.Edotaccent = 667;\n    t.scaron = 389;\n    t.scedilla = 389;\n    t.iacute = 278;\n    t.lozenge = 494;\n    t.Rcaron = 667;\n    t.Gcommaaccent = 722;\n    t.ucircumflex = 556;\n    t.acircumflex = 500;\n    t.Amacron = 667;\n    t.rcaron = 389;\n    t.ccedilla = 444;\n    t.Zdotaccent = 611;\n    t.Thorn = 611;\n    t.Omacron = 722;\n    t.Racute = 667;\n    t.Sacute = 556;\n    t.dcaron = 608;\n    t.Umacron = 722;\n    t.uring = 556;\n    t.threesuperior = 300;\n    t.Ograve = 722;\n    t.Agrave = 667;\n    t.Abreve = 667;\n    t.multiply = 570;\n    t.uacute = 556;\n    t.Tcaron = 611;\n    t.partialdiff = 494;\n    t.ydieresis = 444;\n    t.Nacute = 722;\n    t.icircumflex = 278;\n    t.Ecircumflex = 667;\n    t.adieresis = 500;\n    t.edieresis = 444;\n    t.cacute = 444;\n    t.nacute = 556;\n    t.umacron = 556;\n    t.Ncaron = 722;\n    t.Iacute = 389;\n    t.plusminus = 570;\n    t.brokenbar = 220;\n    t.registered = 747;\n    t.Gbreve = 722;\n    t.Idotaccent = 389;\n    t.summation = 600;\n    t.Egrave = 667;\n    t.racute = 389;\n    t.omacron = 500;\n    t.Zacute = 611;\n    t.Zcaron = 611;\n    t.greaterequal = 549;\n    t.Eth = 722;\n    t.Ccedilla = 667;\n    t.lcommaaccent = 278;\n    t.tcaron = 366;\n    t.eogonek = 444;\n    t.Uogonek = 722;\n    t.Aacute = 667;\n    t.Adieresis = 667;\n    t.egrave = 444;\n    t.zacute = 389;\n    t.iogonek = 278;\n    t.Oacute = 722;\n    t.oacute = 500;\n    t.amacron = 500;\n    t.sacute = 389;\n    t.idieresis = 278;\n    t.Ocircumflex = 722;\n    t.Ugrave = 722;\n    t.Delta = 612;\n    t.thorn = 500;\n    t.twosuperior = 300;\n    t.Odieresis = 722;\n    t.mu = 576;\n    t.igrave = 278;\n    t.ohungarumlaut = 500;\n    t.Eogonek = 667;\n    t.dcroat = 500;\n    t.threequarters = 750;\n    t.Scedilla = 556;\n    t.lcaron = 382;\n    t.Kcommaaccent = 667;\n    t.Lacute = 611;\n    t.trademark = 1000;\n    t.edotaccent = 444;\n    t.Igrave = 389;\n    t.Imacron = 389;\n    t.Lcaron = 611;\n    t.onehalf = 750;\n    t.lessequal = 549;\n    t.ocircumflex = 500;\n    t.ntilde = 556;\n    t.Uhungarumlaut = 722;\n    t.Eacute = 667;\n    t.emacron = 444;\n    t.gbreve = 500;\n    t.onequarter = 750;\n    t.Scaron = 556;\n    t.Scommaaccent = 556;\n    t.Ohungarumlaut = 722;\n    t.degree = 400;\n    t.ograve = 500;\n    t.Ccaron = 667;\n    t.ugrave = 556;\n    t.radical = 549;\n    t.Dcaron = 722;\n    t.rcommaaccent = 389;\n    t.Ntilde = 722;\n    t.otilde = 500;\n    t.Rcommaaccent = 667;\n    t.Lcommaaccent = 611;\n    t.Atilde = 667;\n    t.Aogonek = 667;\n    t.Aring = 667;\n    t.Otilde = 722;\n    t.zdotaccent = 389;\n    t.Ecaron = 667;\n    t.Iogonek = 389;\n    t.kcommaaccent = 500;\n    t.minus = 606;\n    t.Icircumflex = 389;\n    t.ncaron = 556;\n    t.tcommaaccent = 278;\n    t.logicalnot = 606;\n    t.odieresis = 500;\n    t.udieresis = 556;\n    t.notequal = 549;\n    t.gcommaaccent = 500;\n    t.eth = 500;\n    t.zcaron = 389;\n    t.ncommaaccent = 556;\n    t.onesuperior = 300;\n    t.imacron = 278;\n    t.Euro = 500;\n  });\n  t[\"Times-Italic\"] = (0, _core_utils.getLookupTableFactory)(function (t) {\n    t.space = 250;\n    t.exclam = 333;\n    t.quotedbl = 420;\n    t.numbersign = 500;\n    t.dollar = 500;\n    t.percent = 833;\n    t.ampersand = 778;\n    t.quoteright = 333;\n    t.parenleft = 333;\n    t.parenright = 333;\n    t.asterisk = 500;\n    t.plus = 675;\n    t.comma = 250;\n    t.hyphen = 333;\n    t.period = 250;\n    t.slash = 278;\n    t.zero = 500;\n    t.one = 500;\n    t.two = 500;\n    t.three = 500;\n    t.four = 500;\n    t.five = 500;\n    t.six = 500;\n    t.seven = 500;\n    t.eight = 500;\n    t.nine = 500;\n    t.colon = 333;\n    t.semicolon = 333;\n    t.less = 675;\n    t.equal = 675;\n    t.greater = 675;\n    t.question = 500;\n    t.at = 920;\n    t.A = 611;\n    t.B = 611;\n    t.C = 667;\n    t.D = 722;\n    t.E = 611;\n    t.F = 611;\n    t.G = 722;\n    t.H = 722;\n    t.I = 333;\n    t.J = 444;\n    t.K = 667;\n    t.L = 556;\n    t.M = 833;\n    t.N = 667;\n    t.O = 722;\n    t.P = 611;\n    t.Q = 722;\n    t.R = 611;\n    t.S = 500;\n    t.T = 556;\n    t.U = 722;\n    t.V = 611;\n    t.W = 833;\n    t.X = 611;\n    t.Y = 556;\n    t.Z = 556;\n    t.bracketleft = 389;\n    t.backslash = 278;\n    t.bracketright = 389;\n    t.asciicircum = 422;\n    t.underscore = 500;\n    t.quoteleft = 333;\n    t.a = 500;\n    t.b = 500;\n    t.c = 444;\n    t.d = 500;\n    t.e = 444;\n    t.f = 278;\n    t.g = 500;\n    t.h = 500;\n    t.i = 278;\n    t.j = 278;\n    t.k = 444;\n    t.l = 278;\n    t.m = 722;\n    t.n = 500;\n    t.o = 500;\n    t.p = 500;\n    t.q = 500;\n    t.r = 389;\n    t.s = 389;\n    t.t = 278;\n    t.u = 500;\n    t.v = 444;\n    t.w = 667;\n    t.x = 444;\n    t.y = 444;\n    t.z = 389;\n    t.braceleft = 400;\n    t.bar = 275;\n    t.braceright = 400;\n    t.asciitilde = 541;\n    t.exclamdown = 389;\n    t.cent = 500;\n    t.sterling = 500;\n    t.fraction = 167;\n    t.yen = 500;\n    t.florin = 500;\n    t.section = 500;\n    t.currency = 500;\n    t.quotesingle = 214;\n    t.quotedblleft = 556;\n    t.guillemotleft = 500;\n    t.guilsinglleft = 333;\n    t.guilsinglright = 333;\n    t.fi = 500;\n    t.fl = 500;\n    t.endash = 500;\n    t.dagger = 500;\n    t.daggerdbl = 500;\n    t.periodcentered = 250;\n    t.paragraph = 523;\n    t.bullet = 350;\n    t.quotesinglbase = 333;\n    t.quotedblbase = 556;\n    t.quotedblright = 556;\n    t.guillemotright = 500;\n    t.ellipsis = 889;\n    t.perthousand = 1000;\n    t.questiondown = 500;\n    t.grave = 333;\n    t.acute = 333;\n    t.circumflex = 333;\n    t.tilde = 333;\n    t.macron = 333;\n    t.breve = 333;\n    t.dotaccent = 333;\n    t.dieresis = 333;\n    t.ring = 333;\n    t.cedilla = 333;\n    t.hungarumlaut = 333;\n    t.ogonek = 333;\n    t.caron = 333;\n    t.emdash = 889;\n    t.AE = 889;\n    t.ordfeminine = 276;\n    t.Lslash = 556;\n    t.Oslash = 722;\n    t.OE = 944;\n    t.ordmasculine = 310;\n    t.ae = 667;\n    t.dotlessi = 278;\n    t.lslash = 278;\n    t.oslash = 500;\n    t.oe = 667;\n    t.germandbls = 500;\n    t.Idieresis = 333;\n    t.eacute = 444;\n    t.abreve = 500;\n    t.uhungarumlaut = 500;\n    t.ecaron = 444;\n    t.Ydieresis = 556;\n    t.divide = 675;\n    t.Yacute = 556;\n    t.Acircumflex = 611;\n    t.aacute = 500;\n    t.Ucircumflex = 722;\n    t.yacute = 444;\n    t.scommaaccent = 389;\n    t.ecircumflex = 444;\n    t.Uring = 722;\n    t.Udieresis = 722;\n    t.aogonek = 500;\n    t.Uacute = 722;\n    t.uogonek = 500;\n    t.Edieresis = 611;\n    t.Dcroat = 722;\n    t.commaaccent = 250;\n    t.copyright = 760;\n    t.Emacron = 611;\n    t.ccaron = 444;\n    t.aring = 500;\n    t.Ncommaaccent = 667;\n    t.lacute = 278;\n    t.agrave = 500;\n    t.Tcommaaccent = 556;\n    t.Cacute = 667;\n    t.atilde = 500;\n    t.Edotaccent = 611;\n    t.scaron = 389;\n    t.scedilla = 389;\n    t.iacute = 278;\n    t.lozenge = 471;\n    t.Rcaron = 611;\n    t.Gcommaaccent = 722;\n    t.ucircumflex = 500;\n    t.acircumflex = 500;\n    t.Amacron = 611;\n    t.rcaron = 389;\n    t.ccedilla = 444;\n    t.Zdotaccent = 556;\n    t.Thorn = 611;\n    t.Omacron = 722;\n    t.Racute = 611;\n    t.Sacute = 500;\n    t.dcaron = 544;\n    t.Umacron = 722;\n    t.uring = 500;\n    t.threesuperior = 300;\n    t.Ograve = 722;\n    t.Agrave = 611;\n    t.Abreve = 611;\n    t.multiply = 675;\n    t.uacute = 500;\n    t.Tcaron = 556;\n    t.partialdiff = 476;\n    t.ydieresis = 444;\n    t.Nacute = 667;\n    t.icircumflex = 278;\n    t.Ecircumflex = 611;\n    t.adieresis = 500;\n    t.edieresis = 444;\n    t.cacute = 444;\n    t.nacute = 500;\n    t.umacron = 500;\n    t.Ncaron = 667;\n    t.Iacute = 333;\n    t.plusminus = 675;\n    t.brokenbar = 275;\n    t.registered = 760;\n    t.Gbreve = 722;\n    t.Idotaccent = 333;\n    t.summation = 600;\n    t.Egrave = 611;\n    t.racute = 389;\n    t.omacron = 500;\n    t.Zacute = 556;\n    t.Zcaron = 556;\n    t.greaterequal = 549;\n    t.Eth = 722;\n    t.Ccedilla = 667;\n    t.lcommaaccent = 278;\n    t.tcaron = 300;\n    t.eogonek = 444;\n    t.Uogonek = 722;\n    t.Aacute = 611;\n    t.Adieresis = 611;\n    t.egrave = 444;\n    t.zacute = 389;\n    t.iogonek = 278;\n    t.Oacute = 722;\n    t.oacute = 500;\n    t.amacron = 500;\n    t.sacute = 389;\n    t.idieresis = 278;\n    t.Ocircumflex = 722;\n    t.Ugrave = 722;\n    t.Delta = 612;\n    t.thorn = 500;\n    t.twosuperior = 300;\n    t.Odieresis = 722;\n    t.mu = 500;\n    t.igrave = 278;\n    t.ohungarumlaut = 500;\n    t.Eogonek = 611;\n    t.dcroat = 500;\n    t.threequarters = 750;\n    t.Scedilla = 500;\n    t.lcaron = 300;\n    t.Kcommaaccent = 667;\n    t.Lacute = 556;\n    t.trademark = 980;\n    t.edotaccent = 444;\n    t.Igrave = 333;\n    t.Imacron = 333;\n    t.Lcaron = 611;\n    t.onehalf = 750;\n    t.lessequal = 549;\n    t.ocircumflex = 500;\n    t.ntilde = 500;\n    t.Uhungarumlaut = 722;\n    t.Eacute = 611;\n    t.emacron = 444;\n    t.gbreve = 500;\n    t.onequarter = 750;\n    t.Scaron = 500;\n    t.Scommaaccent = 500;\n    t.Ohungarumlaut = 722;\n    t.degree = 400;\n    t.ograve = 500;\n    t.Ccaron = 667;\n    t.ugrave = 500;\n    t.radical = 453;\n    t.Dcaron = 722;\n    t.rcommaaccent = 389;\n    t.Ntilde = 667;\n    t.otilde = 500;\n    t.Rcommaaccent = 611;\n    t.Lcommaaccent = 556;\n    t.Atilde = 611;\n    t.Aogonek = 611;\n    t.Aring = 611;\n    t.Otilde = 722;\n    t.zdotaccent = 389;\n    t.Ecaron = 611;\n    t.Iogonek = 333;\n    t.kcommaaccent = 444;\n    t.minus = 675;\n    t.Icircumflex = 333;\n    t.ncaron = 500;\n    t.tcommaaccent = 278;\n    t.logicalnot = 675;\n    t.odieresis = 500;\n    t.udieresis = 500;\n    t.notequal = 549;\n    t.gcommaaccent = 500;\n    t.eth = 500;\n    t.zcaron = 389;\n    t.ncommaaccent = 500;\n    t.onesuperior = 300;\n    t.imacron = 278;\n    t.Euro = 500;\n  });\n  t.ZapfDingbats = (0, _core_utils.getLookupTableFactory)(function (t) {\n    t.space = 278;\n    t.a1 = 974;\n    t.a2 = 961;\n    t.a202 = 974;\n    t.a3 = 980;\n    t.a4 = 719;\n    t.a5 = 789;\n    t.a119 = 790;\n    t.a118 = 791;\n    t.a117 = 690;\n    t.a11 = 960;\n    t.a12 = 939;\n    t.a13 = 549;\n    t.a14 = 855;\n    t.a15 = 911;\n    t.a16 = 933;\n    t.a105 = 911;\n    t.a17 = 945;\n    t.a18 = 974;\n    t.a19 = 755;\n    t.a20 = 846;\n    t.a21 = 762;\n    t.a22 = 761;\n    t.a23 = 571;\n    t.a24 = 677;\n    t.a25 = 763;\n    t.a26 = 760;\n    t.a27 = 759;\n    t.a28 = 754;\n    t.a6 = 494;\n    t.a7 = 552;\n    t.a8 = 537;\n    t.a9 = 577;\n    t.a10 = 692;\n    t.a29 = 786;\n    t.a30 = 788;\n    t.a31 = 788;\n    t.a32 = 790;\n    t.a33 = 793;\n    t.a34 = 794;\n    t.a35 = 816;\n    t.a36 = 823;\n    t.a37 = 789;\n    t.a38 = 841;\n    t.a39 = 823;\n    t.a40 = 833;\n    t.a41 = 816;\n    t.a42 = 831;\n    t.a43 = 923;\n    t.a44 = 744;\n    t.a45 = 723;\n    t.a46 = 749;\n    t.a47 = 790;\n    t.a48 = 792;\n    t.a49 = 695;\n    t.a50 = 776;\n    t.a51 = 768;\n    t.a52 = 792;\n    t.a53 = 759;\n    t.a54 = 707;\n    t.a55 = 708;\n    t.a56 = 682;\n    t.a57 = 701;\n    t.a58 = 826;\n    t.a59 = 815;\n    t.a60 = 789;\n    t.a61 = 789;\n    t.a62 = 707;\n    t.a63 = 687;\n    t.a64 = 696;\n    t.a65 = 689;\n    t.a66 = 786;\n    t.a67 = 787;\n    t.a68 = 713;\n    t.a69 = 791;\n    t.a70 = 785;\n    t.a71 = 791;\n    t.a72 = 873;\n    t.a73 = 761;\n    t.a74 = 762;\n    t.a203 = 762;\n    t.a75 = 759;\n    t.a204 = 759;\n    t.a76 = 892;\n    t.a77 = 892;\n    t.a78 = 788;\n    t.a79 = 784;\n    t.a81 = 438;\n    t.a82 = 138;\n    t.a83 = 277;\n    t.a84 = 415;\n    t.a97 = 392;\n    t.a98 = 392;\n    t.a99 = 668;\n    t.a100 = 668;\n    t.a89 = 390;\n    t.a90 = 390;\n    t.a93 = 317;\n    t.a94 = 317;\n    t.a91 = 276;\n    t.a92 = 276;\n    t.a205 = 509;\n    t.a85 = 509;\n    t.a206 = 410;\n    t.a86 = 410;\n    t.a87 = 234;\n    t.a88 = 234;\n    t.a95 = 334;\n    t.a96 = 334;\n    t.a101 = 732;\n    t.a102 = 544;\n    t.a103 = 544;\n    t.a104 = 910;\n    t.a106 = 667;\n    t.a107 = 760;\n    t.a108 = 760;\n    t.a112 = 776;\n    t.a111 = 595;\n    t.a110 = 694;\n    t.a109 = 626;\n    t.a120 = 788;\n    t.a121 = 788;\n    t.a122 = 788;\n    t.a123 = 788;\n    t.a124 = 788;\n    t.a125 = 788;\n    t.a126 = 788;\n    t.a127 = 788;\n    t.a128 = 788;\n    t.a129 = 788;\n    t.a130 = 788;\n    t.a131 = 788;\n    t.a132 = 788;\n    t.a133 = 788;\n    t.a134 = 788;\n    t.a135 = 788;\n    t.a136 = 788;\n    t.a137 = 788;\n    t.a138 = 788;\n    t.a139 = 788;\n    t.a140 = 788;\n    t.a141 = 788;\n    t.a142 = 788;\n    t.a143 = 788;\n    t.a144 = 788;\n    t.a145 = 788;\n    t.a146 = 788;\n    t.a147 = 788;\n    t.a148 = 788;\n    t.a149 = 788;\n    t.a150 = 788;\n    t.a151 = 788;\n    t.a152 = 788;\n    t.a153 = 788;\n    t.a154 = 788;\n    t.a155 = 788;\n    t.a156 = 788;\n    t.a157 = 788;\n    t.a158 = 788;\n    t.a159 = 788;\n    t.a160 = 894;\n    t.a161 = 838;\n    t.a163 = 1016;\n    t.a164 = 458;\n    t.a196 = 748;\n    t.a165 = 924;\n    t.a192 = 748;\n    t.a166 = 918;\n    t.a167 = 927;\n    t.a168 = 928;\n    t.a169 = 928;\n    t.a170 = 834;\n    t.a171 = 873;\n    t.a172 = 828;\n    t.a173 = 924;\n    t.a162 = 924;\n    t.a174 = 917;\n    t.a175 = 930;\n    t.a176 = 931;\n    t.a177 = 463;\n    t.a178 = 883;\n    t.a179 = 836;\n    t.a193 = 836;\n    t.a180 = 867;\n    t.a199 = 867;\n    t.a181 = 696;\n    t.a200 = 696;\n    t.a182 = 874;\n    t.a201 = 874;\n    t.a183 = 760;\n    t.a184 = 946;\n    t.a197 = 771;\n    t.a185 = 865;\n    t.a194 = 771;\n    t.a198 = 888;\n    t.a186 = 967;\n    t.a195 = 888;\n    t.a187 = 831;\n    t.a188 = 873;\n    t.a189 = 927;\n    t.a190 = 970;\n    t.a191 = 918;\n  });\n});\nexports.getMetrics = getMetrics;\n\n/***/ }),\n/* 234 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.isPDFFunction = isPDFFunction;\nexports.PostScriptCompiler = exports.PostScriptEvaluator = exports.PDFFunctionFactory = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _primitives = __w_pdfjs_require__(198);\n\nvar _ps_parser = __w_pdfjs_require__(235);\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar PDFFunctionFactory = /*#__PURE__*/function () {\n  function PDFFunctionFactory(_ref) {\n    var xref = _ref.xref,\n        _ref$isEvalSupported = _ref.isEvalSupported,\n        isEvalSupported = _ref$isEvalSupported === void 0 ? true : _ref$isEvalSupported;\n\n    _classCallCheck(this, PDFFunctionFactory);\n\n    this.xref = xref;\n    this.isEvalSupported = isEvalSupported !== false;\n  }\n\n  _createClass(PDFFunctionFactory, [{\n    key: \"create\",\n    value: function create(fn) {\n      return PDFFunction.parse({\n        xref: this.xref,\n        isEvalSupported: this.isEvalSupported,\n        fn: fn\n      });\n    }\n  }, {\n    key: \"createFromArray\",\n    value: function createFromArray(fnObj) {\n      return PDFFunction.parseArray({\n        xref: this.xref,\n        isEvalSupported: this.isEvalSupported,\n        fnObj: fnObj\n      });\n    }\n  }]);\n\n  return PDFFunctionFactory;\n}();\n\nexports.PDFFunctionFactory = PDFFunctionFactory;\n\nfunction toNumberArray(arr) {\n  if (!Array.isArray(arr)) {\n    return null;\n  }\n\n  var length = arr.length;\n\n  for (var i = 0; i < length; i++) {\n    if (typeof arr[i] !== \"number\") {\n      var result = new Array(length);\n\n      for (var j = 0; j < length; j++) {\n        result[j] = +arr[j];\n      }\n\n      return result;\n    }\n  }\n\n  return arr;\n}\n\nvar PDFFunction = function PDFFunctionClosure() {\n  var CONSTRUCT_SAMPLED = 0;\n  var CONSTRUCT_INTERPOLATED = 2;\n  var CONSTRUCT_STICHED = 3;\n  var CONSTRUCT_POSTSCRIPT = 4;\n  return {\n    getSampleArray: function getSampleArray(size, outputSize, bps, stream) {\n      var i, ii;\n      var length = 1;\n\n      for (i = 0, ii = size.length; i < ii; i++) {\n        length *= size[i];\n      }\n\n      length *= outputSize;\n      var array = new Array(length);\n      var codeSize = 0;\n      var codeBuf = 0;\n      var sampleMul = 1.0 / (Math.pow(2.0, bps) - 1);\n      var strBytes = stream.getBytes((length * bps + 7) / 8);\n      var strIdx = 0;\n\n      for (i = 0; i < length; i++) {\n        while (codeSize < bps) {\n          codeBuf <<= 8;\n          codeBuf |= strBytes[strIdx++];\n          codeSize += 8;\n        }\n\n        codeSize -= bps;\n        array[i] = (codeBuf >> codeSize) * sampleMul;\n        codeBuf &= (1 << codeSize) - 1;\n      }\n\n      return array;\n    },\n    getIR: function getIR(_ref2) {\n      var xref = _ref2.xref,\n          isEvalSupported = _ref2.isEvalSupported,\n          fn = _ref2.fn;\n      var dict = fn.dict;\n\n      if (!dict) {\n        dict = fn;\n      }\n\n      var types = [this.constructSampled, null, this.constructInterpolated, this.constructStiched, this.constructPostScript];\n      var typeNum = dict.get(\"FunctionType\");\n      var typeFn = types[typeNum];\n\n      if (!typeFn) {\n        throw new _util.FormatError(\"Unknown type of function\");\n      }\n\n      return typeFn.call(this, {\n        xref: xref,\n        isEvalSupported: isEvalSupported,\n        fn: fn,\n        dict: dict\n      });\n    },\n    fromIR: function fromIR(_ref3) {\n      var xref = _ref3.xref,\n          isEvalSupported = _ref3.isEvalSupported,\n          IR = _ref3.IR;\n      var type = IR[0];\n\n      switch (type) {\n        case CONSTRUCT_SAMPLED:\n          return this.constructSampledFromIR({\n            xref: xref,\n            isEvalSupported: isEvalSupported,\n            IR: IR\n          });\n\n        case CONSTRUCT_INTERPOLATED:\n          return this.constructInterpolatedFromIR({\n            xref: xref,\n            isEvalSupported: isEvalSupported,\n            IR: IR\n          });\n\n        case CONSTRUCT_STICHED:\n          return this.constructStichedFromIR({\n            xref: xref,\n            isEvalSupported: isEvalSupported,\n            IR: IR\n          });\n\n        default:\n          return this.constructPostScriptFromIR({\n            xref: xref,\n            isEvalSupported: isEvalSupported,\n            IR: IR\n          });\n      }\n    },\n    parse: function parse(_ref4) {\n      var xref = _ref4.xref,\n          isEvalSupported = _ref4.isEvalSupported,\n          fn = _ref4.fn;\n      var IR = this.getIR({\n        xref: xref,\n        isEvalSupported: isEvalSupported,\n        fn: fn\n      });\n      return this.fromIR({\n        xref: xref,\n        isEvalSupported: isEvalSupported,\n        IR: IR\n      });\n    },\n    parseArray: function parseArray(_ref5) {\n      var xref = _ref5.xref,\n          isEvalSupported = _ref5.isEvalSupported,\n          fnObj = _ref5.fnObj;\n\n      if (!Array.isArray(fnObj)) {\n        return this.parse({\n          xref: xref,\n          isEvalSupported: isEvalSupported,\n          fn: fnObj\n        });\n      }\n\n      var fnArray = [];\n\n      for (var j = 0, jj = fnObj.length; j < jj; j++) {\n        fnArray.push(this.parse({\n          xref: xref,\n          isEvalSupported: isEvalSupported,\n          fn: xref.fetchIfRef(fnObj[j])\n        }));\n      }\n\n      return function (src, srcOffset, dest, destOffset) {\n        for (var i = 0, ii = fnArray.length; i < ii; i++) {\n          fnArray[i](src, srcOffset, dest, destOffset + i);\n        }\n      };\n    },\n    constructSampled: function constructSampled(_ref6) {\n      var xref = _ref6.xref,\n          isEvalSupported = _ref6.isEvalSupported,\n          fn = _ref6.fn,\n          dict = _ref6.dict;\n\n      function toMultiArray(arr) {\n        var inputLength = arr.length;\n        var out = [];\n        var index = 0;\n\n        for (var i = 0; i < inputLength; i += 2) {\n          out[index] = [arr[i], arr[i + 1]];\n          ++index;\n        }\n\n        return out;\n      }\n\n      var domain = toNumberArray(dict.getArray(\"Domain\"));\n      var range = toNumberArray(dict.getArray(\"Range\"));\n\n      if (!domain || !range) {\n        throw new _util.FormatError(\"No domain or range\");\n      }\n\n      var inputSize = domain.length / 2;\n      var outputSize = range.length / 2;\n      domain = toMultiArray(domain);\n      range = toMultiArray(range);\n      var size = toNumberArray(dict.getArray(\"Size\"));\n      var bps = dict.get(\"BitsPerSample\");\n      var order = dict.get(\"Order\") || 1;\n\n      if (order !== 1) {\n        (0, _util.info)(\"No support for cubic spline interpolation: \" + order);\n      }\n\n      var encode = toNumberArray(dict.getArray(\"Encode\"));\n\n      if (!encode) {\n        encode = [];\n\n        for (var i = 0; i < inputSize; ++i) {\n          encode.push([0, size[i] - 1]);\n        }\n      } else {\n        encode = toMultiArray(encode);\n      }\n\n      var decode = toNumberArray(dict.getArray(\"Decode\"));\n\n      if (!decode) {\n        decode = range;\n      } else {\n        decode = toMultiArray(decode);\n      }\n\n      var samples = this.getSampleArray(size, outputSize, bps, fn);\n      return [CONSTRUCT_SAMPLED, inputSize, domain, encode, decode, samples, size, outputSize, Math.pow(2, bps) - 1, range];\n    },\n    constructSampledFromIR: function constructSampledFromIR(_ref7) {\n      var xref = _ref7.xref,\n          isEvalSupported = _ref7.isEvalSupported,\n          IR = _ref7.IR;\n\n      function interpolate(x, xmin, xmax, ymin, ymax) {\n        return ymin + (x - xmin) * ((ymax - ymin) / (xmax - xmin));\n      }\n\n      return function constructSampledFromIRResult(src, srcOffset, dest, destOffset) {\n        var m = IR[1];\n        var domain = IR[2];\n        var encode = IR[3];\n        var decode = IR[4];\n        var samples = IR[5];\n        var size = IR[6];\n        var n = IR[7];\n        var range = IR[9];\n        var cubeVertices = 1 << m;\n        var cubeN = new Float64Array(cubeVertices);\n        var cubeVertex = new Uint32Array(cubeVertices);\n        var i, j;\n\n        for (j = 0; j < cubeVertices; j++) {\n          cubeN[j] = 1;\n        }\n\n        var k = n,\n            pos = 1;\n\n        for (i = 0; i < m; ++i) {\n          var domain_2i = domain[i][0];\n          var domain_2i_1 = domain[i][1];\n          var xi = Math.min(Math.max(src[srcOffset + i], domain_2i), domain_2i_1);\n          var e = interpolate(xi, domain_2i, domain_2i_1, encode[i][0], encode[i][1]);\n          var size_i = size[i];\n          e = Math.min(Math.max(e, 0), size_i - 1);\n          var e0 = e < size_i - 1 ? Math.floor(e) : e - 1;\n          var n0 = e0 + 1 - e;\n          var n1 = e - e0;\n          var offset0 = e0 * k;\n          var offset1 = offset0 + k;\n\n          for (j = 0; j < cubeVertices; j++) {\n            if (j & pos) {\n              cubeN[j] *= n1;\n              cubeVertex[j] += offset1;\n            } else {\n              cubeN[j] *= n0;\n              cubeVertex[j] += offset0;\n            }\n          }\n\n          k *= size_i;\n          pos <<= 1;\n        }\n\n        for (j = 0; j < n; ++j) {\n          var rj = 0;\n\n          for (i = 0; i < cubeVertices; i++) {\n            rj += samples[cubeVertex[i] + j] * cubeN[i];\n          }\n\n          rj = interpolate(rj, 0, 1, decode[j][0], decode[j][1]);\n          dest[destOffset + j] = Math.min(Math.max(rj, range[j][0]), range[j][1]);\n        }\n      };\n    },\n    constructInterpolated: function constructInterpolated(_ref8) {\n      var xref = _ref8.xref,\n          isEvalSupported = _ref8.isEvalSupported,\n          fn = _ref8.fn,\n          dict = _ref8.dict;\n      var c0 = toNumberArray(dict.getArray(\"C0\")) || [0];\n      var c1 = toNumberArray(dict.getArray(\"C1\")) || [1];\n      var n = dict.get(\"N\");\n      var length = c0.length;\n      var diff = [];\n\n      for (var i = 0; i < length; ++i) {\n        diff.push(c1[i] - c0[i]);\n      }\n\n      return [CONSTRUCT_INTERPOLATED, c0, diff, n];\n    },\n    constructInterpolatedFromIR: function constructInterpolatedFromIR(_ref9) {\n      var xref = _ref9.xref,\n          isEvalSupported = _ref9.isEvalSupported,\n          IR = _ref9.IR;\n      var c0 = IR[1];\n      var diff = IR[2];\n      var n = IR[3];\n      var length = diff.length;\n      return function constructInterpolatedFromIRResult(src, srcOffset, dest, destOffset) {\n        var x = n === 1 ? src[srcOffset] : Math.pow(src[srcOffset], n);\n\n        for (var j = 0; j < length; ++j) {\n          dest[destOffset + j] = c0[j] + x * diff[j];\n        }\n      };\n    },\n    constructStiched: function constructStiched(_ref10) {\n      var xref = _ref10.xref,\n          isEvalSupported = _ref10.isEvalSupported,\n          fn = _ref10.fn,\n          dict = _ref10.dict;\n      var domain = toNumberArray(dict.getArray(\"Domain\"));\n\n      if (!domain) {\n        throw new _util.FormatError(\"No domain\");\n      }\n\n      var inputSize = domain.length / 2;\n\n      if (inputSize !== 1) {\n        throw new _util.FormatError(\"Bad domain for stiched function\");\n      }\n\n      var fnRefs = dict.get(\"Functions\");\n      var fns = [];\n\n      for (var i = 0, ii = fnRefs.length; i < ii; ++i) {\n        fns.push(this.parse({\n          xref: xref,\n          isEvalSupported: isEvalSupported,\n          fn: xref.fetchIfRef(fnRefs[i])\n        }));\n      }\n\n      var bounds = toNumberArray(dict.getArray(\"Bounds\"));\n      var encode = toNumberArray(dict.getArray(\"Encode\"));\n      return [CONSTRUCT_STICHED, domain, bounds, encode, fns];\n    },\n    constructStichedFromIR: function constructStichedFromIR(_ref11) {\n      var xref = _ref11.xref,\n          isEvalSupported = _ref11.isEvalSupported,\n          IR = _ref11.IR;\n      var domain = IR[1];\n      var bounds = IR[2];\n      var encode = IR[3];\n      var fns = IR[4];\n      var tmpBuf = new Float32Array(1);\n      return function constructStichedFromIRResult(src, srcOffset, dest, destOffset) {\n        var clip = function constructStichedFromIRClip(v, min, max) {\n          if (v > max) {\n            v = max;\n          } else if (v < min) {\n            v = min;\n          }\n\n          return v;\n        };\n\n        var v = clip(src[srcOffset], domain[0], domain[1]);\n\n        for (var i = 0, ii = bounds.length; i < ii; ++i) {\n          if (v < bounds[i]) {\n            break;\n          }\n        }\n\n        var dmin = domain[0];\n\n        if (i > 0) {\n          dmin = bounds[i - 1];\n        }\n\n        var dmax = domain[1];\n\n        if (i < bounds.length) {\n          dmax = bounds[i];\n        }\n\n        var rmin = encode[2 * i];\n        var rmax = encode[2 * i + 1];\n        tmpBuf[0] = dmin === dmax ? rmin : rmin + (v - dmin) * (rmax - rmin) / (dmax - dmin);\n        fns[i](tmpBuf, 0, dest, destOffset);\n      };\n    },\n    constructPostScript: function constructPostScript(_ref12) {\n      var xref = _ref12.xref,\n          isEvalSupported = _ref12.isEvalSupported,\n          fn = _ref12.fn,\n          dict = _ref12.dict;\n      var domain = toNumberArray(dict.getArray(\"Domain\"));\n      var range = toNumberArray(dict.getArray(\"Range\"));\n\n      if (!domain) {\n        throw new _util.FormatError(\"No domain.\");\n      }\n\n      if (!range) {\n        throw new _util.FormatError(\"No range.\");\n      }\n\n      var lexer = new _ps_parser.PostScriptLexer(fn);\n      var parser = new _ps_parser.PostScriptParser(lexer);\n      var code = parser.parse();\n      return [CONSTRUCT_POSTSCRIPT, domain, range, code];\n    },\n    constructPostScriptFromIR: function constructPostScriptFromIR(_ref13) {\n      var xref = _ref13.xref,\n          isEvalSupported = _ref13.isEvalSupported,\n          IR = _ref13.IR;\n      var domain = IR[1];\n      var range = IR[2];\n      var code = IR[3];\n\n      if (isEvalSupported && _util.IsEvalSupportedCached.value) {\n        var compiled = new PostScriptCompiler().compile(code, domain, range);\n\n        if (compiled) {\n          return new Function(\"src\", \"srcOffset\", \"dest\", \"destOffset\", compiled);\n        }\n      }\n\n      (0, _util.info)(\"Unable to compile PS function\");\n      var numOutputs = range.length >> 1;\n      var numInputs = domain.length >> 1;\n      var evaluator = new PostScriptEvaluator(code);\n      var cache = Object.create(null);\n      var MAX_CACHE_SIZE = 2048 * 4;\n      var cache_available = MAX_CACHE_SIZE;\n      var tmpBuf = new Float32Array(numInputs);\n      return function constructPostScriptFromIRResult(src, srcOffset, dest, destOffset) {\n        var i, value;\n        var key = \"\";\n        var input = tmpBuf;\n\n        for (i = 0; i < numInputs; i++) {\n          value = src[srcOffset + i];\n          input[i] = value;\n          key += value + \"_\";\n        }\n\n        var cachedValue = cache[key];\n\n        if (cachedValue !== undefined) {\n          dest.set(cachedValue, destOffset);\n          return;\n        }\n\n        var output = new Float32Array(numOutputs);\n        var stack = evaluator.execute(input);\n        var stackIndex = stack.length - numOutputs;\n\n        for (i = 0; i < numOutputs; i++) {\n          value = stack[stackIndex + i];\n          var bound = range[i * 2];\n\n          if (value < bound) {\n            value = bound;\n          } else {\n            bound = range[i * 2 + 1];\n\n            if (value > bound) {\n              value = bound;\n            }\n          }\n\n          output[i] = value;\n        }\n\n        if (cache_available > 0) {\n          cache_available--;\n          cache[key] = output;\n        }\n\n        dest.set(output, destOffset);\n      };\n    }\n  };\n}();\n\nfunction isPDFFunction(v) {\n  var fnDict;\n\n  if (_typeof(v) !== \"object\") {\n    return false;\n  } else if ((0, _primitives.isDict)(v)) {\n    fnDict = v;\n  } else if ((0, _primitives.isStream)(v)) {\n    fnDict = v.dict;\n  } else {\n    return false;\n  }\n\n  return fnDict.has(\"FunctionType\");\n}\n\nvar PostScriptStack = function PostScriptStackClosure() {\n  var MAX_STACK_SIZE = 100;\n\n  function PostScriptStack(initialStack) {\n    this.stack = !initialStack ? [] : Array.prototype.slice.call(initialStack, 0);\n  }\n\n  PostScriptStack.prototype = {\n    push: function PostScriptStack_push(value) {\n      if (this.stack.length >= MAX_STACK_SIZE) {\n        throw new Error(\"PostScript function stack overflow.\");\n      }\n\n      this.stack.push(value);\n    },\n    pop: function PostScriptStack_pop() {\n      if (this.stack.length <= 0) {\n        throw new Error(\"PostScript function stack underflow.\");\n      }\n\n      return this.stack.pop();\n    },\n    copy: function PostScriptStack_copy(n) {\n      if (this.stack.length + n >= MAX_STACK_SIZE) {\n        throw new Error(\"PostScript function stack overflow.\");\n      }\n\n      var stack = this.stack;\n\n      for (var i = stack.length - n, j = n - 1; j >= 0; j--, i++) {\n        stack.push(stack[i]);\n      }\n    },\n    index: function PostScriptStack_index(n) {\n      this.push(this.stack[this.stack.length - n - 1]);\n    },\n    roll: function PostScriptStack_roll(n, p) {\n      var stack = this.stack;\n      var l = stack.length - n;\n      var r = stack.length - 1,\n          c = l + (p - Math.floor(p / n) * n),\n          i,\n          j,\n          t;\n\n      for (i = l, j = r; i < j; i++, j--) {\n        t = stack[i];\n        stack[i] = stack[j];\n        stack[j] = t;\n      }\n\n      for (i = l, j = c - 1; i < j; i++, j--) {\n        t = stack[i];\n        stack[i] = stack[j];\n        stack[j] = t;\n      }\n\n      for (i = c, j = r; i < j; i++, j--) {\n        t = stack[i];\n        stack[i] = stack[j];\n        stack[j] = t;\n      }\n    }\n  };\n  return PostScriptStack;\n}();\n\nvar PostScriptEvaluator = function PostScriptEvaluatorClosure() {\n  function PostScriptEvaluator(operators) {\n    this.operators = operators;\n  }\n\n  PostScriptEvaluator.prototype = {\n    execute: function PostScriptEvaluator_execute(initialStack) {\n      var stack = new PostScriptStack(initialStack);\n      var counter = 0;\n      var operators = this.operators;\n      var length = operators.length;\n      var operator, a, b;\n\n      while (counter < length) {\n        operator = operators[counter++];\n\n        if (typeof operator === \"number\") {\n          stack.push(operator);\n          continue;\n        }\n\n        switch (operator) {\n          case \"jz\":\n            b = stack.pop();\n            a = stack.pop();\n\n            if (!a) {\n              counter = b;\n            }\n\n            break;\n\n          case \"j\":\n            a = stack.pop();\n            counter = a;\n            break;\n\n          case \"abs\":\n            a = stack.pop();\n            stack.push(Math.abs(a));\n            break;\n\n          case \"add\":\n            b = stack.pop();\n            a = stack.pop();\n            stack.push(a + b);\n            break;\n\n          case \"and\":\n            b = stack.pop();\n            a = stack.pop();\n\n            if ((0, _util.isBool)(a) && (0, _util.isBool)(b)) {\n              stack.push(a && b);\n            } else {\n              stack.push(a & b);\n            }\n\n            break;\n\n          case \"atan\":\n            a = stack.pop();\n            stack.push(Math.atan(a));\n            break;\n\n          case \"bitshift\":\n            b = stack.pop();\n            a = stack.pop();\n\n            if (a > 0) {\n              stack.push(a << b);\n            } else {\n              stack.push(a >> b);\n            }\n\n            break;\n\n          case \"ceiling\":\n            a = stack.pop();\n            stack.push(Math.ceil(a));\n            break;\n\n          case \"copy\":\n            a = stack.pop();\n            stack.copy(a);\n            break;\n\n          case \"cos\":\n            a = stack.pop();\n            stack.push(Math.cos(a));\n            break;\n\n          case \"cvi\":\n            a = stack.pop() | 0;\n            stack.push(a);\n            break;\n\n          case \"cvr\":\n            break;\n\n          case \"div\":\n            b = stack.pop();\n            a = stack.pop();\n            stack.push(a / b);\n            break;\n\n          case \"dup\":\n            stack.copy(1);\n            break;\n\n          case \"eq\":\n            b = stack.pop();\n            a = stack.pop();\n            stack.push(a === b);\n            break;\n\n          case \"exch\":\n            stack.roll(2, 1);\n            break;\n\n          case \"exp\":\n            b = stack.pop();\n            a = stack.pop();\n            stack.push(Math.pow(a, b));\n            break;\n\n          case \"false\":\n            stack.push(false);\n            break;\n\n          case \"floor\":\n            a = stack.pop();\n            stack.push(Math.floor(a));\n            break;\n\n          case \"ge\":\n            b = stack.pop();\n            a = stack.pop();\n            stack.push(a >= b);\n            break;\n\n          case \"gt\":\n            b = stack.pop();\n            a = stack.pop();\n            stack.push(a > b);\n            break;\n\n          case \"idiv\":\n            b = stack.pop();\n            a = stack.pop();\n            stack.push(a / b | 0);\n            break;\n\n          case \"index\":\n            a = stack.pop();\n            stack.index(a);\n            break;\n\n          case \"le\":\n            b = stack.pop();\n            a = stack.pop();\n            stack.push(a <= b);\n            break;\n\n          case \"ln\":\n            a = stack.pop();\n            stack.push(Math.log(a));\n            break;\n\n          case \"log\":\n            a = stack.pop();\n            stack.push(Math.log(a) / Math.LN10);\n            break;\n\n          case \"lt\":\n            b = stack.pop();\n            a = stack.pop();\n            stack.push(a < b);\n            break;\n\n          case \"mod\":\n            b = stack.pop();\n            a = stack.pop();\n            stack.push(a % b);\n            break;\n\n          case \"mul\":\n            b = stack.pop();\n            a = stack.pop();\n            stack.push(a * b);\n            break;\n\n          case \"ne\":\n            b = stack.pop();\n            a = stack.pop();\n            stack.push(a !== b);\n            break;\n\n          case \"neg\":\n            a = stack.pop();\n            stack.push(-a);\n            break;\n\n          case \"not\":\n            a = stack.pop();\n\n            if ((0, _util.isBool)(a)) {\n              stack.push(!a);\n            } else {\n              stack.push(~a);\n            }\n\n            break;\n\n          case \"or\":\n            b = stack.pop();\n            a = stack.pop();\n\n            if ((0, _util.isBool)(a) && (0, _util.isBool)(b)) {\n              stack.push(a || b);\n            } else {\n              stack.push(a | b);\n            }\n\n            break;\n\n          case \"pop\":\n            stack.pop();\n            break;\n\n          case \"roll\":\n            b = stack.pop();\n            a = stack.pop();\n            stack.roll(a, b);\n            break;\n\n          case \"round\":\n            a = stack.pop();\n            stack.push(Math.round(a));\n            break;\n\n          case \"sin\":\n            a = stack.pop();\n            stack.push(Math.sin(a));\n            break;\n\n          case \"sqrt\":\n            a = stack.pop();\n            stack.push(Math.sqrt(a));\n            break;\n\n          case \"sub\":\n            b = stack.pop();\n            a = stack.pop();\n            stack.push(a - b);\n            break;\n\n          case \"true\":\n            stack.push(true);\n            break;\n\n          case \"truncate\":\n            a = stack.pop();\n            a = a < 0 ? Math.ceil(a) : Math.floor(a);\n            stack.push(a);\n            break;\n\n          case \"xor\":\n            b = stack.pop();\n            a = stack.pop();\n\n            if ((0, _util.isBool)(a) && (0, _util.isBool)(b)) {\n              stack.push(a !== b);\n            } else {\n              stack.push(a ^ b);\n            }\n\n            break;\n\n          default:\n            throw new _util.FormatError(\"Unknown operator \".concat(operator));\n        }\n      }\n\n      return stack.stack;\n    }\n  };\n  return PostScriptEvaluator;\n}();\n\nexports.PostScriptEvaluator = PostScriptEvaluator;\n\nvar PostScriptCompiler = function PostScriptCompilerClosure() {\n  function AstNode(type) {\n    this.type = type;\n  }\n\n  AstNode.prototype.visit = function (visitor) {\n    (0, _util.unreachable)(\"abstract method\");\n  };\n\n  function AstArgument(index, min, max) {\n    AstNode.call(this, \"args\");\n    this.index = index;\n    this.min = min;\n    this.max = max;\n  }\n\n  AstArgument.prototype = Object.create(AstNode.prototype);\n\n  AstArgument.prototype.visit = function (visitor) {\n    visitor.visitArgument(this);\n  };\n\n  function AstLiteral(number) {\n    AstNode.call(this, \"literal\");\n    this.number = number;\n    this.min = number;\n    this.max = number;\n  }\n\n  AstLiteral.prototype = Object.create(AstNode.prototype);\n\n  AstLiteral.prototype.visit = function (visitor) {\n    visitor.visitLiteral(this);\n  };\n\n  function AstBinaryOperation(op, arg1, arg2, min, max) {\n    AstNode.call(this, \"binary\");\n    this.op = op;\n    this.arg1 = arg1;\n    this.arg2 = arg2;\n    this.min = min;\n    this.max = max;\n  }\n\n  AstBinaryOperation.prototype = Object.create(AstNode.prototype);\n\n  AstBinaryOperation.prototype.visit = function (visitor) {\n    visitor.visitBinaryOperation(this);\n  };\n\n  function AstMin(arg, max) {\n    AstNode.call(this, \"max\");\n    this.arg = arg;\n    this.min = arg.min;\n    this.max = max;\n  }\n\n  AstMin.prototype = Object.create(AstNode.prototype);\n\n  AstMin.prototype.visit = function (visitor) {\n    visitor.visitMin(this);\n  };\n\n  function AstVariable(index, min, max) {\n    AstNode.call(this, \"var\");\n    this.index = index;\n    this.min = min;\n    this.max = max;\n  }\n\n  AstVariable.prototype = Object.create(AstNode.prototype);\n\n  AstVariable.prototype.visit = function (visitor) {\n    visitor.visitVariable(this);\n  };\n\n  function AstVariableDefinition(variable, arg) {\n    AstNode.call(this, \"definition\");\n    this.variable = variable;\n    this.arg = arg;\n  }\n\n  AstVariableDefinition.prototype = Object.create(AstNode.prototype);\n\n  AstVariableDefinition.prototype.visit = function (visitor) {\n    visitor.visitVariableDefinition(this);\n  };\n\n  function ExpressionBuilderVisitor() {\n    this.parts = [];\n  }\n\n  ExpressionBuilderVisitor.prototype = {\n    visitArgument: function visitArgument(arg) {\n      this.parts.push(\"Math.max(\", arg.min, \", Math.min(\", arg.max, \", src[srcOffset + \", arg.index, \"]))\");\n    },\n    visitVariable: function visitVariable(variable) {\n      this.parts.push(\"v\", variable.index);\n    },\n    visitLiteral: function visitLiteral(literal) {\n      this.parts.push(literal.number);\n    },\n    visitBinaryOperation: function visitBinaryOperation(operation) {\n      this.parts.push(\"(\");\n      operation.arg1.visit(this);\n      this.parts.push(\" \", operation.op, \" \");\n      operation.arg2.visit(this);\n      this.parts.push(\")\");\n    },\n    visitVariableDefinition: function visitVariableDefinition(definition) {\n      this.parts.push(\"var \");\n      definition.variable.visit(this);\n      this.parts.push(\" = \");\n      definition.arg.visit(this);\n      this.parts.push(\";\");\n    },\n    visitMin: function visitMin(max) {\n      this.parts.push(\"Math.min(\");\n      max.arg.visit(this);\n      this.parts.push(\", \", max.max, \")\");\n    },\n    toString: function toString() {\n      return this.parts.join(\"\");\n    }\n  };\n\n  function buildAddOperation(num1, num2) {\n    if (num2.type === \"literal\" && num2.number === 0) {\n      return num1;\n    }\n\n    if (num1.type === \"literal\" && num1.number === 0) {\n      return num2;\n    }\n\n    if (num2.type === \"literal\" && num1.type === \"literal\") {\n      return new AstLiteral(num1.number + num2.number);\n    }\n\n    return new AstBinaryOperation(\"+\", num1, num2, num1.min + num2.min, num1.max + num2.max);\n  }\n\n  function buildMulOperation(num1, num2) {\n    if (num2.type === \"literal\") {\n      if (num2.number === 0) {\n        return new AstLiteral(0);\n      } else if (num2.number === 1) {\n        return num1;\n      } else if (num1.type === \"literal\") {\n        return new AstLiteral(num1.number * num2.number);\n      }\n    }\n\n    if (num1.type === \"literal\") {\n      if (num1.number === 0) {\n        return new AstLiteral(0);\n      } else if (num1.number === 1) {\n        return num2;\n      }\n    }\n\n    var min = Math.min(num1.min * num2.min, num1.min * num2.max, num1.max * num2.min, num1.max * num2.max);\n    var max = Math.max(num1.min * num2.min, num1.min * num2.max, num1.max * num2.min, num1.max * num2.max);\n    return new AstBinaryOperation(\"*\", num1, num2, min, max);\n  }\n\n  function buildSubOperation(num1, num2) {\n    if (num2.type === \"literal\") {\n      if (num2.number === 0) {\n        return num1;\n      } else if (num1.type === \"literal\") {\n        return new AstLiteral(num1.number - num2.number);\n      }\n    }\n\n    if (num2.type === \"binary\" && num2.op === \"-\" && num1.type === \"literal\" && num1.number === 1 && num2.arg1.type === \"literal\" && num2.arg1.number === 1) {\n      return num2.arg2;\n    }\n\n    return new AstBinaryOperation(\"-\", num1, num2, num1.min - num2.max, num1.max - num2.min);\n  }\n\n  function buildMinOperation(num1, max) {\n    if (num1.min >= max) {\n      return new AstLiteral(max);\n    } else if (num1.max <= max) {\n      return num1;\n    }\n\n    return new AstMin(num1, max);\n  }\n\n  function PostScriptCompiler() {}\n\n  PostScriptCompiler.prototype = {\n    compile: function PostScriptCompiler_compile(code, domain, range) {\n      var stack = [];\n      var instructions = [];\n      var inputSize = domain.length >> 1,\n          outputSize = range.length >> 1;\n      var lastRegister = 0;\n      var n, j;\n      var num1, num2, ast1, ast2, tmpVar, item;\n\n      for (var i = 0; i < inputSize; i++) {\n        stack.push(new AstArgument(i, domain[i * 2], domain[i * 2 + 1]));\n      }\n\n      for (var _i = 0, ii = code.length; _i < ii; _i++) {\n        item = code[_i];\n\n        if (typeof item === \"number\") {\n          stack.push(new AstLiteral(item));\n          continue;\n        }\n\n        switch (item) {\n          case \"add\":\n            if (stack.length < 2) {\n              return null;\n            }\n\n            num2 = stack.pop();\n            num1 = stack.pop();\n            stack.push(buildAddOperation(num1, num2));\n            break;\n\n          case \"cvr\":\n            if (stack.length < 1) {\n              return null;\n            }\n\n            break;\n\n          case \"mul\":\n            if (stack.length < 2) {\n              return null;\n            }\n\n            num2 = stack.pop();\n            num1 = stack.pop();\n            stack.push(buildMulOperation(num1, num2));\n            break;\n\n          case \"sub\":\n            if (stack.length < 2) {\n              return null;\n            }\n\n            num2 = stack.pop();\n            num1 = stack.pop();\n            stack.push(buildSubOperation(num1, num2));\n            break;\n\n          case \"exch\":\n            if (stack.length < 2) {\n              return null;\n            }\n\n            ast1 = stack.pop();\n            ast2 = stack.pop();\n            stack.push(ast1, ast2);\n            break;\n\n          case \"pop\":\n            if (stack.length < 1) {\n              return null;\n            }\n\n            stack.pop();\n            break;\n\n          case \"index\":\n            if (stack.length < 1) {\n              return null;\n            }\n\n            num1 = stack.pop();\n\n            if (num1.type !== \"literal\") {\n              return null;\n            }\n\n            n = num1.number;\n\n            if (n < 0 || !Number.isInteger(n) || stack.length < n) {\n              return null;\n            }\n\n            ast1 = stack[stack.length - n - 1];\n\n            if (ast1.type === \"literal\" || ast1.type === \"var\") {\n              stack.push(ast1);\n              break;\n            }\n\n            tmpVar = new AstVariable(lastRegister++, ast1.min, ast1.max);\n            stack[stack.length - n - 1] = tmpVar;\n            stack.push(tmpVar);\n            instructions.push(new AstVariableDefinition(tmpVar, ast1));\n            break;\n\n          case \"dup\":\n            if (stack.length < 1) {\n              return null;\n            }\n\n            if (typeof code[_i + 1] === \"number\" && code[_i + 2] === \"gt\" && code[_i + 3] === _i + 7 && code[_i + 4] === \"jz\" && code[_i + 5] === \"pop\" && code[_i + 6] === code[_i + 1]) {\n              num1 = stack.pop();\n              stack.push(buildMinOperation(num1, code[_i + 1]));\n              _i += 6;\n              break;\n            }\n\n            ast1 = stack[stack.length - 1];\n\n            if (ast1.type === \"literal\" || ast1.type === \"var\") {\n              stack.push(ast1);\n              break;\n            }\n\n            tmpVar = new AstVariable(lastRegister++, ast1.min, ast1.max);\n            stack[stack.length - 1] = tmpVar;\n            stack.push(tmpVar);\n            instructions.push(new AstVariableDefinition(tmpVar, ast1));\n            break;\n\n          case \"roll\":\n            if (stack.length < 2) {\n              return null;\n            }\n\n            num2 = stack.pop();\n            num1 = stack.pop();\n\n            if (num2.type !== \"literal\" || num1.type !== \"literal\") {\n              return null;\n            }\n\n            j = num2.number;\n            n = num1.number;\n\n            if (n <= 0 || !Number.isInteger(n) || !Number.isInteger(j) || stack.length < n) {\n              return null;\n            }\n\n            j = (j % n + n) % n;\n\n            if (j === 0) {\n              break;\n            }\n\n            Array.prototype.push.apply(stack, stack.splice(stack.length - n, n - j));\n            break;\n\n          default:\n            return null;\n        }\n      }\n\n      if (stack.length !== outputSize) {\n        return null;\n      }\n\n      var result = [];\n      instructions.forEach(function (instruction) {\n        var statementBuilder = new ExpressionBuilderVisitor();\n        instruction.visit(statementBuilder);\n        result.push(statementBuilder.toString());\n      });\n      stack.forEach(function (expr, i) {\n        var statementBuilder = new ExpressionBuilderVisitor();\n        expr.visit(statementBuilder);\n        var min = range[i * 2],\n            max = range[i * 2 + 1];\n        var out = [statementBuilder.toString()];\n\n        if (min > expr.min) {\n          out.unshift(\"Math.max(\", min, \", \");\n          out.push(\")\");\n        }\n\n        if (max < expr.max) {\n          out.unshift(\"Math.min(\", max, \", \");\n          out.push(\")\");\n        }\n\n        out.unshift(\"dest[destOffset + \", i, \"] = \");\n        out.push(\";\");\n        result.push(out.join(\"\"));\n      });\n      return result.join(\"\\n\");\n    }\n  };\n  return PostScriptCompiler;\n}();\n\nexports.PostScriptCompiler = PostScriptCompiler;\n\n/***/ }),\n/* 235 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.PostScriptParser = exports.PostScriptLexer = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _primitives = __w_pdfjs_require__(198);\n\nvar _core_utils = __w_pdfjs_require__(201);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar PostScriptParser = /*#__PURE__*/function () {\n  function PostScriptParser(lexer) {\n    _classCallCheck(this, PostScriptParser);\n\n    this.lexer = lexer;\n    this.operators = [];\n    this.token = null;\n    this.prev = null;\n  }\n\n  _createClass(PostScriptParser, [{\n    key: \"nextToken\",\n    value: function nextToken() {\n      this.prev = this.token;\n      this.token = this.lexer.getToken();\n    }\n  }, {\n    key: \"accept\",\n    value: function accept(type) {\n      if (this.token.type === type) {\n        this.nextToken();\n        return true;\n      }\n\n      return false;\n    }\n  }, {\n    key: \"expect\",\n    value: function expect(type) {\n      if (this.accept(type)) {\n        return true;\n      }\n\n      throw new _util.FormatError(\"Unexpected symbol: found \".concat(this.token.type, \" expected \").concat(type, \".\"));\n    }\n  }, {\n    key: \"parse\",\n    value: function parse() {\n      this.nextToken();\n      this.expect(PostScriptTokenTypes.LBRACE);\n      this.parseBlock();\n      this.expect(PostScriptTokenTypes.RBRACE);\n      return this.operators;\n    }\n  }, {\n    key: \"parseBlock\",\n    value: function parseBlock() {\n      while (true) {\n        if (this.accept(PostScriptTokenTypes.NUMBER)) {\n          this.operators.push(this.prev.value);\n        } else if (this.accept(PostScriptTokenTypes.OPERATOR)) {\n          this.operators.push(this.prev.value);\n        } else if (this.accept(PostScriptTokenTypes.LBRACE)) {\n          this.parseCondition();\n        } else {\n          return;\n        }\n      }\n    }\n  }, {\n    key: \"parseCondition\",\n    value: function parseCondition() {\n      var conditionLocation = this.operators.length;\n      this.operators.push(null, null);\n      this.parseBlock();\n      this.expect(PostScriptTokenTypes.RBRACE);\n\n      if (this.accept(PostScriptTokenTypes.IF)) {\n        this.operators[conditionLocation] = this.operators.length;\n        this.operators[conditionLocation + 1] = \"jz\";\n      } else if (this.accept(PostScriptTokenTypes.LBRACE)) {\n        var jumpLocation = this.operators.length;\n        this.operators.push(null, null);\n        var endOfTrue = this.operators.length;\n        this.parseBlock();\n        this.expect(PostScriptTokenTypes.RBRACE);\n        this.expect(PostScriptTokenTypes.IFELSE);\n        this.operators[jumpLocation] = this.operators.length;\n        this.operators[jumpLocation + 1] = \"j\";\n        this.operators[conditionLocation] = endOfTrue;\n        this.operators[conditionLocation + 1] = \"jz\";\n      } else {\n        throw new _util.FormatError(\"PS Function: error parsing conditional.\");\n      }\n    }\n  }]);\n\n  return PostScriptParser;\n}();\n\nexports.PostScriptParser = PostScriptParser;\nvar PostScriptTokenTypes = {\n  LBRACE: 0,\n  RBRACE: 1,\n  NUMBER: 2,\n  OPERATOR: 3,\n  IF: 4,\n  IFELSE: 5\n};\n\nvar PostScriptToken = function PostScriptTokenClosure() {\n  var opCache = Object.create(null);\n\n  var PostScriptToken = /*#__PURE__*/function () {\n    function PostScriptToken(type, value) {\n      _classCallCheck(this, PostScriptToken);\n\n      this.type = type;\n      this.value = value;\n    }\n\n    _createClass(PostScriptToken, null, [{\n      key: \"getOperator\",\n      value: function getOperator(op) {\n        var opValue = opCache[op];\n\n        if (opValue) {\n          return opValue;\n        }\n\n        return opCache[op] = new PostScriptToken(PostScriptTokenTypes.OPERATOR, op);\n      }\n    }, {\n      key: \"LBRACE\",\n      get: function get() {\n        return (0, _util.shadow)(this, \"LBRACE\", new PostScriptToken(PostScriptTokenTypes.LBRACE, \"{\"));\n      }\n    }, {\n      key: \"RBRACE\",\n      get: function get() {\n        return (0, _util.shadow)(this, \"RBRACE\", new PostScriptToken(PostScriptTokenTypes.RBRACE, \"}\"));\n      }\n    }, {\n      key: \"IF\",\n      get: function get() {\n        return (0, _util.shadow)(this, \"IF\", new PostScriptToken(PostScriptTokenTypes.IF, \"IF\"));\n      }\n    }, {\n      key: \"IFELSE\",\n      get: function get() {\n        return (0, _util.shadow)(this, \"IFELSE\", new PostScriptToken(PostScriptTokenTypes.IFELSE, \"IFELSE\"));\n      }\n    }]);\n\n    return PostScriptToken;\n  }();\n\n  return PostScriptToken;\n}();\n\nvar PostScriptLexer = /*#__PURE__*/function () {\n  function PostScriptLexer(stream) {\n    _classCallCheck(this, PostScriptLexer);\n\n    this.stream = stream;\n    this.nextChar();\n    this.strBuf = [];\n  }\n\n  _createClass(PostScriptLexer, [{\n    key: \"nextChar\",\n    value: function nextChar() {\n      return this.currentChar = this.stream.getByte();\n    }\n  }, {\n    key: \"getToken\",\n    value: function getToken() {\n      var comment = false;\n      var ch = this.currentChar;\n\n      while (true) {\n        if (ch < 0) {\n          return _primitives.EOF;\n        }\n\n        if (comment) {\n          if (ch === 0x0a || ch === 0x0d) {\n            comment = false;\n          }\n        } else if (ch === 0x25) {\n          comment = true;\n        } else if (!(0, _core_utils.isWhiteSpace)(ch)) {\n          break;\n        }\n\n        ch = this.nextChar();\n      }\n\n      switch (ch | 0) {\n        case 0x30:\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n        case 0x2b:\n        case 0x2d:\n        case 0x2e:\n          return new PostScriptToken(PostScriptTokenTypes.NUMBER, this.getNumber());\n\n        case 0x7b:\n          this.nextChar();\n          return PostScriptToken.LBRACE;\n\n        case 0x7d:\n          this.nextChar();\n          return PostScriptToken.RBRACE;\n      }\n\n      var strBuf = this.strBuf;\n      strBuf.length = 0;\n      strBuf[0] = String.fromCharCode(ch);\n\n      while ((ch = this.nextChar()) >= 0 && (ch >= 0x41 && ch <= 0x5a || ch >= 0x61 && ch <= 0x7a)) {\n        strBuf.push(String.fromCharCode(ch));\n      }\n\n      var str = strBuf.join(\"\");\n\n      switch (str.toLowerCase()) {\n        case \"if\":\n          return PostScriptToken.IF;\n\n        case \"ifelse\":\n          return PostScriptToken.IFELSE;\n\n        default:\n          return PostScriptToken.getOperator(str);\n      }\n    }\n  }, {\n    key: \"getNumber\",\n    value: function getNumber() {\n      var ch = this.currentChar;\n      var strBuf = this.strBuf;\n      strBuf.length = 0;\n      strBuf[0] = String.fromCharCode(ch);\n\n      while ((ch = this.nextChar()) >= 0) {\n        if (ch >= 0x30 && ch <= 0x39 || ch === 0x2d || ch === 0x2e) {\n          strBuf.push(String.fromCharCode(ch));\n        } else {\n          break;\n        }\n      }\n\n      var value = parseFloat(strBuf.join(\"\"));\n\n      if (isNaN(value)) {\n        throw new _util.FormatError(\"Invalid floating point number: \".concat(value));\n      }\n\n      return value;\n    }\n  }]);\n\n  return PostScriptLexer;\n}();\n\nexports.PostScriptLexer = PostScriptLexer;\n\n/***/ }),\n/* 236 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.MurmurHash3_64 = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar SEED = 0xc3d2e1f0;\nvar MASK_HIGH = 0xffff0000;\nvar MASK_LOW = 0xffff;\n\nvar MurmurHash3_64 = /*#__PURE__*/function () {\n  function MurmurHash3_64(seed) {\n    _classCallCheck(this, MurmurHash3_64);\n\n    this.h1 = seed ? seed & 0xffffffff : SEED;\n    this.h2 = seed ? seed & 0xffffffff : SEED;\n  }\n\n  _createClass(MurmurHash3_64, [{\n    key: \"update\",\n    value: function update(input) {\n      var data, length;\n\n      if ((0, _util.isString)(input)) {\n        data = new Uint8Array(input.length * 2);\n        length = 0;\n\n        for (var i = 0, ii = input.length; i < ii; i++) {\n          var code = input.charCodeAt(i);\n\n          if (code <= 0xff) {\n            data[length++] = code;\n          } else {\n            data[length++] = code >>> 8;\n            data[length++] = code & 0xff;\n          }\n        }\n      } else if ((0, _util.isArrayBuffer)(input)) {\n        data = input;\n        length = data.byteLength;\n      } else {\n        throw new Error(\"Wrong data format in MurmurHash3_64_update. \" + \"Input must be a string or array.\");\n      }\n\n      var blockCounts = length >> 2;\n      var tailLength = length - blockCounts * 4;\n      var dataUint32 = new Uint32Array(data.buffer, 0, blockCounts);\n      var k1 = 0,\n          k2 = 0;\n      var h1 = this.h1,\n          h2 = this.h2;\n      var C1 = 0xcc9e2d51,\n          C2 = 0x1b873593;\n      var C1_LOW = C1 & MASK_LOW,\n          C2_LOW = C2 & MASK_LOW;\n\n      for (var _i = 0; _i < blockCounts; _i++) {\n        if (_i & 1) {\n          k1 = dataUint32[_i];\n          k1 = k1 * C1 & MASK_HIGH | k1 * C1_LOW & MASK_LOW;\n          k1 = k1 << 15 | k1 >>> 17;\n          k1 = k1 * C2 & MASK_HIGH | k1 * C2_LOW & MASK_LOW;\n          h1 ^= k1;\n          h1 = h1 << 13 | h1 >>> 19;\n          h1 = h1 * 5 + 0xe6546b64;\n        } else {\n          k2 = dataUint32[_i];\n          k2 = k2 * C1 & MASK_HIGH | k2 * C1_LOW & MASK_LOW;\n          k2 = k2 << 15 | k2 >>> 17;\n          k2 = k2 * C2 & MASK_HIGH | k2 * C2_LOW & MASK_LOW;\n          h2 ^= k2;\n          h2 = h2 << 13 | h2 >>> 19;\n          h2 = h2 * 5 + 0xe6546b64;\n        }\n      }\n\n      k1 = 0;\n\n      switch (tailLength) {\n        case 3:\n          k1 ^= data[blockCounts * 4 + 2] << 16;\n\n        case 2:\n          k1 ^= data[blockCounts * 4 + 1] << 8;\n\n        case 1:\n          k1 ^= data[blockCounts * 4];\n          k1 = k1 * C1 & MASK_HIGH | k1 * C1_LOW & MASK_LOW;\n          k1 = k1 << 15 | k1 >>> 17;\n          k1 = k1 * C2 & MASK_HIGH | k1 * C2_LOW & MASK_LOW;\n\n          if (blockCounts & 1) {\n            h1 ^= k1;\n          } else {\n            h2 ^= k1;\n          }\n\n      }\n\n      this.h1 = h1;\n      this.h2 = h2;\n    }\n  }, {\n    key: \"hexdigest\",\n    value: function hexdigest() {\n      var h1 = this.h1,\n          h2 = this.h2;\n      h1 ^= h2 >>> 1;\n      h1 = h1 * 0xed558ccd & MASK_HIGH | h1 * 0x8ccd & MASK_LOW;\n      h2 = h2 * 0xff51afd7 & MASK_HIGH | ((h2 << 16 | h1 >>> 16) * 0xafd7ed55 & MASK_HIGH) >>> 16;\n      h1 ^= h2 >>> 1;\n      h1 = h1 * 0x1a85ec53 & MASK_HIGH | h1 * 0xec53 & MASK_LOW;\n      h2 = h2 * 0xc4ceb9fe & MASK_HIGH | ((h2 << 16 | h1 >>> 16) * 0xb9fe1a85 & MASK_HIGH) >>> 16;\n      h1 ^= h2 >>> 1;\n      var hex1 = (h1 >>> 0).toString(16),\n          hex2 = (h2 >>> 0).toString(16);\n      return hex1.padStart(8, \"0\") + hex2.padStart(8, \"0\");\n    }\n  }]);\n\n  return MurmurHash3_64;\n}();\n\nexports.MurmurHash3_64 = MurmurHash3_64;\n\n/***/ }),\n/* 237 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.PDFImage = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _primitives = __w_pdfjs_require__(198);\n\nvar _colorspace = __w_pdfjs_require__(216);\n\nvar _stream = __w_pdfjs_require__(205);\n\nvar _jpeg_stream = __w_pdfjs_require__(211);\n\nvar _jpx = __w_pdfjs_require__(214);\n\nvar PDFImage = function PDFImageClosure() {\n  function decodeAndClamp(value, addend, coefficient, max) {\n    value = addend + value * coefficient;\n\n    if (value < 0) {\n      value = 0;\n    } else if (value > max) {\n      value = max;\n    }\n\n    return value;\n  }\n\n  function resizeImageMask(src, bpc, w1, h1, w2, h2) {\n    var length = w2 * h2;\n    var dest;\n\n    if (bpc <= 8) {\n      dest = new Uint8Array(length);\n    } else if (bpc <= 16) {\n      dest = new Uint16Array(length);\n    } else {\n      dest = new Uint32Array(length);\n    }\n\n    var xRatio = w1 / w2;\n    var yRatio = h1 / h2;\n    var i,\n        j,\n        py,\n        newIndex = 0,\n        oldIndex;\n    var xScaled = new Uint16Array(w2);\n    var w1Scanline = w1;\n\n    for (i = 0; i < w2; i++) {\n      xScaled[i] = Math.floor(i * xRatio);\n    }\n\n    for (i = 0; i < h2; i++) {\n      py = Math.floor(i * yRatio) * w1Scanline;\n\n      for (j = 0; j < w2; j++) {\n        oldIndex = py + xScaled[j];\n        dest[newIndex++] = src[oldIndex];\n      }\n    }\n\n    return dest;\n  }\n\n  function PDFImage(_ref) {\n    var xref = _ref.xref,\n        res = _ref.res,\n        image = _ref.image,\n        _ref$isInline = _ref.isInline,\n        isInline = _ref$isInline === void 0 ? false : _ref$isInline,\n        _ref$smask = _ref.smask,\n        smask = _ref$smask === void 0 ? null : _ref$smask,\n        _ref$mask = _ref.mask,\n        mask = _ref$mask === void 0 ? null : _ref$mask,\n        _ref$isMask = _ref.isMask,\n        isMask = _ref$isMask === void 0 ? false : _ref$isMask,\n        pdfFunctionFactory = _ref.pdfFunctionFactory;\n    this.image = image;\n    var dict = image.dict;\n    var filter = dict.get(\"Filter\");\n\n    if ((0, _primitives.isName)(filter)) {\n      switch (filter.name) {\n        case \"JPXDecode\":\n          var jpxImage = new _jpx.JpxImage();\n          jpxImage.parseImageProperties(image.stream);\n          image.stream.reset();\n          image.width = jpxImage.width;\n          image.height = jpxImage.height;\n          image.bitsPerComponent = jpxImage.bitsPerComponent;\n          image.numComps = jpxImage.componentsCount;\n          break;\n\n        case \"JBIG2Decode\":\n          image.bitsPerComponent = 1;\n          image.numComps = 1;\n          break;\n      }\n    }\n\n    var width = dict.get(\"Width\", \"W\");\n    var height = dict.get(\"Height\", \"H\");\n\n    if (Number.isInteger(image.width) && image.width > 0 && Number.isInteger(image.height) && image.height > 0 && (image.width !== width || image.height !== height)) {\n      (0, _util.warn)(\"PDFImage - using the Width/Height of the image data, \" + \"rather than the image dictionary.\");\n      width = image.width;\n      height = image.height;\n    }\n\n    if (width < 1 || height < 1) {\n      throw new _util.FormatError(\"Invalid image width: \".concat(width, \" or height: \").concat(height));\n    }\n\n    this.width = width;\n    this.height = height;\n    this.interpolate = dict.get(\"Interpolate\", \"I\") || false;\n    this.imageMask = dict.get(\"ImageMask\", \"IM\") || false;\n    this.matte = dict.get(\"Matte\") || false;\n    var bitsPerComponent = image.bitsPerComponent;\n\n    if (!bitsPerComponent) {\n      bitsPerComponent = dict.get(\"BitsPerComponent\", \"BPC\");\n\n      if (!bitsPerComponent) {\n        if (this.imageMask) {\n          bitsPerComponent = 1;\n        } else {\n          throw new _util.FormatError(\"Bits per component missing in image: \".concat(this.imageMask));\n        }\n      }\n    }\n\n    this.bpc = bitsPerComponent;\n\n    if (!this.imageMask) {\n      var colorSpace = dict.get(\"ColorSpace\", \"CS\");\n\n      if (!colorSpace) {\n        (0, _util.info)(\"JPX images (which do not require color spaces)\");\n\n        switch (image.numComps) {\n          case 1:\n            colorSpace = _primitives.Name.get(\"DeviceGray\");\n            break;\n\n          case 3:\n            colorSpace = _primitives.Name.get(\"DeviceRGB\");\n            break;\n\n          case 4:\n            colorSpace = _primitives.Name.get(\"DeviceCMYK\");\n            break;\n\n          default:\n            throw new Error(\"JPX images with \".concat(image.numComps, \" \") + \"color components not supported.\");\n        }\n      }\n\n      var resources = isInline ? res : null;\n      this.colorSpace = _colorspace.ColorSpace.parse(colorSpace, xref, resources, pdfFunctionFactory);\n      this.numComps = this.colorSpace.numComps;\n    }\n\n    this.decode = dict.getArray(\"Decode\", \"D\");\n    this.needsDecode = false;\n\n    if (this.decode && (this.colorSpace && !this.colorSpace.isDefaultDecode(this.decode, bitsPerComponent) || isMask && !_colorspace.ColorSpace.isDefaultDecode(this.decode, 1))) {\n      this.needsDecode = true;\n      var max = (1 << bitsPerComponent) - 1;\n      this.decodeCoefficients = [];\n      this.decodeAddends = [];\n      var isIndexed = this.colorSpace && this.colorSpace.name === \"Indexed\";\n\n      for (var i = 0, j = 0; i < this.decode.length; i += 2, ++j) {\n        var dmin = this.decode[i];\n        var dmax = this.decode[i + 1];\n        this.decodeCoefficients[j] = isIndexed ? (dmax - dmin) / max : dmax - dmin;\n        this.decodeAddends[j] = isIndexed ? dmin : max * dmin;\n      }\n    }\n\n    if (smask) {\n      this.smask = new PDFImage({\n        xref: xref,\n        res: res,\n        image: smask,\n        isInline: isInline,\n        pdfFunctionFactory: pdfFunctionFactory\n      });\n    } else if (mask) {\n      if ((0, _primitives.isStream)(mask)) {\n        var maskDict = mask.dict,\n            imageMask = maskDict.get(\"ImageMask\", \"IM\");\n\n        if (!imageMask) {\n          (0, _util.warn)(\"Ignoring /Mask in image without /ImageMask.\");\n        } else {\n          this.mask = new PDFImage({\n            xref: xref,\n            res: res,\n            image: mask,\n            isInline: isInline,\n            isMask: true,\n            pdfFunctionFactory: pdfFunctionFactory\n          });\n        }\n      } else {\n        this.mask = mask;\n      }\n    }\n  }\n\n  PDFImage.buildImage = function (_ref2) {\n    var xref = _ref2.xref,\n        res = _ref2.res,\n        image = _ref2.image,\n        _ref2$isInline = _ref2.isInline,\n        isInline = _ref2$isInline === void 0 ? false : _ref2$isInline,\n        pdfFunctionFactory = _ref2.pdfFunctionFactory;\n    var imageData = image;\n    var smaskData = null;\n    var maskData = null;\n    var smask = image.dict.get(\"SMask\");\n    var mask = image.dict.get(\"Mask\");\n\n    if (smask) {\n      smaskData = smask;\n    } else if (mask) {\n      if ((0, _primitives.isStream)(mask) || Array.isArray(mask)) {\n        maskData = mask;\n      } else {\n        (0, _util.warn)(\"Unsupported mask format.\");\n      }\n    }\n\n    return Promise.resolve(new PDFImage({\n      xref: xref,\n      res: res,\n      image: imageData,\n      isInline: isInline,\n      smask: smaskData,\n      mask: maskData,\n      pdfFunctionFactory: pdfFunctionFactory\n    }));\n  };\n\n  PDFImage.createMask = function (_ref3) {\n    var imgArray = _ref3.imgArray,\n        width = _ref3.width,\n        height = _ref3.height,\n        imageIsFromDecodeStream = _ref3.imageIsFromDecodeStream,\n        inverseDecode = _ref3.inverseDecode;\n    var computedLength = (width + 7 >> 3) * height;\n    var actualLength = imgArray.byteLength;\n    var haveFullData = computedLength === actualLength;\n    var data, i;\n\n    if (imageIsFromDecodeStream && (!inverseDecode || haveFullData)) {\n      data = imgArray;\n    } else if (!inverseDecode) {\n      data = new Uint8ClampedArray(actualLength);\n      data.set(imgArray);\n    } else {\n      data = new Uint8ClampedArray(computedLength);\n      data.set(imgArray);\n\n      for (i = actualLength; i < computedLength; i++) {\n        data[i] = 0xff;\n      }\n    }\n\n    if (inverseDecode) {\n      for (i = 0; i < actualLength; i++) {\n        data[i] ^= 0xff;\n      }\n    }\n\n    return {\n      data: data,\n      width: width,\n      height: height\n    };\n  };\n\n  PDFImage.prototype = {\n    get drawWidth() {\n      return Math.max(this.width, this.smask && this.smask.width || 0, this.mask && this.mask.width || 0);\n    },\n\n    get drawHeight() {\n      return Math.max(this.height, this.smask && this.smask.height || 0, this.mask && this.mask.height || 0);\n    },\n\n    decodeBuffer: function decodeBuffer(buffer) {\n      var bpc = this.bpc;\n      var numComps = this.numComps;\n      var decodeAddends = this.decodeAddends;\n      var decodeCoefficients = this.decodeCoefficients;\n      var max = (1 << bpc) - 1;\n      var i, ii;\n\n      if (bpc === 1) {\n        for (i = 0, ii = buffer.length; i < ii; i++) {\n          buffer[i] = +!buffer[i];\n        }\n\n        return;\n      }\n\n      var index = 0;\n\n      for (i = 0, ii = this.width * this.height; i < ii; i++) {\n        for (var j = 0; j < numComps; j++) {\n          buffer[index] = decodeAndClamp(buffer[index], decodeAddends[j], decodeCoefficients[j], max);\n          index++;\n        }\n      }\n    },\n    getComponents: function getComponents(buffer) {\n      var bpc = this.bpc;\n\n      if (bpc === 8) {\n        return buffer;\n      }\n\n      var width = this.width;\n      var height = this.height;\n      var numComps = this.numComps;\n      var length = width * height * numComps;\n      var bufferPos = 0;\n      var output;\n\n      if (bpc <= 8) {\n        output = new Uint8Array(length);\n      } else if (bpc <= 16) {\n        output = new Uint16Array(length);\n      } else {\n        output = new Uint32Array(length);\n      }\n\n      var rowComps = width * numComps;\n      var max = (1 << bpc) - 1;\n      var i = 0,\n          ii,\n          buf;\n\n      if (bpc === 1) {\n        var mask, loop1End, loop2End;\n\n        for (var j = 0; j < height; j++) {\n          loop1End = i + (rowComps & ~7);\n          loop2End = i + rowComps;\n\n          while (i < loop1End) {\n            buf = buffer[bufferPos++];\n            output[i] = buf >> 7 & 1;\n            output[i + 1] = buf >> 6 & 1;\n            output[i + 2] = buf >> 5 & 1;\n            output[i + 3] = buf >> 4 & 1;\n            output[i + 4] = buf >> 3 & 1;\n            output[i + 5] = buf >> 2 & 1;\n            output[i + 6] = buf >> 1 & 1;\n            output[i + 7] = buf & 1;\n            i += 8;\n          }\n\n          if (i < loop2End) {\n            buf = buffer[bufferPos++];\n            mask = 128;\n\n            while (i < loop2End) {\n              output[i++] = +!!(buf & mask);\n              mask >>= 1;\n            }\n          }\n        }\n      } else {\n        var bits = 0;\n        buf = 0;\n\n        for (i = 0, ii = length; i < ii; ++i) {\n          if (i % rowComps === 0) {\n            buf = 0;\n            bits = 0;\n          }\n\n          while (bits < bpc) {\n            buf = buf << 8 | buffer[bufferPos++];\n            bits += 8;\n          }\n\n          var remainingBits = bits - bpc;\n          var value = buf >> remainingBits;\n\n          if (value < 0) {\n            value = 0;\n          } else if (value > max) {\n            value = max;\n          }\n\n          output[i] = value;\n          buf = buf & (1 << remainingBits) - 1;\n          bits = remainingBits;\n        }\n      }\n\n      return output;\n    },\n    fillOpacity: function fillOpacity(rgbaBuf, width, height, actualHeight, image) {\n      var smask = this.smask;\n      var mask = this.mask;\n      var alphaBuf, sw, sh, i, ii, j;\n\n      if (smask) {\n        sw = smask.width;\n        sh = smask.height;\n        alphaBuf = new Uint8ClampedArray(sw * sh);\n        smask.fillGrayBuffer(alphaBuf);\n\n        if (sw !== width || sh !== height) {\n          alphaBuf = resizeImageMask(alphaBuf, smask.bpc, sw, sh, width, height);\n        }\n      } else if (mask) {\n        if (mask instanceof PDFImage) {\n          sw = mask.width;\n          sh = mask.height;\n          alphaBuf = new Uint8ClampedArray(sw * sh);\n          mask.numComps = 1;\n          mask.fillGrayBuffer(alphaBuf);\n\n          for (i = 0, ii = sw * sh; i < ii; ++i) {\n            alphaBuf[i] = 255 - alphaBuf[i];\n          }\n\n          if (sw !== width || sh !== height) {\n            alphaBuf = resizeImageMask(alphaBuf, mask.bpc, sw, sh, width, height);\n          }\n        } else if (Array.isArray(mask)) {\n          alphaBuf = new Uint8ClampedArray(width * height);\n          var numComps = this.numComps;\n\n          for (i = 0, ii = width * height; i < ii; ++i) {\n            var opacity = 0;\n            var imageOffset = i * numComps;\n\n            for (j = 0; j < numComps; ++j) {\n              var color = image[imageOffset + j];\n              var maskOffset = j * 2;\n\n              if (color < mask[maskOffset] || color > mask[maskOffset + 1]) {\n                opacity = 255;\n                break;\n              }\n            }\n\n            alphaBuf[i] = opacity;\n          }\n        } else {\n          throw new _util.FormatError(\"Unknown mask format.\");\n        }\n      }\n\n      if (alphaBuf) {\n        for (i = 0, j = 3, ii = width * actualHeight; i < ii; ++i, j += 4) {\n          rgbaBuf[j] = alphaBuf[i];\n        }\n      } else {\n        for (i = 0, j = 3, ii = width * actualHeight; i < ii; ++i, j += 4) {\n          rgbaBuf[j] = 255;\n        }\n      }\n    },\n    undoPreblend: function undoPreblend(buffer, width, height) {\n      var matte = this.smask && this.smask.matte;\n\n      if (!matte) {\n        return;\n      }\n\n      var matteRgb = this.colorSpace.getRgb(matte, 0);\n      var matteR = matteRgb[0];\n      var matteG = matteRgb[1];\n      var matteB = matteRgb[2];\n      var length = width * height * 4;\n\n      for (var i = 0; i < length; i += 4) {\n        var alpha = buffer[i + 3];\n\n        if (alpha === 0) {\n          buffer[i] = 255;\n          buffer[i + 1] = 255;\n          buffer[i + 2] = 255;\n          continue;\n        }\n\n        var k = 255 / alpha;\n        buffer[i] = (buffer[i] - matteR) * k + matteR;\n        buffer[i + 1] = (buffer[i + 1] - matteG) * k + matteG;\n        buffer[i + 2] = (buffer[i + 2] - matteB) * k + matteB;\n      }\n    },\n    createImageData: function createImageData() {\n      var forceRGBA = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n      var drawWidth = this.drawWidth;\n      var drawHeight = this.drawHeight;\n      var imgData = {\n        width: drawWidth,\n        height: drawHeight,\n        kind: 0,\n        data: null\n      };\n      var numComps = this.numComps;\n      var originalWidth = this.width;\n      var originalHeight = this.height;\n      var bpc = this.bpc;\n      var rowBytes = originalWidth * numComps * bpc + 7 >> 3;\n      var imgArray;\n\n      if (!forceRGBA) {\n        var kind;\n\n        if (this.colorSpace.name === \"DeviceGray\" && bpc === 1) {\n          kind = _util.ImageKind.GRAYSCALE_1BPP;\n        } else if (this.colorSpace.name === \"DeviceRGB\" && bpc === 8 && !this.needsDecode) {\n          kind = _util.ImageKind.RGB_24BPP;\n        }\n\n        if (kind && !this.smask && !this.mask && drawWidth === originalWidth && drawHeight === originalHeight) {\n          imgData.kind = kind;\n          imgArray = this.getImageBytes(originalHeight * rowBytes);\n\n          if (this.image instanceof _stream.DecodeStream) {\n            imgData.data = imgArray;\n          } else {\n            var newArray = new Uint8ClampedArray(imgArray.length);\n            newArray.set(imgArray);\n            imgData.data = newArray;\n          }\n\n          if (this.needsDecode) {\n            (0, _util.assert)(kind === _util.ImageKind.GRAYSCALE_1BPP, \"PDFImage.createImageData: The image must be grayscale.\");\n            var buffer = imgData.data;\n\n            for (var i = 0, ii = buffer.length; i < ii; i++) {\n              buffer[i] ^= 0xff;\n            }\n          }\n\n          return imgData;\n        }\n\n        if (this.image instanceof _jpeg_stream.JpegStream && !this.smask && !this.mask) {\n          var imageLength = originalHeight * rowBytes;\n\n          switch (this.colorSpace.name) {\n            case \"DeviceGray\":\n              imageLength *= 3;\n\n            case \"DeviceRGB\":\n            case \"DeviceCMYK\":\n              imgData.kind = _util.ImageKind.RGB_24BPP;\n              imgData.data = this.getImageBytes(imageLength, drawWidth, drawHeight, true);\n              return imgData;\n          }\n        }\n      }\n\n      imgArray = this.getImageBytes(originalHeight * rowBytes);\n      var actualHeight = 0 | imgArray.length / rowBytes * drawHeight / originalHeight;\n      var comps = this.getComponents(imgArray);\n      var alpha01, maybeUndoPreblend;\n\n      if (!forceRGBA && !this.smask && !this.mask) {\n        imgData.kind = _util.ImageKind.RGB_24BPP;\n        imgData.data = new Uint8ClampedArray(drawWidth * drawHeight * 3);\n        alpha01 = 0;\n        maybeUndoPreblend = false;\n      } else {\n        imgData.kind = _util.ImageKind.RGBA_32BPP;\n        imgData.data = new Uint8ClampedArray(drawWidth * drawHeight * 4);\n        alpha01 = 1;\n        maybeUndoPreblend = true;\n        this.fillOpacity(imgData.data, drawWidth, drawHeight, actualHeight, comps);\n      }\n\n      if (this.needsDecode) {\n        this.decodeBuffer(comps);\n      }\n\n      this.colorSpace.fillRgb(imgData.data, originalWidth, originalHeight, drawWidth, drawHeight, actualHeight, bpc, comps, alpha01);\n\n      if (maybeUndoPreblend) {\n        this.undoPreblend(imgData.data, drawWidth, actualHeight);\n      }\n\n      return imgData;\n    },\n    fillGrayBuffer: function fillGrayBuffer(buffer) {\n      var numComps = this.numComps;\n\n      if (numComps !== 1) {\n        throw new _util.FormatError(\"Reading gray scale from a color image: \".concat(numComps));\n      }\n\n      var width = this.width;\n      var height = this.height;\n      var bpc = this.bpc;\n      var rowBytes = width * numComps * bpc + 7 >> 3;\n      var imgArray = this.getImageBytes(height * rowBytes);\n      var comps = this.getComponents(imgArray);\n      var i, length;\n\n      if (bpc === 1) {\n        length = width * height;\n\n        if (this.needsDecode) {\n          for (i = 0; i < length; ++i) {\n            buffer[i] = comps[i] - 1 & 255;\n          }\n        } else {\n          for (i = 0; i < length; ++i) {\n            buffer[i] = -comps[i] & 255;\n          }\n        }\n\n        return;\n      }\n\n      if (this.needsDecode) {\n        this.decodeBuffer(comps);\n      }\n\n      length = width * height;\n      var scale = 255 / ((1 << bpc) - 1);\n\n      for (i = 0; i < length; ++i) {\n        buffer[i] = scale * comps[i];\n      }\n    },\n    getImageBytes: function getImageBytes(length, drawWidth, drawHeight) {\n      var forceRGB = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n      this.image.reset();\n      this.image.drawWidth = drawWidth || this.width;\n      this.image.drawHeight = drawHeight || this.height;\n      this.image.forceRGB = !!forceRGB;\n      return this.image.getBytes(length, true);\n    }\n  };\n  return PDFImage;\n}();\n\nexports.PDFImage = PDFImage;\n\n/***/ }),\n/* 238 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.MessageHandler = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar CallbackKind = {\n  UNKNOWN: 0,\n  DATA: 1,\n  ERROR: 2\n};\nvar StreamKind = {\n  UNKNOWN: 0,\n  CANCEL: 1,\n  CANCEL_COMPLETE: 2,\n  CLOSE: 3,\n  ENQUEUE: 4,\n  ERROR: 5,\n  PULL: 6,\n  PULL_COMPLETE: 7,\n  START_COMPLETE: 8\n};\n\nfunction wrapReason(reason) {\n  if (_typeof(reason) !== \"object\" || reason === null) {\n    return reason;\n  }\n\n  switch (reason.name) {\n    case \"AbortException\":\n      return new _util.AbortException(reason.message);\n\n    case \"MissingPDFException\":\n      return new _util.MissingPDFException(reason.message);\n\n    case \"UnexpectedResponseException\":\n      return new _util.UnexpectedResponseException(reason.message, reason.status);\n\n    case \"UnknownErrorException\":\n      return new _util.UnknownErrorException(reason.message, reason.details);\n\n    default:\n      return new _util.UnknownErrorException(reason.message, reason.toString());\n  }\n}\n\nvar MessageHandler = /*#__PURE__*/function () {\n  function MessageHandler(sourceName, targetName, comObj) {\n    var _this = this;\n\n    _classCallCheck(this, MessageHandler);\n\n    this.sourceName = sourceName;\n    this.targetName = targetName;\n    this.comObj = comObj;\n    this.callbackId = 1;\n    this.streamId = 1;\n    this.postMessageTransfers = true;\n    this.streamSinks = Object.create(null);\n    this.streamControllers = Object.create(null);\n    this.callbackCapabilities = Object.create(null);\n    this.actionHandler = Object.create(null);\n\n    this._onComObjOnMessage = function (event) {\n      var data = event.data;\n\n      if (data.targetName !== _this.sourceName) {\n        return;\n      }\n\n      if (data.stream) {\n        _this._processStreamMessage(data);\n\n        return;\n      }\n\n      if (data.callback) {\n        var callbackId = data.callbackId;\n        var capability = _this.callbackCapabilities[callbackId];\n\n        if (!capability) {\n          throw new Error(\"Cannot resolve callback \".concat(callbackId));\n        }\n\n        delete _this.callbackCapabilities[callbackId];\n\n        if (data.callback === CallbackKind.DATA) {\n          capability.resolve(data.data);\n        } else if (data.callback === CallbackKind.ERROR) {\n          capability.reject(wrapReason(data.reason));\n        } else {\n          throw new Error(\"Unexpected callback case\");\n        }\n\n        return;\n      }\n\n      var action = _this.actionHandler[data.action];\n\n      if (!action) {\n        throw new Error(\"Unknown action from worker: \".concat(data.action));\n      }\n\n      if (data.callbackId) {\n        var cbSourceName = _this.sourceName;\n        var cbTargetName = data.sourceName;\n        new Promise(function (resolve) {\n          resolve(action(data.data));\n        }).then(function (result) {\n          comObj.postMessage({\n            sourceName: cbSourceName,\n            targetName: cbTargetName,\n            callback: CallbackKind.DATA,\n            callbackId: data.callbackId,\n            data: result\n          });\n        }, function (reason) {\n          comObj.postMessage({\n            sourceName: cbSourceName,\n            targetName: cbTargetName,\n            callback: CallbackKind.ERROR,\n            callbackId: data.callbackId,\n            reason: wrapReason(reason)\n          });\n        });\n        return;\n      }\n\n      if (data.streamId) {\n        _this._createStreamSink(data);\n\n        return;\n      }\n\n      action(data.data);\n    };\n\n    comObj.addEventListener(\"message\", this._onComObjOnMessage);\n  }\n\n  _createClass(MessageHandler, [{\n    key: \"on\",\n    value: function on(actionName, handler) {\n      var ah = this.actionHandler;\n\n      if (ah[actionName]) {\n        throw new Error(\"There is already an actionName called \\\"\".concat(actionName, \"\\\"\"));\n      }\n\n      ah[actionName] = handler;\n    }\n  }, {\n    key: \"send\",\n    value: function send(actionName, data, transfers) {\n      this._postMessage({\n        sourceName: this.sourceName,\n        targetName: this.targetName,\n        action: actionName,\n        data: data\n      }, transfers);\n    }\n  }, {\n    key: \"sendWithPromise\",\n    value: function sendWithPromise(actionName, data, transfers) {\n      var callbackId = this.callbackId++;\n      var capability = (0, _util.createPromiseCapability)();\n      this.callbackCapabilities[callbackId] = capability;\n\n      try {\n        this._postMessage({\n          sourceName: this.sourceName,\n          targetName: this.targetName,\n          action: actionName,\n          callbackId: callbackId,\n          data: data\n        }, transfers);\n      } catch (ex) {\n        capability.reject(ex);\n      }\n\n      return capability.promise;\n    }\n  }, {\n    key: \"sendWithStream\",\n    value: function sendWithStream(actionName, data, queueingStrategy, transfers) {\n      var _this2 = this;\n\n      var streamId = this.streamId++;\n      var sourceName = this.sourceName;\n      var targetName = this.targetName;\n      var comObj = this.comObj;\n      return new ReadableStream({\n        start: function start(controller) {\n          var startCapability = (0, _util.createPromiseCapability)();\n          _this2.streamControllers[streamId] = {\n            controller: controller,\n            startCall: startCapability,\n            pullCall: null,\n            cancelCall: null,\n            isClosed: false\n          };\n\n          _this2._postMessage({\n            sourceName: sourceName,\n            targetName: targetName,\n            action: actionName,\n            streamId: streamId,\n            data: data,\n            desiredSize: controller.desiredSize\n          }, transfers);\n\n          return startCapability.promise;\n        },\n        pull: function pull(controller) {\n          var pullCapability = (0, _util.createPromiseCapability)();\n          _this2.streamControllers[streamId].pullCall = pullCapability;\n          comObj.postMessage({\n            sourceName: sourceName,\n            targetName: targetName,\n            stream: StreamKind.PULL,\n            streamId: streamId,\n            desiredSize: controller.desiredSize\n          });\n          return pullCapability.promise;\n        },\n        cancel: function cancel(reason) {\n          (0, _util.assert)(reason instanceof Error, \"cancel must have a valid reason\");\n          var cancelCapability = (0, _util.createPromiseCapability)();\n          _this2.streamControllers[streamId].cancelCall = cancelCapability;\n          _this2.streamControllers[streamId].isClosed = true;\n          comObj.postMessage({\n            sourceName: sourceName,\n            targetName: targetName,\n            stream: StreamKind.CANCEL,\n            streamId: streamId,\n            reason: wrapReason(reason)\n          });\n          return cancelCapability.promise;\n        }\n      }, queueingStrategy);\n    }\n  }, {\n    key: \"_createStreamSink\",\n    value: function _createStreamSink(data) {\n      var self = this;\n      var action = this.actionHandler[data.action];\n      var streamId = data.streamId;\n      var sourceName = this.sourceName;\n      var targetName = data.sourceName;\n      var comObj = this.comObj;\n      var streamSink = {\n        enqueue: function enqueue(chunk) {\n          var size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n          var transfers = arguments.length > 2 ? arguments[2] : undefined;\n\n          if (this.isCancelled) {\n            return;\n          }\n\n          var lastDesiredSize = this.desiredSize;\n          this.desiredSize -= size;\n\n          if (lastDesiredSize > 0 && this.desiredSize <= 0) {\n            this.sinkCapability = (0, _util.createPromiseCapability)();\n            this.ready = this.sinkCapability.promise;\n          }\n\n          self._postMessage({\n            sourceName: sourceName,\n            targetName: targetName,\n            stream: StreamKind.ENQUEUE,\n            streamId: streamId,\n            chunk: chunk\n          }, transfers);\n        },\n        close: function close() {\n          if (this.isCancelled) {\n            return;\n          }\n\n          this.isCancelled = true;\n          comObj.postMessage({\n            sourceName: sourceName,\n            targetName: targetName,\n            stream: StreamKind.CLOSE,\n            streamId: streamId\n          });\n          delete self.streamSinks[streamId];\n        },\n        error: function error(reason) {\n          (0, _util.assert)(reason instanceof Error, \"error must have a valid reason\");\n\n          if (this.isCancelled) {\n            return;\n          }\n\n          this.isCancelled = true;\n          comObj.postMessage({\n            sourceName: sourceName,\n            targetName: targetName,\n            stream: StreamKind.ERROR,\n            streamId: streamId,\n            reason: wrapReason(reason)\n          });\n        },\n        sinkCapability: (0, _util.createPromiseCapability)(),\n        onPull: null,\n        onCancel: null,\n        isCancelled: false,\n        desiredSize: data.desiredSize,\n        ready: null\n      };\n      streamSink.sinkCapability.resolve();\n      streamSink.ready = streamSink.sinkCapability.promise;\n      this.streamSinks[streamId] = streamSink;\n      new Promise(function (resolve) {\n        resolve(action(data.data, streamSink));\n      }).then(function () {\n        comObj.postMessage({\n          sourceName: sourceName,\n          targetName: targetName,\n          stream: StreamKind.START_COMPLETE,\n          streamId: streamId,\n          success: true\n        });\n      }, function (reason) {\n        comObj.postMessage({\n          sourceName: sourceName,\n          targetName: targetName,\n          stream: StreamKind.START_COMPLETE,\n          streamId: streamId,\n          reason: wrapReason(reason)\n        });\n      });\n    }\n  }, {\n    key: \"_processStreamMessage\",\n    value: function _processStreamMessage(data) {\n      var streamId = data.streamId;\n      var sourceName = this.sourceName;\n      var targetName = data.sourceName;\n      var comObj = this.comObj;\n\n      switch (data.stream) {\n        case StreamKind.START_COMPLETE:\n          if (data.success) {\n            this.streamControllers[streamId].startCall.resolve();\n          } else {\n            this.streamControllers[streamId].startCall.reject(wrapReason(data.reason));\n          }\n\n          break;\n\n        case StreamKind.PULL_COMPLETE:\n          if (data.success) {\n            this.streamControllers[streamId].pullCall.resolve();\n          } else {\n            this.streamControllers[streamId].pullCall.reject(wrapReason(data.reason));\n          }\n\n          break;\n\n        case StreamKind.PULL:\n          if (!this.streamSinks[streamId]) {\n            comObj.postMessage({\n              sourceName: sourceName,\n              targetName: targetName,\n              stream: StreamKind.PULL_COMPLETE,\n              streamId: streamId,\n              success: true\n            });\n            break;\n          }\n\n          if (this.streamSinks[streamId].desiredSize <= 0 && data.desiredSize > 0) {\n            this.streamSinks[streamId].sinkCapability.resolve();\n          }\n\n          this.streamSinks[streamId].desiredSize = data.desiredSize;\n          var onPull = this.streamSinks[data.streamId].onPull;\n          new Promise(function (resolve) {\n            resolve(onPull && onPull());\n          }).then(function () {\n            comObj.postMessage({\n              sourceName: sourceName,\n              targetName: targetName,\n              stream: StreamKind.PULL_COMPLETE,\n              streamId: streamId,\n              success: true\n            });\n          }, function (reason) {\n            comObj.postMessage({\n              sourceName: sourceName,\n              targetName: targetName,\n              stream: StreamKind.PULL_COMPLETE,\n              streamId: streamId,\n              reason: wrapReason(reason)\n            });\n          });\n          break;\n\n        case StreamKind.ENQUEUE:\n          (0, _util.assert)(this.streamControllers[streamId], \"enqueue should have stream controller\");\n\n          if (this.streamControllers[streamId].isClosed) {\n            break;\n          }\n\n          this.streamControllers[streamId].controller.enqueue(data.chunk);\n          break;\n\n        case StreamKind.CLOSE:\n          (0, _util.assert)(this.streamControllers[streamId], \"close should have stream controller\");\n\n          if (this.streamControllers[streamId].isClosed) {\n            break;\n          }\n\n          this.streamControllers[streamId].isClosed = true;\n          this.streamControllers[streamId].controller.close();\n\n          this._deleteStreamController(streamId);\n\n          break;\n\n        case StreamKind.ERROR:\n          (0, _util.assert)(this.streamControllers[streamId], \"error should have stream controller\");\n          this.streamControllers[streamId].controller.error(wrapReason(data.reason));\n\n          this._deleteStreamController(streamId);\n\n          break;\n\n        case StreamKind.CANCEL_COMPLETE:\n          if (data.success) {\n            this.streamControllers[streamId].cancelCall.resolve();\n          } else {\n            this.streamControllers[streamId].cancelCall.reject(wrapReason(data.reason));\n          }\n\n          this._deleteStreamController(streamId);\n\n          break;\n\n        case StreamKind.CANCEL:\n          if (!this.streamSinks[streamId]) {\n            break;\n          }\n\n          var onCancel = this.streamSinks[data.streamId].onCancel;\n          new Promise(function (resolve) {\n            resolve(onCancel && onCancel(wrapReason(data.reason)));\n          }).then(function () {\n            comObj.postMessage({\n              sourceName: sourceName,\n              targetName: targetName,\n              stream: StreamKind.CANCEL_COMPLETE,\n              streamId: streamId,\n              success: true\n            });\n          }, function (reason) {\n            comObj.postMessage({\n              sourceName: sourceName,\n              targetName: targetName,\n              stream: StreamKind.CANCEL_COMPLETE,\n              streamId: streamId,\n              reason: wrapReason(reason)\n            });\n          });\n          this.streamSinks[streamId].sinkCapability.reject(wrapReason(data.reason));\n          this.streamSinks[streamId].isCancelled = true;\n          delete this.streamSinks[streamId];\n          break;\n\n        default:\n          throw new Error(\"Unexpected stream case\");\n      }\n    }\n  }, {\n    key: \"_deleteStreamController\",\n    value: function () {\n      var _deleteStreamController2 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee(streamId) {\n        return _regenerator[\"default\"].wrap(function _callee$(_context) {\n          while (1) {\n            switch (_context.prev = _context.next) {\n              case 0:\n                _context.next = 2;\n                return Promise.allSettled([this.streamControllers[streamId].startCall, this.streamControllers[streamId].pullCall, this.streamControllers[streamId].cancelCall].map(function (capability) {\n                  return capability && capability.promise;\n                }));\n\n              case 2:\n                delete this.streamControllers[streamId];\n\n              case 3:\n              case \"end\":\n                return _context.stop();\n            }\n          }\n        }, _callee, this);\n      }));\n\n      function _deleteStreamController(_x) {\n        return _deleteStreamController2.apply(this, arguments);\n      }\n\n      return _deleteStreamController;\n    }()\n  }, {\n    key: \"_postMessage\",\n    value: function _postMessage(message, transfers) {\n      if (transfers && this.postMessageTransfers) {\n        this.comObj.postMessage(message, transfers);\n      } else {\n        this.comObj.postMessage(message);\n      }\n    }\n  }, {\n    key: \"destroy\",\n    value: function destroy() {\n      this.comObj.removeEventListener(\"message\", this._onComObjOnMessage);\n    }\n  }]);\n\n  return MessageHandler;\n}();\n\nexports.MessageHandler = MessageHandler;\n\n/***/ }),\n/* 239 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.PDFWorkerStream = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar PDFWorkerStream = /*#__PURE__*/function () {\n  function PDFWorkerStream(msgHandler) {\n    _classCallCheck(this, PDFWorkerStream);\n\n    this._msgHandler = msgHandler;\n    this._contentLength = null;\n    this._fullRequestReader = null;\n    this._rangeRequestReaders = [];\n  }\n\n  _createClass(PDFWorkerStream, [{\n    key: \"getFullReader\",\n    value: function getFullReader() {\n      (0, _util.assert)(!this._fullRequestReader, \"PDFWorkerStream.getFullReader can only be called once.\");\n      this._fullRequestReader = new PDFWorkerStreamReader(this._msgHandler);\n      return this._fullRequestReader;\n    }\n  }, {\n    key: \"getRangeReader\",\n    value: function getRangeReader(begin, end) {\n      var reader = new PDFWorkerStreamRangeReader(begin, end, this._msgHandler);\n\n      this._rangeRequestReaders.push(reader);\n\n      return reader;\n    }\n  }, {\n    key: \"cancelAllRequests\",\n    value: function cancelAllRequests(reason) {\n      if (this._fullRequestReader) {\n        this._fullRequestReader.cancel(reason);\n      }\n\n      var readers = this._rangeRequestReaders.slice(0);\n\n      readers.forEach(function (reader) {\n        reader.cancel(reason);\n      });\n    }\n  }]);\n\n  return PDFWorkerStream;\n}();\n\nexports.PDFWorkerStream = PDFWorkerStream;\n\nvar PDFWorkerStreamReader = /*#__PURE__*/function () {\n  function PDFWorkerStreamReader(msgHandler) {\n    var _this = this;\n\n    _classCallCheck(this, PDFWorkerStreamReader);\n\n    this._msgHandler = msgHandler;\n    this.onProgress = null;\n    this._contentLength = null;\n    this._isRangeSupported = false;\n    this._isStreamingSupported = false;\n\n    var readableStream = this._msgHandler.sendWithStream(\"GetReader\");\n\n    this._reader = readableStream.getReader();\n    this._headersReady = this._msgHandler.sendWithPromise(\"ReaderHeadersReady\").then(function (data) {\n      _this._isStreamingSupported = data.isStreamingSupported;\n      _this._isRangeSupported = data.isRangeSupported;\n      _this._contentLength = data.contentLength;\n    });\n  }\n\n  _createClass(PDFWorkerStreamReader, [{\n    key: \"read\",\n    value: function () {\n      var _read = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee() {\n        var _yield$this$_reader$r, value, done;\n\n        return _regenerator[\"default\"].wrap(function _callee$(_context) {\n          while (1) {\n            switch (_context.prev = _context.next) {\n              case 0:\n                _context.next = 2;\n                return this._reader.read();\n\n              case 2:\n                _yield$this$_reader$r = _context.sent;\n                value = _yield$this$_reader$r.value;\n                done = _yield$this$_reader$r.done;\n\n                if (!done) {\n                  _context.next = 7;\n                  break;\n                }\n\n                return _context.abrupt(\"return\", {\n                  value: undefined,\n                  done: true\n                });\n\n              case 7:\n                return _context.abrupt(\"return\", {\n                  value: value.buffer,\n                  done: false\n                });\n\n              case 8:\n              case \"end\":\n                return _context.stop();\n            }\n          }\n        }, _callee, this);\n      }));\n\n      function read() {\n        return _read.apply(this, arguments);\n      }\n\n      return read;\n    }()\n  }, {\n    key: \"cancel\",\n    value: function cancel(reason) {\n      this._reader.cancel(reason);\n    }\n  }, {\n    key: \"headersReady\",\n    get: function get() {\n      return this._headersReady;\n    }\n  }, {\n    key: \"contentLength\",\n    get: function get() {\n      return this._contentLength;\n    }\n  }, {\n    key: \"isStreamingSupported\",\n    get: function get() {\n      return this._isStreamingSupported;\n    }\n  }, {\n    key: \"isRangeSupported\",\n    get: function get() {\n      return this._isRangeSupported;\n    }\n  }]);\n\n  return PDFWorkerStreamReader;\n}();\n\nvar PDFWorkerStreamRangeReader = /*#__PURE__*/function () {\n  function PDFWorkerStreamRangeReader(begin, end, msgHandler) {\n    _classCallCheck(this, PDFWorkerStreamRangeReader);\n\n    this._msgHandler = msgHandler;\n    this.onProgress = null;\n\n    var readableStream = this._msgHandler.sendWithStream(\"GetRangeReader\", {\n      begin: begin,\n      end: end\n    });\n\n    this._reader = readableStream.getReader();\n  }\n\n  _createClass(PDFWorkerStreamRangeReader, [{\n    key: \"read\",\n    value: function () {\n      var _read2 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2() {\n        var _yield$this$_reader$r2, value, done;\n\n        return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n          while (1) {\n            switch (_context2.prev = _context2.next) {\n              case 0:\n                _context2.next = 2;\n                return this._reader.read();\n\n              case 2:\n                _yield$this$_reader$r2 = _context2.sent;\n                value = _yield$this$_reader$r2.value;\n                done = _yield$this$_reader$r2.done;\n\n                if (!done) {\n                  _context2.next = 7;\n                  break;\n                }\n\n                return _context2.abrupt(\"return\", {\n                  value: undefined,\n                  done: true\n                });\n\n              case 7:\n                return _context2.abrupt(\"return\", {\n                  value: value.buffer,\n                  done: false\n                });\n\n              case 8:\n              case \"end\":\n                return _context2.stop();\n            }\n          }\n        }, _callee2, this);\n      }));\n\n      function read() {\n        return _read2.apply(this, arguments);\n      }\n\n      return read;\n    }()\n  }, {\n    key: \"cancel\",\n    value: function cancel(reason) {\n      this._reader.cancel(reason);\n    }\n  }, {\n    key: \"isStreamingSupported\",\n    get: function get() {\n      return false;\n    }\n  }]);\n\n  return PDFWorkerStreamRangeReader;\n}();\n\n/***/ })\n/******/ ]);\n});\n//# sourceMappingURL=pdf.worker.js.map","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n  lookup[i] = code[i]\n  revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n  var len = b64.length\n\n  if (len % 4 > 0) {\n    throw new Error('Invalid string. Length must be a multiple of 4')\n  }\n\n  // Trim off extra bytes after placeholder bytes are found\n  // See: https://github.com/beatgammit/base64-js/issues/42\n  var validLen = b64.indexOf('=')\n  if (validLen === -1) validLen = len\n\n  var placeHoldersLen = validLen === len\n    ? 0\n    : 4 - (validLen % 4)\n\n  return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n  var lens = getLens(b64)\n  var validLen = lens[0]\n  var placeHoldersLen = lens[1]\n  return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n  return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n  var tmp\n  var lens = getLens(b64)\n  var validLen = lens[0]\n  var placeHoldersLen = lens[1]\n\n  var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n  var curByte = 0\n\n  // if there are placeholders, only get up to the last complete 4 chars\n  var len = placeHoldersLen > 0\n    ? validLen - 4\n    : validLen\n\n  var i\n  for (i = 0; i < len; i += 4) {\n    tmp =\n      (revLookup[b64.charCodeAt(i)] << 18) |\n      (revLookup[b64.charCodeAt(i + 1)] << 12) |\n      (revLookup[b64.charCodeAt(i + 2)] << 6) |\n      revLookup[b64.charCodeAt(i + 3)]\n    arr[curByte++] = (tmp >> 16) & 0xFF\n    arr[curByte++] = (tmp >> 8) & 0xFF\n    arr[curByte++] = tmp & 0xFF\n  }\n\n  if (placeHoldersLen === 2) {\n    tmp =\n      (revLookup[b64.charCodeAt(i)] << 2) |\n      (revLookup[b64.charCodeAt(i + 1)] >> 4)\n    arr[curByte++] = tmp & 0xFF\n  }\n\n  if (placeHoldersLen === 1) {\n    tmp =\n      (revLookup[b64.charCodeAt(i)] << 10) |\n      (revLookup[b64.charCodeAt(i + 1)] << 4) |\n      (revLookup[b64.charCodeAt(i + 2)] >> 2)\n    arr[curByte++] = (tmp >> 8) & 0xFF\n    arr[curByte++] = tmp & 0xFF\n  }\n\n  return arr\n}\n\nfunction tripletToBase64 (num) {\n  return lookup[num >> 18 & 0x3F] +\n    lookup[num >> 12 & 0x3F] +\n    lookup[num >> 6 & 0x3F] +\n    lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n  var tmp\n  var output = []\n  for (var i = start; i < end; i += 3) {\n    tmp =\n      ((uint8[i] << 16) & 0xFF0000) +\n      ((uint8[i + 1] << 8) & 0xFF00) +\n      (uint8[i + 2] & 0xFF)\n    output.push(tripletToBase64(tmp))\n  }\n  return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n  var tmp\n  var len = uint8.length\n  var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n  var parts = []\n  var maxChunkLength = 16383 // must be multiple of 3\n\n  // go through the array every three bytes, we'll deal with trailing stuff later\n  for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n    parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n  }\n\n  // pad the end with zeros, but make sure to not forget the extra bytes\n  if (extraBytes === 1) {\n    tmp = uint8[len - 1]\n    parts.push(\n      lookup[tmp >> 2] +\n      lookup[(tmp << 4) & 0x3F] +\n      '=='\n    )\n  } else if (extraBytes === 2) {\n    tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n    parts.push(\n      lookup[tmp >> 10] +\n      lookup[(tmp >> 4) & 0x3F] +\n      lookup[(tmp << 2) & 0x3F] +\n      '='\n    )\n  }\n\n  return parts.join('')\n}\n","exports.nextTick = function nextTick(fn) {\n    var args = Array.prototype.slice.call(arguments);\n    args.shift();\n    setTimeout(function () {\n        fn.apply(null, args);\n    }, 0);\n};\n\nexports.platform = exports.arch = \nexports.execPath = exports.title = 'browser';\nexports.pid = 1;\nexports.browser = true;\nexports.env = {};\nexports.argv = [];\n\nexports.binding = function (name) {\n\tthrow new Error('No such module. (Possibly not yet loaded)')\n};\n\n(function () {\n    var cwd = '/';\n    var path;\n    exports.cwd = function () { return cwd };\n    exports.chdir = function (dir) {\n        if (!path) path = require('path');\n        cwd = path.resolve(dir, cwd);\n    };\n})();\n\nexports.exit = exports.kill = \nexports.umask = exports.dlopen = \nexports.uptime = exports.memoryUsage = \nexports.uvCounters = function() {};\nexports.features = {};\n","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n  var e, m\n  var eLen = (nBytes * 8) - mLen - 1\n  var eMax = (1 << eLen) - 1\n  var eBias = eMax >> 1\n  var nBits = -7\n  var i = isLE ? (nBytes - 1) : 0\n  var d = isLE ? -1 : 1\n  var s = buffer[offset + i]\n\n  i += d\n\n  e = s & ((1 << (-nBits)) - 1)\n  s >>= (-nBits)\n  nBits += eLen\n  for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n  m = e & ((1 << (-nBits)) - 1)\n  e >>= (-nBits)\n  nBits += mLen\n  for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n  if (e === 0) {\n    e = 1 - eBias\n  } else if (e === eMax) {\n    return m ? NaN : ((s ? -1 : 1) * Infinity)\n  } else {\n    m = m + Math.pow(2, mLen)\n    e = e - eBias\n  }\n  return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n  var e, m, c\n  var eLen = (nBytes * 8) - mLen - 1\n  var eMax = (1 << eLen) - 1\n  var eBias = eMax >> 1\n  var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n  var i = isLE ? 0 : (nBytes - 1)\n  var d = isLE ? 1 : -1\n  var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n  value = Math.abs(value)\n\n  if (isNaN(value) || value === Infinity) {\n    m = isNaN(value) ? 1 : 0\n    e = eMax\n  } else {\n    e = Math.floor(Math.log(value) / Math.LN2)\n    if (value * (c = Math.pow(2, -e)) < 1) {\n      e--\n      c *= 2\n    }\n    if (e + eBias >= 1) {\n      value += rt / c\n    } else {\n      value += rt * Math.pow(2, 1 - eBias)\n    }\n    if (value * c >= 2) {\n      e++\n      c /= 2\n    }\n\n    if (e + eBias >= eMax) {\n      m = 0\n      e = eMax\n    } else if (e + eBias >= 1) {\n      m = ((value * c) - 1) * Math.pow(2, mLen)\n      e = e + eBias\n    } else {\n      m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n      e = 0\n    }\n  }\n\n  for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n  e = (e << mLen) | m\n  eLen += mLen\n  for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n  buffer[offset + i - d] |= s * 128\n}\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author   Feross Aboukhadijeh <http://feross.org>\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 '<Buffer ' + str + '>'\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 || new Function(\"return 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","// .dirname, .basename, and .extname methods are extracted from Node.js v8.11.1,\n// backported and transplited with Babel, with backwards-compat fixes\n\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// resolves . and .. elements in a path array with directory names there\n// must be no slashes, empty elements, or device names (c:\\) in the array\n// (so also no leading and trailing slashes - it does not distinguish\n// relative and absolute paths)\nfunction normalizeArray(parts, allowAboveRoot) {\n  // if the path tries to go above the root, `up` ends up > 0\n  var up = 0;\n  for (var i = parts.length - 1; i >= 0; i--) {\n    var last = parts[i];\n    if (last === '.') {\n      parts.splice(i, 1);\n    } else if (last === '..') {\n      parts.splice(i, 1);\n      up++;\n    } else if (up) {\n      parts.splice(i, 1);\n      up--;\n    }\n  }\n\n  // if the path is allowed to go above the root, restore leading ..s\n  if (allowAboveRoot) {\n    for (; up--; up) {\n      parts.unshift('..');\n    }\n  }\n\n  return parts;\n}\n\n// path.resolve([from ...], to)\n// posix version\nexports.resolve = function() {\n  var resolvedPath = '',\n      resolvedAbsolute = false;\n\n  for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {\n    var path = (i >= 0) ? arguments[i] : process.cwd();\n\n    // Skip empty and invalid entries\n    if (typeof path !== 'string') {\n      throw new TypeError('Arguments to path.resolve must be strings');\n    } else if (!path) {\n      continue;\n    }\n\n    resolvedPath = path + '/' + resolvedPath;\n    resolvedAbsolute = path.charAt(0) === '/';\n  }\n\n  // At this point the path should be resolved to a full absolute path, but\n  // handle relative paths to be safe (might happen when process.cwd() fails)\n\n  // Normalize the path\n  resolvedPath = normalizeArray(filter(resolvedPath.split('/'), function(p) {\n    return !!p;\n  }), !resolvedAbsolute).join('/');\n\n  return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.';\n};\n\n// path.normalize(path)\n// posix version\nexports.normalize = function(path) {\n  var isAbsolute = exports.isAbsolute(path),\n      trailingSlash = substr(path, -1) === '/';\n\n  // Normalize the path\n  path = normalizeArray(filter(path.split('/'), function(p) {\n    return !!p;\n  }), !isAbsolute).join('/');\n\n  if (!path && !isAbsolute) {\n    path = '.';\n  }\n  if (path && trailingSlash) {\n    path += '/';\n  }\n\n  return (isAbsolute ? '/' : '') + path;\n};\n\n// posix version\nexports.isAbsolute = function(path) {\n  return path.charAt(0) === '/';\n};\n\n// posix version\nexports.join = function() {\n  var paths = Array.prototype.slice.call(arguments, 0);\n  return exports.normalize(filter(paths, function(p, index) {\n    if (typeof p !== 'string') {\n      throw new TypeError('Arguments to path.join must be strings');\n    }\n    return p;\n  }).join('/'));\n};\n\n\n// path.relative(from, to)\n// posix version\nexports.relative = function(from, to) {\n  from = exports.resolve(from).substr(1);\n  to = exports.resolve(to).substr(1);\n\n  function trim(arr) {\n    var start = 0;\n    for (; start < arr.length; start++) {\n      if (arr[start] !== '') break;\n    }\n\n    var end = arr.length - 1;\n    for (; end >= 0; end--) {\n      if (arr[end] !== '') break;\n    }\n\n    if (start > end) return [];\n    return arr.slice(start, end - start + 1);\n  }\n\n  var fromParts = trim(from.split('/'));\n  var toParts = trim(to.split('/'));\n\n  var length = Math.min(fromParts.length, toParts.length);\n  var samePartsLength = length;\n  for (var i = 0; i < length; i++) {\n    if (fromParts[i] !== toParts[i]) {\n      samePartsLength = i;\n      break;\n    }\n  }\n\n  var outputParts = [];\n  for (var i = samePartsLength; i < fromParts.length; i++) {\n    outputParts.push('..');\n  }\n\n  outputParts = outputParts.concat(toParts.slice(samePartsLength));\n\n  return outputParts.join('/');\n};\n\nexports.sep = '/';\nexports.delimiter = ':';\n\nexports.dirname = function (path) {\n  if (typeof path !== 'string') path = path + '';\n  if (path.length === 0) return '.';\n  var code = path.charCodeAt(0);\n  var hasRoot = code === 47 /*/*/;\n  var end = -1;\n  var matchedSlash = true;\n  for (var i = path.length - 1; i >= 1; --i) {\n    code = path.charCodeAt(i);\n    if (code === 47 /*/*/) {\n        if (!matchedSlash) {\n          end = i;\n          break;\n        }\n      } else {\n      // We saw the first non-path separator\n      matchedSlash = false;\n    }\n  }\n\n  if (end === -1) return hasRoot ? '/' : '.';\n  if (hasRoot && end === 1) {\n    // return '//';\n    // Backwards-compat fix:\n    return '/';\n  }\n  return path.slice(0, end);\n};\n\nfunction basename(path) {\n  if (typeof path !== 'string') path = path + '';\n\n  var start = 0;\n  var end = -1;\n  var matchedSlash = true;\n  var i;\n\n  for (i = path.length - 1; i >= 0; --i) {\n    if (path.charCodeAt(i) === 47 /*/*/) {\n        // If we reached a path separator that was not part of a set of path\n        // separators at the end of the string, stop now\n        if (!matchedSlash) {\n          start = i + 1;\n          break;\n        }\n      } else if (end === -1) {\n      // We saw the first non-path separator, mark this as the end of our\n      // path component\n      matchedSlash = false;\n      end = i + 1;\n    }\n  }\n\n  if (end === -1) return '';\n  return path.slice(start, end);\n}\n\n// Uses a mixed approach for backwards-compatibility, as ext behavior changed\n// in new Node.js versions, so only basename() above is backported here\nexports.basename = function (path, ext) {\n  var f = basename(path);\n  if (ext && f.substr(-1 * ext.length) === ext) {\n    f = f.substr(0, f.length - ext.length);\n  }\n  return f;\n};\n\nexports.extname = function (path) {\n  if (typeof path !== 'string') path = path + '';\n  var startDot = -1;\n  var startPart = 0;\n  var end = -1;\n  var matchedSlash = true;\n  // Track the state of characters (if any) we see before our first dot and\n  // after any path separator we find\n  var preDotState = 0;\n  for (var i = path.length - 1; i >= 0; --i) {\n    var code = path.charCodeAt(i);\n    if (code === 47 /*/*/) {\n        // If we reached a path separator that was not part of a set of path\n        // separators at the end of the string, stop now\n        if (!matchedSlash) {\n          startPart = i + 1;\n          break;\n        }\n        continue;\n      }\n    if (end === -1) {\n      // We saw the first non-path separator, mark this as the end of our\n      // extension\n      matchedSlash = false;\n      end = i + 1;\n    }\n    if (code === 46 /*.*/) {\n        // If this is our first dot, mark it as the start of our extension\n        if (startDot === -1)\n          startDot = i;\n        else if (preDotState !== 1)\n          preDotState = 1;\n    } else if (startDot !== -1) {\n      // We saw a non-dot and non-path separator before our dot, so we should\n      // have a good chance at having a non-empty extension\n      preDotState = -1;\n    }\n  }\n\n  if (startDot === -1 || end === -1 ||\n      // We saw a non-dot character immediately before the dot\n      preDotState === 0 ||\n      // The (right-most) trimmed path component is exactly '..'\n      preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) {\n    return '';\n  }\n  return path.slice(startDot, end);\n};\n\nfunction filter (xs, f) {\n    if (xs.filter) return xs.filter(f);\n    var res = [];\n    for (var i = 0; i < xs.length; i++) {\n        if (f(xs[i], i, xs)) res.push(xs[i]);\n    }\n    return res;\n}\n\n// String.prototype.substr - negative index don't work in IE8\nvar substr = 'ab'.substr(-1) === 'b'\n    ? function (str, start, len) { return str.substr(start, len) }\n    : function (str, start, len) {\n        if (start < 0) start = str.length + start;\n        return str.substr(start, len);\n    }\n;\n","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n  return toString.call(arr) == '[object Array]';\n};\n"],"sourceRoot":""}