{"version":3,"sources":["webpack:///polyfills.js","webpack:///webpack/bootstrap 74a49a4962f0d7b2a0f8","webpack:///./node_modules/core-js/modules/_export.js","webpack:///./node_modules/core-js/modules/_an-object.js","webpack:///./node_modules/core-js/modules/_fails.js","webpack:///./node_modules/core-js/modules/_core.js","webpack:///./node_modules/core-js/modules/_is-object.js","webpack:///./node_modules/core-js/modules/_descriptors.js","webpack:///./node_modules/core-js/modules/_wks.js","webpack:///./node_modules/core-js/modules/_global.js","webpack:///./node_modules/core-js/modules/_object-dp.js","webpack:///./node_modules/core-js/modules/_to-object.js","webpack:///./node_modules/core-js/modules/_to-length.js","webpack:///./node_modules/core-js/modules/_redefine.js","webpack:///./node_modules/core-js/modules/_string-html.js","webpack:///./node_modules/core-js/modules/_to-iobject.js","webpack:///./node_modules/core-js/modules/_strict-method.js","webpack:///./node_modules/core-js/modules/_object-sap.js","webpack:///./node_modules/core-js/modules/_hide.js","webpack:///./node_modules/core-js/modules/_has.js","webpack:///./node_modules/core-js/modules/_array-methods.js","webpack:///./node_modules/core-js/modules/_metadata.js","webpack:///./node_modules/core-js/modules/_to-primitive.js","webpack:///./node_modules/core-js/modules/_a-function.js","webpack:///./node_modules/core-js/modules/_defined.js","webpack:///./node_modules/core-js/modules/_object-gpo.js","webpack:///./node_modules/core-js/modules/_meta.js","webpack:///./node_modules/core-js/modules/_object-keys.js","webpack:///./node_modules/core-js/modules/_cof.js","webpack:///./node_modules/core-js/modules/_to-integer.js","webpack:///./node_modules/core-js/modules/_object-gopd.js","webpack:///./node_modules/core-js/modules/_ctx.js","webpack:///./node_modules/core-js/modules/_validate-collection.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/core-js/modules/_property-desc.js","webpack:///./node_modules/core-js/modules/_uid.js","webpack:///./node_modules/core-js/modules/_shared.js","webpack:///./node_modules/core-js/modules/_library.js","webpack:///./node_modules/core-js/modules/_object-create.js","webpack:///./node_modules/core-js/modules/_iobject.js","webpack:///./node_modules/core-js/modules/_to-absolute-index.js","webpack:///./node_modules/core-js/modules/_object-pie.js","webpack:///./node_modules/core-js/modules/_object-gopn.js","webpack:///./node_modules/core-js/modules/_iterators.js","webpack:///./node_modules/core-js/modules/es6.object.to-string.js","webpack:///./node_modules/core-js/modules/_add-to-unscopables.js","webpack:///./node_modules/hammerjs/hammer.js","webpack:///./node_modules/core-js/modules/_string-trim.js","webpack:///./node_modules/core-js/modules/_flags.js","webpack:///./node_modules/core-js/modules/_for-of.js","webpack:///./node_modules/core-js/modules/_set-to-string-tag.js","webpack:///./node_modules/core-js/modules/_object-gops.js","webpack:///./node_modules/core-js/modules/_object-forced-pam.js","webpack:///./node_modules/core-js/modules/es6.string.iterator.js","webpack:///./node_modules/core-js/modules/_regexp-exec-abstract.js","webpack:///./node_modules/core-js/modules/_fix-re-wks.js","webpack:///./node_modules/core-js/modules/_shared-key.js","webpack:///./node_modules/core-js/modules/_enum-bug-keys.js","webpack:///./node_modules/core-js/modules/_is-array.js","webpack:///./node_modules/core-js/modules/_string-ws.js","webpack:///./node_modules/core-js/modules/_redefine-all.js","webpack:///./node_modules/core-js/modules/_an-instance.js","webpack:///./node_modules/core-js/modules/_classof.js","webpack:///./node_modules/core-js/modules/_iter-define.js","webpack:///./node_modules/core-js/modules/_set-species.js","webpack:///./node_modules/core-js/modules/_collection.js","webpack:///./node_modules/core-js/modules/_inherit-if-required.js","webpack:///./node_modules/core-js/modules/_create-property.js","webpack:///./node_modules/core-js/modules/_math-sign.js","webpack:///./node_modules/core-js/modules/_math-expm1.js","webpack:///./node_modules/core-js/modules/_string-at.js","webpack:///./node_modules/core-js/modules/_string-context.js","webpack:///./node_modules/core-js/modules/_is-regexp.js","webpack:///./node_modules/core-js/modules/_fails-is-regexp.js","webpack:///./node_modules/core-js/modules/_advance-string-index.js","webpack:///./node_modules/core-js/modules/_regexp-exec.js","webpack:///./node_modules/core-js/modules/es6.array.iterator.js","webpack:///./node_modules/core-js/modules/es6.object.create.js","webpack:///./node_modules/core-js/modules/_ie8-dom-define.js","webpack:///./node_modules/core-js/modules/_dom-create.js","webpack:///./node_modules/core-js/modules/_object-dps.js","webpack:///./node_modules/core-js/modules/_object-keys-internal.js","webpack:///./node_modules/core-js/modules/_array-includes.js","webpack:///./node_modules/core-js/modules/_html.js","webpack:///./node_modules/core-js/modules/es6.object.define-property.js","webpack:///./node_modules/core-js/modules/es6.object.define-properties.js","webpack:///./node_modules/core-js/modules/es6.object.get-own-property-descriptor.js","webpack:///./node_modules/core-js/modules/es6.object.get-prototype-of.js","webpack:///./node_modules/core-js/modules/es6.object.keys.js","webpack:///./node_modules/core-js/modules/es6.object.get-own-property-names.js","webpack:///./node_modules/core-js/modules/_object-gopn-ext.js","webpack:///./node_modules/core-js/modules/es6.object.freeze.js","webpack:///./node_modules/core-js/modules/es6.object.seal.js","webpack:///./node_modules/core-js/modules/es6.object.prevent-extensions.js","webpack:///./node_modules/core-js/modules/es6.object.is-frozen.js","webpack:///./node_modules/core-js/modules/es6.object.is-sealed.js","webpack:///./node_modules/core-js/modules/es6.object.is-extensible.js","webpack:///./node_modules/core-js/modules/es6.function.bind.js","webpack:///./node_modules/core-js/modules/es6.array.is-array.js","webpack:///./node_modules/core-js/modules/es6.array.join.js","webpack:///./node_modules/core-js/modules/es6.array.slice.js","webpack:///./node_modules/core-js/modules/es6.array.sort.js","webpack:///./node_modules/core-js/modules/es6.array.for-each.js","webpack:///./node_modules/core-js/modules/es6.array.map.js","webpack:///./node_modules/core-js/modules/es6.array.filter.js","webpack:///./node_modules/core-js/modules/es6.array.some.js","webpack:///./node_modules/core-js/modules/es6.array.every.js","webpack:///./node_modules/core-js/modules/es6.array.reduce.js","webpack:///./node_modules/core-js/modules/_array-reduce.js","webpack:///./node_modules/core-js/modules/es6.array.reduce-right.js","webpack:///./node_modules/core-js/modules/es6.array.index-of.js","webpack:///./node_modules/core-js/modules/es6.array.last-index-of.js","webpack:///./node_modules/core-js/modules/es6.number.to-fixed.js","webpack:///./node_modules/core-js/modules/_a-number-value.js","webpack:///./node_modules/core-js/modules/_string-repeat.js","webpack:///./node_modules/core-js/modules/es6.number.to-precision.js","webpack:///./node_modules/core-js/modules/es6.date.now.js","webpack:///./node_modules/core-js/modules/es6.date.to-iso-string.js","webpack:///./node_modules/core-js/modules/es6.date.to-json.js","webpack:///./node_modules/core-js/modules/es6.parse-int.js","webpack:///./node_modules/core-js/modules/_parse-int.js","webpack:///./node_modules/core-js/modules/es6.parse-float.js","webpack:///./node_modules/core-js/modules/_parse-float.js","webpack:///./node_modules/core-js/modules/es6.string.trim.js","webpack:///./node_modules/core-js/modules/es6.regexp.to-string.js","webpack:///./node_modules/core-js/modules/es6.regexp.flags.js","webpack:///./node_modules/core-js/modules/es6.map.js","webpack:///./node_modules/core-js/modules/_collection-strong.js","webpack:///./node_modules/core-js/modules/_iter-call.js","webpack:///./node_modules/core-js/modules/_is-array-iter.js","webpack:///./node_modules/core-js/modules/core.get-iterator-method.js","webpack:///./node_modules/core-js/modules/_iter-step.js","webpack:///./node_modules/core-js/modules/_iter-detect.js","webpack:///./node_modules/core-js/modules/_set-proto.js","webpack:///./node_modules/core-js/modules/es6.weak-map.js","webpack:///./node_modules/core-js/modules/_object-assign.js","webpack:///./node_modules/core-js/modules/es6.set.js","webpack:///./node_modules/core-js/modules/es6.object.assign.js","webpack:///./node_modules/core-js/modules/es6.symbol.js","webpack:///./node_modules/core-js/modules/_wks-ext.js","webpack:///./node_modules/core-js/modules/_same-value.js","webpack:///./node_modules/core-js/modules/_object-to-array.js","webpack:///./node_modules/core-js/modules/_is-integer.js","webpack:///./node_modules/core-js/modules/_math-log1p.js","webpack:///./node_modules/core-js/modules/es6.regexp.match.js","webpack:///./node_modules/core-js/modules/es6.regexp.exec.js","webpack:///./node_modules/core-js/modules/es6.regexp.replace.js","webpack:///./node_modules/core-js/modules/es6.regexp.search.js","webpack:///./node_modules/core-js/modules/es6.regexp.split.js","webpack:///./node_modules/core-js/modules/web.dom.iterable.js","webpack:///./app/polyfills.ts","webpack:///./node_modules/core-js/es5/index.js","webpack:///./node_modules/core-js/modules/_function-to-string.js","webpack:///./node_modules/core-js/modules/_bind.js","webpack:///./node_modules/core-js/modules/_invoke.js","webpack:///./node_modules/core-js/modules/_array-species-create.js","webpack:///./node_modules/core-js/modules/_array-species-constructor.js","webpack:///./node_modules/core-js/modules/_date-to-iso-string.js","webpack:///./node_modules/core-js/es7/reflect.js","webpack:///./node_modules/core-js/modules/es7.reflect.define-metadata.js","webpack:///./node_modules/core-js/modules/_iter-create.js","webpack:///./node_modules/core-js/modules/_collection-weak.js","webpack:///./node_modules/core-js/modules/es7.reflect.delete-metadata.js","webpack:///./node_modules/core-js/modules/es7.reflect.get-metadata.js","webpack:///./node_modules/core-js/modules/es7.reflect.get-metadata-keys.js","webpack:///./node_modules/core-js/modules/_array-from-iterable.js","webpack:///./node_modules/core-js/modules/es7.reflect.get-own-metadata.js","webpack:///./node_modules/core-js/modules/es7.reflect.get-own-metadata-keys.js","webpack:///./node_modules/core-js/modules/es7.reflect.has-metadata.js","webpack:///./node_modules/core-js/modules/es7.reflect.has-own-metadata.js","webpack:///./node_modules/core-js/modules/es7.reflect.metadata.js","webpack:///./node_modules/core-js/fn/object/assign.js","webpack:///./node_modules/core-js/es6/symbol.js","webpack:///./node_modules/core-js/modules/_wks-define.js","webpack:///./node_modules/core-js/modules/_enum-keys.js","webpack:///./node_modules/core-js/es6/object.js","webpack:///./node_modules/core-js/modules/es6.object.is.js","webpack:///./node_modules/core-js/modules/es6.object.set-prototype-of.js","webpack:///./node_modules/core-js/es7/object.js","webpack:///./node_modules/core-js/modules/es7.object.get-own-property-descriptors.js","webpack:///./node_modules/core-js/modules/_own-keys.js","webpack:///./node_modules/core-js/modules/es7.object.values.js","webpack:///./node_modules/core-js/modules/es7.object.entries.js","webpack:///./node_modules/core-js/modules/es7.object.define-getter.js","webpack:///./node_modules/core-js/modules/es7.object.define-setter.js","webpack:///./node_modules/core-js/modules/es7.object.lookup-getter.js","webpack:///./node_modules/core-js/modules/es7.object.lookup-setter.js","webpack:///./node_modules/core-js/es6/function.js","webpack:///./node_modules/core-js/modules/es6.function.name.js","webpack:///./node_modules/core-js/modules/es6.function.has-instance.js","webpack:///./node_modules/core-js/es6/parse-int.js","webpack:///./node_modules/core-js/es6/parse-float.js","webpack:///./node_modules/core-js/es6/number.js","webpack:///./node_modules/core-js/modules/es6.number.constructor.js","webpack:///./node_modules/core-js/modules/es6.number.epsilon.js","webpack:///./node_modules/core-js/modules/es6.number.is-finite.js","webpack:///./node_modules/core-js/modules/es6.number.is-integer.js","webpack:///./node_modules/core-js/modules/es6.number.is-nan.js","webpack:///./node_modules/core-js/modules/es6.number.is-safe-integer.js","webpack:///./node_modules/core-js/modules/es6.number.max-safe-integer.js","webpack:///./node_modules/core-js/modules/es6.number.min-safe-integer.js","webpack:///./node_modules/core-js/modules/es6.number.parse-float.js","webpack:///./node_modules/core-js/modules/es6.number.parse-int.js","webpack:///./node_modules/core-js/es6/math.js","webpack:///./node_modules/core-js/modules/es6.math.acosh.js","webpack:///./node_modules/core-js/modules/es6.math.asinh.js","webpack:///./node_modules/core-js/modules/es6.math.atanh.js","webpack:///./node_modules/core-js/modules/es6.math.cbrt.js","webpack:///./node_modules/core-js/modules/es6.math.clz32.js","webpack:///./node_modules/core-js/modules/es6.math.cosh.js","webpack:///./node_modules/core-js/modules/es6.math.expm1.js","webpack:///./node_modules/core-js/modules/es6.math.fround.js","webpack:///./node_modules/core-js/modules/_math-fround.js","webpack:///./node_modules/core-js/modules/es6.math.hypot.js","webpack:///./node_modules/core-js/modules/es6.math.imul.js","webpack:///./node_modules/core-js/modules/es6.math.log10.js","webpack:///./node_modules/core-js/modules/es6.math.log1p.js","webpack:///./node_modules/core-js/modules/es6.math.log2.js","webpack:///./node_modules/core-js/modules/es6.math.sign.js","webpack:///./node_modules/core-js/modules/es6.math.sinh.js","webpack:///./node_modules/core-js/modules/es6.math.tanh.js","webpack:///./node_modules/core-js/modules/es6.math.trunc.js","webpack:///./node_modules/core-js/es6/string.js","webpack:///./node_modules/core-js/modules/es6.string.from-code-point.js","webpack:///./node_modules/core-js/modules/es6.string.raw.js","webpack:///./node_modules/core-js/modules/es6.string.code-point-at.js","webpack:///./node_modules/core-js/modules/es6.string.ends-with.js","webpack:///./node_modules/core-js/modules/es6.string.includes.js","webpack:///./node_modules/core-js/modules/es6.string.repeat.js","webpack:///./node_modules/core-js/modules/es6.string.starts-with.js","webpack:///./node_modules/core-js/modules/es6.string.anchor.js","webpack:///./node_modules/core-js/modules/es6.string.big.js","webpack:///./node_modules/core-js/modules/es6.string.blink.js","webpack:///./node_modules/core-js/modules/es6.string.bold.js","webpack:///./node_modules/core-js/modules/es6.string.fixed.js","webpack:///./node_modules/core-js/modules/es6.string.fontcolor.js","webpack:///./node_modules/core-js/modules/es6.string.fontsize.js","webpack:///./node_modules/core-js/modules/es6.string.italics.js","webpack:///./node_modules/core-js/modules/es6.string.link.js","webpack:///./node_modules/core-js/modules/es6.string.small.js","webpack:///./node_modules/core-js/modules/es6.string.strike.js","webpack:///./node_modules/core-js/modules/es6.string.sub.js","webpack:///./node_modules/core-js/modules/es6.string.sup.js","webpack:///./node_modules/core-js/modules/_species-constructor.js","webpack:///./node_modules/core-js/es6/date.js","webpack:///./node_modules/core-js/modules/es6.date.to-string.js","webpack:///./node_modules/core-js/modules/es6.date.to-primitive.js","webpack:///./node_modules/core-js/modules/_date-to-primitive.js","webpack:///./node_modules/core-js/es6/array.js","webpack:///./node_modules/core-js/modules/es6.array.from.js","webpack:///./node_modules/core-js/modules/es6.array.of.js","webpack:///./node_modules/core-js/modules/es6.array.copy-within.js","webpack:///./node_modules/core-js/modules/_array-copy-within.js","webpack:///./node_modules/core-js/modules/es6.array.fill.js","webpack:///./node_modules/core-js/modules/_array-fill.js","webpack:///./node_modules/core-js/modules/es6.array.find.js","webpack:///./node_modules/core-js/modules/es6.array.find-index.js","webpack:///./node_modules/core-js/modules/es6.array.species.js","webpack:///./node_modules/core-js/es6/regexp.js","webpack:///./node_modules/core-js/modules/es6.regexp.constructor.js","webpack:///./node_modules/core-js/es6/map.js","webpack:///./node_modules/core-js/es6/weak-map.js","webpack:///./node_modules/core-js/es6/set.js","webpack:///./node_modules/zone.js/dist/zone.js"],"names":["modules","__webpack_require__","moduleId","installedModules","exports","module","i","l","call","parentJsonpFunction","window","chunkIds","moreModules","executeModules","chunkId","result","resolves","length","installedChunks","push","Object","prototype","hasOwnProperty","shift","s","3","m","c","d","name","getter","o","defineProperty","configurable","enumerable","get","n","__esModule","object","property","p","oe","err","console","error","global","core","hide","redefine","ctx","$export","type","source","key","own","out","exp","IS_FORCED","F","IS_GLOBAL","G","IS_STATIC","S","IS_PROTO","P","IS_BIND","B","target","expProto","Function","U","W","R","isObject","it","TypeError","exec","e","version","__e","a","store","uid","Symbol","USE_SYMBOL","Math","self","__g","anObject","IE8_DOM_DEFINE","toPrimitive","dP","f","O","Attributes","value","defined","toInteger","min","has","SRC","$toString","TPL","split","inspectSource","val","safe","isFunction","join","String","this","fails","quot","createHTML","string","tag","attribute","p1","replace","NAME","test","toLowerCase","IObject","method","arg","KEY","fn","createDesc","toObject","toLength","asc","TYPE","$create","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","create","$this","callbackfn","that","res","index","Map","shared","getOrCreateMetadataMap","targetKey","targetMetadata","set","keyMetadata","ordinaryHasOwnMetadata","MetadataKey","metadataMap","ordinaryGetOwnMetadata","ordinaryDefineOwnMetadata","MetadataValue","ordinaryOwnMetadataKeys","keys","forEach","_","toMetaKey","map","toString","valueOf","IE_PROTO","ObjectProto","getPrototypeOf","constructor","META","setDesc","id","isExtensible","FREEZE","preventExtensions","setMeta","w","fastKey","getWeak","onFreeze","meta","NEED","$keys","enumBugKeys","slice","ceil","floor","isNaN","pIE","toIObject","gOPD","getOwnPropertyDescriptor","aFunction","b","apply","arguments","_t","g","eval","bitmap","writable","px","random","concat","mode","copyright","dPs","Empty","createDict","iframeDocument","iframe","style","display","appendChild","src","contentWindow","document","open","write","lt","close","Properties","cof","propertyIsEnumerable","max","hiddenKeys","getOwnPropertyNames","classof","UNSCOPABLES","ArrayProto","Array","exportName","undefined","setTimeoutContext","timeout","context","setTimeout","bindFn","invokeArrayArg","isArray","each","obj","iterator","deprecate","message","deprecationMessage","Error","stack","log","warn","inherit","child","base","properties","childP","baseP","_super","assign","boolOrFn","args","TYPE_FUNCTION","ifUndefined","val1","val2","addEventListeners","types","handler","splitStr","addEventListener","removeEventListeners","removeEventListener","hasParent","node","parent","parentNode","inStr","str","find","indexOf","trim","inArray","findByKey","toArray","uniqueArray","sort","results","values","prefixed","prefix","prop","camelProp","toUpperCase","VENDOR_PREFIXES","uniqueId","_uniqueId","getWindowForElement","element","doc","ownerDocument","defaultView","parentWindow","Input","manager","callback","options","inputTarget","domHandler","ev","enable","init","createInputInstance","inputClass","SUPPORT_POINTER_EVENTS","PointerEventInput","SUPPORT_ONLY_TOUCH","TouchInput","SUPPORT_TOUCH","TouchMouseInput","MouseInput","inputHandler","eventType","input","pointersLen","pointers","changedPointersLen","changedPointers","isFirst","INPUT_START","isFinal","INPUT_END","INPUT_CANCEL","session","computeInputData","emit","recognize","prevInput","pointersLength","firstInput","simpleCloneInputData","firstMultiple","offsetCenter","center","getCenter","timeStamp","now","deltaTime","angle","getAngle","distance","getDistance","computeDeltaXY","offsetDirection","getDirection","deltaX","deltaY","overallVelocity","getVelocity","overallVelocityX","x","overallVelocityY","y","abs","scale","getScale","rotation","getRotation","maxPointers","computeIntervalInputData","srcEvent","offset","offsetDelta","prevDelta","velocity","velocityX","velocityY","direction","last","lastInterval","COMPUTE_INTERVAL","v","clientX","round","clientY","DIRECTION_NONE","DIRECTION_LEFT","DIRECTION_RIGHT","DIRECTION_UP","DIRECTION_DOWN","p2","props","PROPS_XY","sqrt","atan2","PI","start","end","PROPS_CLIENT_XY","evEl","MOUSE_ELEMENT_EVENTS","evWin","MOUSE_WINDOW_EVENTS","pressed","POINTER_ELEMENT_EVENTS","POINTER_WINDOW_EVENTS","pointerEvents","SingleTouchInput","evTarget","SINGLE_TOUCH_TARGET_EVENTS","SINGLE_TOUCH_WINDOW_EVENTS","started","normalizeSingleTouches","all","touches","changed","changedTouches","TOUCH_TARGET_EVENTS","targetIds","getTouches","allTouches","INPUT_MOVE","identifier","targetTouches","changedTargetTouches","filter","touch","mouse","primaryTouch","lastTouches","recordTouches","eventData","setLastTouch","lastTouch","lts","removeLastTouch","splice","DEDUP_TIMEOUT","isSyntheticEvent","t","dx","dy","DEDUP_DISTANCE","TouchAction","cleanTouchActions","actions","TOUCH_ACTION_NONE","hasPanX","TOUCH_ACTION_PAN_X","hasPanY","TOUCH_ACTION_PAN_Y","TOUCH_ACTION_MANIPULATION","TOUCH_ACTION_AUTO","Recognizer","defaults","state","STATE_POSSIBLE","simultaneous","requireFail","stateStr","STATE_CANCELLED","STATE_ENDED","STATE_CHANGED","STATE_BEGAN","directionStr","getRecognizerByNameIfManager","otherRecognizer","recognizer","AttrRecognizer","PanRecognizer","pX","pY","PinchRecognizer","PressRecognizer","_timer","_input","RotateRecognizer","SwipeRecognizer","TapRecognizer","pTime","pCenter","count","Hammer","recognizers","preset","Manager","handlers","oldCssProps","touchAction","toggleCssProps","item","add","recognizeWith","requireFailure","cssProps","triggerDomEvent","event","data","gestureEvent","createEvent","initEvent","gesture","dispatchEvent","TEST_ELEMENT","createElement","Date","output","nextKey","extend","dest","merge","MOBILE_REGEX","navigator","userAgent","DIRECTION_HORIZONTAL","DIRECTION_VERTICAL","DIRECTION_ALL","destroy","MOUSE_INPUT_MAP","mousedown","mousemove","mouseup","button","which","pointerType","POINTER_INPUT_MAP","pointerdown","pointermove","pointerup","pointercancel","pointerout","IE10_POINTER_TYPE_ENUM","2","4","5","MSPointerEvent","PointerEvent","removePointer","eventTypeNormalized","isTouch","storeIndex","pointerId","SINGLE_TOUCH_INPUT_MAP","touchstart","touchmove","touchend","touchcancel","TOUCH_INPUT_MAP","inputEvent","inputData","isMouse","sourceCapabilities","firesTouchEvents","PREFIXED_TOUCH_ACTION","NATIVE_TOUCH_ACTION","TOUCH_ACTION_MAP","touchMap","cssSupports","CSS","supports","compute","update","getTouchAction","preventDefaults","prevented","preventDefault","hasNone","isTapPointer","isTapMovement","isTapTouchTime","preventSrc","STATE_RECOGNIZED","dropRecognizeWith","dropRequireFailure","hasRequireFailures","canRecognizeWith","additionalEvent","tryEmit","canEmit","inputDataClone","reset","process","attrTest","optionPointers","isRecognized","isValid","threshold","directionTest","hasMoved","inOut","time","validPointers","validMovement","validTime","clearTimeout","taps","interval","posThreshold","validTouchTime","failTimeout","validInterval","validMultiTap","tapCount","VERSION","domEvents","userSelect","touchSelect","touchCallout","contentZooming","userDrag","tapHighlightColor","stop","force","stopped","curRecognizer","existing","remove","on","events","off","STATE_FAILED","Tap","Pan","Swipe","Pinch","Rotate","Press","spaces","space","non","ltrim","RegExp","rtrim","exporter","ALIAS","FORCE","ignoreCase","multiline","unicode","sticky","isArrayIter","getIterFn","BREAK","RETURN","iterable","entries","ITERATOR","step","iterFn","next","done","def","TAG","stat","getOwnPropertySymbols","K","__defineSetter__","$at","iterated","_i","point","builtinExec","wks","regexpExec","SPECIES","REPLACE_SUPPORTS_NAMED_GROUPS","re","groups","SPLIT_WORKS_WITH_OVERWRITTEN_EXEC","originalExec","SYMBOL","DELEGATES_TO_SYMBOL","DELEGATES_TO_EXEC","execCalled","nativeRegExpMethod","fns","nativeMethod","regexp","arg2","forceStringMethod","strfn","rxfn","Constructor","forbiddenField","ARG","tryGet","T","callee","LIBRARY","Iterators","$iterCreate","setToStringTag","BUGGY","returnThis","Base","DEFAULT","IS_SET","FORCED","methods","IteratorPrototype","getMethod","kind","proto","DEF_VALUES","VALUES_BUG","$native","$default","$entries","$anyNative","DESCRIPTORS","C","redefineAll","forOf","anInstance","$iterDetect","inheritIfRequired","wrapper","common","IS_WEAK","ADDER","fixMethod","instance","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","iter","BUGGY_ZERO","$instance","clear","getConstructor","setStrong","setPrototypeOf","$defineProperty","sign","$expm1","expm1","TO_STRING","pos","charCodeAt","charAt","isRegExp","searchString","MATCH","at","regexpFlags","nativeExec","nativeReplace","patchedExec","UPDATES_LAST_INDEX_WRONG","re1","re2","NPCG_INCLUDED","lastIndex","reCopy","match","addToUnscopables","_k","Arguments","is","getKeys","defineProperties","arrayIndexOf","names","toAbsoluteIndex","IS_INCLUDES","el","fromIndex","documentElement","$getOwnPropertyDescriptor","$getPrototypeOf","gOPN","windowNames","getWindowNames","$freeze","$seal","$preventExtensions","$isFrozen","$isSealed","$isExtensible","bind","arrayJoin","separator","html","arraySlice","begin","len","klass","upTo","size","cloned","$sort","comparefn","$forEach","STRICT","$map","$filter","$some","some","$every","every","$reduce","reduce","aLen","memo","isRight","reduceRight","$indexOf","NEGATIVE_ZERO","searchElement","lastIndexOf","aNumberValue","repeat","$toFixed","toFixed","ERROR","multiply","c2","divide","numToString","pow","acc","x2","fractionDigits","z","j","k","RangeError","msg","Infinity","$fails","$toPrecision","toPrecision","precision","getTime","toISOString","NaN","toJSON","pv","isFinite","$parseInt","parseInt","$trim","ws","hex","radix","$parseFloat","parseFloat","$flags","define","flags","strong","validate","entry","getEntry","$iterDefine","setSpecies","SIZE","_f","_l","r","prev","ret","getIteratorMethod","SAFE_CLOSING","riter","from","skipClosing","arr","check","buggy","__proto__","InternalMap","weak","NATIVE_WEAK_MAP","IS_IE11","ActiveXObject","uncaughtFrozenStore","ufstore","$WeakMap","gOPS","$assign","A","getSymbols","isEnum","wksExt","wksDefine","enumKeys","_create","gOPNExt","$GOPD","$GOPS","$DP","$Symbol","$JSON","JSON","_stringify","stringify","HIDDEN","TO_PRIMITIVE","SymbolRegistry","AllSymbols","OPSymbols","USE_NATIVE","QObject","setter","findChild","setSymbolDesc","D","protoDesc","wrap","sym","isSymbol","$defineProperties","$propertyIsEnumerable","E","$getOwnPropertyNames","$getOwnPropertySymbols","IS_OP","$set","es6Symbols","wellKnownSymbols","keyFor","useSetter","useSimple","FAILS_ON_PRIMITIVES","replacer","$replacer","isEntries","log1p","advanceStringIndex","regExpExec","$match","maybeCallNative","rx","fullUnicode","matchStr","forced","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","maybeToString","REPLACE","$replace","getSubstitution","matched","position","captures","namedCaptures","replacement","tailPos","symbols","ch","capture","searchValue","replaceValue","functionalReplace","accumulatedResult","nextSourcePosition","replacerArgs","sameValue","SEARCH","$search","previousLastIndex","speciesConstructor","callRegExpExec","$min","$push","LENGTH","SUPPORTS_Y","SPLIT","$split","internalSplit","limit","lastLength","lastLastIndex","splitLimit","separatorCopy","splitter","unicodeMatching","lim","q","$iterators","TO_STRING_TAG","ArrayValues","DOMIterables","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","collections","explicit","Collection","invoke","factories","construct","partArgs","bound","un","original","$toISOString","lz","num","getUTCFullYear","getUTCMilliseconds","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","Reflect","metadata","defineMetadata","metadataKey","metadataValue","descriptor","createArrayMethod","$has","arrayFind","arrayFindIndex","UncaughtFrozenStore","findUncaughtFrozen","deleteMetadata","ordinaryGetMetadata","getMetadata","Set","ordinaryMetadataKeys","oKeys","pKeys","getMetadataKeys","getOwnMetadata","getOwnMetadataKeys","ordinaryHasMetadata","hasMetadata","hasOwnMetadata","$metadata","ownKeys","createProperty","getOwnPropertyDescriptors","desc","getDesc","$values","__defineGetter__","__lookupGetter__","__lookupSetter__","FProto","nameRE","HAS_INSTANCE","FunctionProto","Number","$Number","BROKEN_COF","TRIM","toNumber","argument","third","maxCode","first","code","digits","EPSILON","_isFinite","isInteger","number","isSafeInteger","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","$acosh","acosh","MAX_VALUE","LN2","asinh","$asinh","$atanh","atanh","cbrt","clz32","LOG2E","cosh","fround","EPSILON32","MAX32","MIN32","roundTiesToEven","$abs","$sign","hypot","value1","value2","div","sum","larg","$imul","imul","xn","yn","xl","yl","log10","LOG10E","log2","sinh","tanh","trunc","fromCharCode","$fromCodePoint","fromCodePoint","raw","callSite","tpl","codePointAt","$endsWith","endsWith","endPosition","search","includes","$startsWith","startsWith","color","url","DateProto","hint","arrayLike","mapfn","mapping","of","copyWithin","to","inc","fill","endPos","$find","findIndex","$RegExp","CORRECT_NEW","tiRE","piRE","fiU","WeakMap","factory","wrapWithCurrentZone","Zone","current","scheduleMacroTaskWithCurrentZone","customSchedule","customCancel","scheduleMacroTask","bindArguments","patchPrototype","fnNames","name_1","delegate","isPropertyWritable","ObjectGetOwnPropertyDescriptor","patched","attachOriginToPatched","propertyDesc","patchProperty","onPropPatchedSymbol","zoneSymbol","originalDescGet","originalDescSet","eventName","substr","eventNameSymbol","zoneSymbolEventNames","newValue","_global","wrapFn","NULL_ON_PROP_VALUE","listener","REMOVE_ATTRIBUTE","removeAttribute","ObjectDefineProperty","patchOnProperties","onProperties","patchClass","className","OriginalClass","originalInstanceKey","copySymbolProperties","symbol","patchMethod","patchFn","ObjectGetPrototypeOf","delegateName","patchDelegate_1","shouldCopySymbolProperties","patchMacroTask","funcName","metaCreator","scheduleTask","task","cbIdx","setNative","isIE","ua","internalWindow","isIEOrEdge","isDetectedIEOrEdge","ieOrEdge","patchEventTarget","apis","patchOptions","ADD_EVENT_LISTENER","ADD_EVENT_LISTENER_STR","REMOVE_EVENT_LISTENER","rm","REMOVE_EVENT_LISTENER_STR","LISTENERS_EVENT_LISTENER","listeners","REMOVE_ALL_LISTENERS_EVENT_LISTENER","rmAll","zoneSymbolAddEventListener","ADD_EVENT_LISTENER_SOURCE","PREPEND_EVENT_LISTENER","invokeTask","isRemoved","handleEvent","originalDelegate","once","delegate_1","globalZoneAwareCallback","tasks","zoneSymbolEventNames$1","FALSE_STR","copyTasks","IMMEDIATE_PROPAGATION_SYMBOL","globalZoneAwareCaptureCallback","TRUE_STR","checkIsPassive","passiveSupported","taskData","useGlobalCallback","useG","validateHandler","vh","checkDuplicate","chkDup","returnTarget","rt","nativePrependEventListener","eventNameToString","nativeAddEventListener","nativeRemoveEventListener","nativeListeners","nativeRemoveAllListeners","prepend","customScheduleGlobal","isExisting","customCancelGlobal","symbolEventNames","symbolEventName","existingTasks","existingTask","allRemoved","customScheduleNonGlobal","customSchedulePrepend","customCancelNonGlobal","compareTaskCallbackVsDelegate","typeOfDelegate","compare","diff","blackListedEvents","__symbol__","makeAddListener","nativeListener","addSource","customScheduleFn","customCancelFn","isNode","isHandleEvent","zone","falseEventName","trueEventName","ZONE_SYMBOL_PREFIX","symbolCapture","constructorName","targetSource","globalSources","OPTIMIZED_ZONE_EVENT_TASK_DATA","scheduleEventTask","unshift","cancelTask","findEventTasks","symbolCaptureEventName","captureTasks","removeTasks","EVENT_NAME_SYMBOL_REGX","evtName","foundTasks","patchEventPrototype","api","Event","patchTimer","setName","cancelName","nameSuffix","timer","isPeriodic","handleId","tasksByHandleId","taskSymbol","clearTask","clearNative","delay","handle","ref","unref","cancelFn","runCount","propertyPatch","isUnconfigurable","originalConfigurableFlag","rewriteDescriptor","_tryDefineProperty","isFrozen","_getOwnPropertyDescriptor","_redefineProperty","unconfigurablesKey","_defineProperty","descJson","WS","WebSocket","EventTarget","proxySocket","proxySocketProto","socket","onmessageDesc","ObjectCreate","propName","ArraySlice","propertySymbol","globalWebSocket","filterProperties","ignoreProperties","tip","ip","targetIgnoreProperties","op","patchFilteredProperties","propertyDescriptorPatch","isMix","supportsWebSocket","canPatchViaPropertyDescriptor","isBrowser","ignoreErrorProperties","eventNames","Document","Element","HTMLElement","HTMLMediaElement","mediaElementEventNames","HTMLFrameSetElement","windowEventNames","frameSetEventNames","HTMLBodyElement","HTMLFrameElement","frameEventNames","HTMLIFrameElement","HTMLMarqueeElement_1","marqueeEventNames","Worker_1","workerEventNames","XMLHttpRequest","XMLHttpRequestEventNames","XMLHttpRequestEventTarget_1","IDBIndex","IDBIndexEventNames","IDBRequest","IDBOpenDBRequest","IDBDatabase","IDBTransaction","IDBCursor","websocketEventNames","patchViaCapturingAllTheEvents","XMLHttpRequestPrototype","xhrDesc","req","onreadystatechange","SYMBOL_FAKE_ONREADYSTATECHANGE_1","detectFunc","onproperty","elt","unboundKey","parentElement","eventTargetPatch","WTF_ISSUE_555","NO_EVENT_TARGET","isWtf","WTF_ISSUE_555_ARRAY","isDisableIECheck","isEnableCrossContextCheck","BROWSER_TOOLS","targets","checkIEAndCrossContext","nativeDelegate","testString","apiTypes","patchEvent","patchCallbacks","targetName","callbacks","opts","registerElementPatch","patchCustomElements","customElements","__values","mark","performance","performanceMeasure","label","scheduleMicroTask","_numberOfNestedTaskFrames","_microTaskQueue","nativeMicroTaskQueuePromise","symbolPromise","resolve","nativeThen","symbolThen","drainMicroTaskQueue","symbolSetTimeout","_isDrainingMicrotaskQueue","queue","runTask","_api","onUnhandledError","microtaskDrainDone","noop","zoneSpec","_parent","_name","_properties","_zoneDelegate","ZoneDelegate","assertZonePatched","patches","_currentZoneFrame","_currentTask","__load_patch","perfName","getZoneWith","fork","_callback","intercept","runGuarded","run","applyThis","applyArgs","handleError","NO_ZONE","notScheduled","eventTask","macroTask","reEntryGuard","running","_transitionTo","scheduled","previousTask","unknown","_updateTaskCount","newZone","scheduling","zoneDelegates","_zoneDelegates","_zone","ZoneTask","microTask","canceling","DELEGATE_ZS","onHasTask","hasTaskState","hasTask","onScheduleTask","onInvokeTask","onCancelTask","parentDelegate","_taskCounts","_parentDelegate","_forkZS","onFork","_forkDlgt","_forkCurrZone","_interceptZS","onIntercept","_interceptDlgt","_interceptCurrZone","_invokeZS","onInvoke","_invokeDlgt","_invokeCurrZone","_handleErrorZS","onHandleError","_handleErrorDlgt","_handleErrorCurrZone","_scheduleTaskZS","_scheduleTaskDlgt","_scheduleTaskCurrZone","_invokeTaskZS","_invokeTaskDlgt","_invokeTaskCurrZone","_cancelTaskZS","_cancelTaskDlgt","_cancelTaskCurrZone","_hasTaskZS","_hasTaskDlgt","_hasTaskDlgtOwner","_hasTaskCurrZone","zoneSpecHasTask","parentHasTask","targetZone","returnTask","scheduleFn","isEmpty","counts","change","_state","cancelScheduleRequest","toState","fromState1","fromState2","currentZoneFrame","showUncaughtError","patchThen","setNativePromise","NativePromise","readableObjectToString","handleUnhandledRejection","UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL","isThenable","then","forwardResolution","forwardRejection","rejection","ZoneAwarePromise","reject","makeResolver","promise","resolvePromise","onceWrapper","TYPE_ERROR","symbolState","UNRESOLVED","REJECTED","symbolValue","clearRejectedNoCatch","symbolFinally","RESOLVED","symbolParentPromiseState","symbolParentPromiseValue","trace","currentTask","creationTrace","CURRENT_TASK_TRACE_SYMBOL","scheduleResolveOrReject","REJECTED_NO_CATCH","error_1","_uncaughtPromiseErrors","REJECTION_HANDLED_HANDLER","chainPromise","onFulfilled","onRejected","promiseState","parentPromiseValue","isFinallyPromise","Ctor","originalThen","onResolve","onReject","_this","symbolThenPatched","uncaughtPromiseError","wasCalled","wrappedFunction","executor","race","e_1","_a","rej","values_1","values_1_1","e_1_1","return","e_2","unresolvedCount","valueIndex","resolvedValues","this_1","values_2","values_2_1","curValueIndex","e_2_1","catch","finally","onFinally","ZONE_AWARE_PROMISE","NewNativePromise","Promise","fetch","fetchTaskScheduling","fetchTaskAborting","OriginalAbortController","supportAbort","abortNative","abortController","signal","placeholder","fetchPromise","ctor","resource","aborted","abort","ZONE_SYMBOL_ADD_EVENT_LISTENER","ZONE_SYMBOL_REMOVE_EVENT_LISTENER","isWindowExists","isWebWorker","WorkerGlobalScope","errorEvent","filename","lineno","colno","originalFunctionToString","ORIGINAL_DELEGATE_SYMBOL","PROMISE_SYMBOL","ERROR_SYMBOL","newFunctionToString","nativePromise","nativeError","originalObjectToString","globalEventHandlersEventNames","documentEventNames","htmlElementEventNames","ieElementEventNames","webglEventNames","formEventNames","detailEventNames","blockingMethods","SYMBOL_BLACK_LISTED_EVENTS","XMLHttpRequestEventTarget","HTMLCanvasElement","toBlob","findPendingTask","XHR_TASK","XHR_SCHEDULED","XHR_ERROR_BEFORE_SCHEDULED","XHR_LISTENER","oriAddListener","oriRemoveListener","READY_STATE_CHANGE","newListener","readyState","DONE","SCHEDULED","loadTasks","oriInvoke_1","sendNative","placeholderCallback","XMLHttpRequestEventTargetPrototype","openNative","XHR_SYNC","XHR_URL","geolocation","findPromiseRejectionHandler","PromiseRejectionEvent","evt","reason"],"mappings":"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AWjC,EAAa/1B,GACxBi4B,EAAa38B,EAAO0E,GACpBskB,EAAQ2T,GAAcA,EAAWn+B,SAErC,IAAIwqB,IACGA,EAAMxD,IAAWtlB,EAAK8oB,EAAOxD,EAAUgV,GACvCxR,EAAMuR,IAAgBr6B,EAAK8oB,EAAOuR,EAAe71B,GACtDyjB,EAAUzjB,GAAQ81B,EACdkC,GAAU,IAAKl8B,IAAO85B,GAAiBtR,EAAMxoB,IAAML,EAAS6oB,EAAOxoB,EAAK85B,EAAW95B,SrJm7MlF,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CAEH,SAAUhD,EAAQD,EAASH,GAEjC,YAEAmB,QAAOY,eAAe5B,EAAS,cAAgB2F,OAAMA,IsJ/xNrD,OACA,OAGA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OAEA,OAEA,OtJyyNM,SAAU1F,EAAQD,EAASH,GuJh0NjC,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACRI,EAAOD,QAAU,EAAQ,KvJu0NnB,SAA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Mg7C,EAAa/6C,YAI/D,MAAOy6C,GAAyB16C,MAAMrF,KAAMsF,WAEhD66C,GAAoBH,GAA4BD,EAChDxiD,SAAShD,UAAU+I,SAAW68C,CAE9B,IAAIG,GAAyBhmD,OAAOC,UAAU+I,QAE9ChJ,QAAOC,UAAU+I,SAAW,WACxB,MAAItD,gBAAgBu+C,SAFO,mBAKpB+B,EAAuBj7C,MAAMrF,KAAMsF,aAelD,IAAImiC,MACJ,IAAsB,mBAAX7tC,QACP,IACI,GAAIuS,IAAU7R,OAAOY,kBAAmB,WACpCG,IAAK,WACDosC,QAGR7tC,QAAOmQ,iBAAiB,OAAQoC,GAASA,IACzCvS,OAAOqQ,oBAAoB,OAAQkC,GAASA,IAEhD,MAAOvQ,GACH6rC,MAIR,GAAIiD,KACA9C,MAAKA,GAELV,MACAuD,MACAS,GAAyB,qCACzB7D,GAA+B,oCAqiB/B2E,GAAa/I,EAAW,YA+HxBiK,GAAkB5yC,OAAO2oC,EAAW,mBAAqB3oC,OAAOY,eAChE6xC,GAA4BzyC,OAAO2oC,EAAW,6BAC9C3oC,OAAO4K,yBACPsrB,GAAUl2B,OAAOuH,OACjBorC,GAAqBhK,EAAW,mBA6JhCsd,IACA,QACA,kBACA,eACA,qBACA,WACA,cACA,OACA,SACA,UACA,iBACA,SACA,mBACA,oBACA,iBACA,YACA,QACA,QACA,cACA,aACA,WACA,OACA,UACA,YACA,WACA,YACA,WACA,OACA,iBACA,UACA,QACA,QACA,QACA,UACA,WACA,oBACA,QACA,UACA,UACA,WACA,QACA,OACA,YACA,aACA,iBACA,qBACA,YACA,aACA,aACA,YACA,WACA,YACA,UACA,aACA,oBACA,QACA,OACA,UACA,gBACA,cACA,eACA,eACA,oBACA,uBACA,4BACA,mBACA,sBACA,yBACA,cACA,WACA,cACA,YACA,WACA,aACA,QACA,SACA,SACA,SACA,UACA,SACA,kBACA,cACA,OACA,OACA,UACA,SACA,UACA,aACA,eACA,cACA,YACA,aACA,WACA,mBACA,gBACA,UACA,SAEAC,IACA,qBAAsB,sBAAuB,mBAAoB,SAAU,mBAC3E,sBAAuB,yBA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","file":"polyfills.js","sourcesContent":["/******/ (function(modules) { // webpackBootstrap\n/******/ \t// install a JSONP callback for chunk loading\n/******/ \tvar parentJsonpFunction = window[\"webpackJsonp\"];\n/******/ \twindow[\"webpackJsonp\"] = function webpackJsonpCallback(chunkIds, moreModules, executeModules) {\n/******/ \t\t// add \"moreModules\" to the modules object,\n/******/ \t\t// then flag all \"chunkIds\" as loaded and fire callback\n/******/ \t\tvar moduleId, chunkId, i = 0, resolves = [], result;\n/******/ \t\tfor(;i < chunkIds.length; i++) {\n/******/ \t\t\tchunkId = chunkIds[i];\n/******/ \t\t\tif(installedChunks[chunkId]) {\n/******/ \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n/******/ \t\t\t}\n/******/ \t\t\tinstalledChunks[chunkId] = 0;\n/******/ \t\t}\n/******/ \t\tfor(moduleId in moreModules) {\n/******/ \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n/******/ \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n/******/ \t\t\t}\n/******/ \t\t}\n/******/ \t\tif(parentJsonpFunction) parentJsonpFunction(chunkIds, moreModules, executeModules);\n/******/ \t\twhile(resolves.length) {\n/******/ \t\t\tresolves.shift()();\n/******/ \t\t}\n/******/ \t\tif(executeModules) {\n/******/ \t\t\tfor(i=0; i < executeModules.length; i++) {\n/******/ \t\t\t\tresult = __webpack_require__(__webpack_require__.s = executeModules[i]);\n/******/ \t\t\t}\n/******/ \t\t}\n/******/ \t\treturn result;\n/******/ \t};\n/******/\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// objects to store loaded and loading chunks\n/******/ \tvar installedChunks = {\n/******/ \t\t3: 0\n/******/ \t};\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, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\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/******/ \t// on error function for async loading\n/******/ \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 581);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */,\n/* 1 */,\n/* 2 */,\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(18);\nvar core = __webpack_require__(14);\nvar hide = __webpack_require__(43);\nvar redefine = __webpack_require__(31);\nvar ctx = __webpack_require__(66);\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE];\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});\n var key, own, out, exp;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n // export native or passed\n out = (own ? target : source)[key];\n // bind timers to global for call from export context\n exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // extend global\n if (target) redefine(target, key, out, type & $export.U);\n // export\n if (exports[key] != out) hide(exports, key, exp);\n if (IS_PROTO && expProto[key] != out) expProto[key] = out;\n }\n};\nglobal.core = core;\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n\n\n/***/ }),\n/* 4 */,\n/* 5 */,\n/* 6 */,\n/* 7 */,\n/* 8 */,\n/* 9 */,\n/* 10 */,\n/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(15);\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n\n\n/***/ }),\n/* 13 */,\n/* 14 */\n/***/ (function(module, exports) {\n\nvar core = module.exports = { version: '2.6.12' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !__webpack_require__(12)(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar store = __webpack_require__(76)('wks');\nvar uid = __webpack_require__(75);\nvar Symbol = __webpack_require__(18).Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports) {\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n\n\n/***/ }),\n/* 19 */,\n/* 20 */,\n/* 21 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(11);\nvar IE8_DOM_DEFINE = __webpack_require__(205);\nvar toPrimitive = __webpack_require__(49);\nvar dP = Object.defineProperty;\n\nexports.f = __webpack_require__(16) ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.13 ToObject(argument)\nvar defined = __webpack_require__(51);\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n\n\n/***/ }),\n/* 23 */,\n/* 24 */,\n/* 25 */,\n/* 26 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.15 ToLength\nvar toInteger = __webpack_require__(58);\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n/***/ }),\n/* 27 */,\n/* 28 */,\n/* 29 */,\n/* 30 */,\n/* 31 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(18);\nvar hide = __webpack_require__(43);\nvar has = __webpack_require__(44);\nvar SRC = __webpack_require__(75)('src');\nvar $toString = __webpack_require__(583);\nvar TO_STRING = 'toString';\nvar TPL = ('' + $toString).split(TO_STRING);\n\n__webpack_require__(14).inspectSource = function (it) {\n return $toString.call(it);\n};\n\n(module.exports = function (O, key, val, safe) {\n var isFunction = typeof val == 'function';\n if (isFunction) has(val, 'name') || hide(val, 'name', key);\n if (O[key] === val) return;\n if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n if (O === global) {\n O[key] = val;\n } else if (!safe) {\n delete O[key];\n hide(O, key, val);\n } else if (O[key]) {\n O[key] = val;\n } else {\n hide(O, key, val);\n }\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, TO_STRING, function toString() {\n return typeof this == 'function' && this[SRC] || $toString.call(this);\n});\n\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(3);\nvar fails = __webpack_require__(12);\nvar defined = __webpack_require__(51);\nvar quot = /\"/g;\n// B.2.3.2.1 CreateHTML(string, tag, attribute, value)\nvar createHTML = function (string, tag, attribute, value) {\n var S = String(defined(string));\n var p1 = '<' + tag;\n if (attribute !== '') p1 += ' ' + attribute + '=\"' + String(value).replace(quot, '"') + '\"';\n return p1 + '>' + S + '';\n};\nmodule.exports = function (NAME, exec) {\n var O = {};\n O[NAME] = exec(createHTML);\n $export($export.P + $export.F * fails(function () {\n var test = ''[NAME]('\"');\n return test !== test.toLowerCase() || test.split('\"').length > 3;\n }), 'String', O);\n};\n\n\n/***/ }),\n/* 33 */,\n/* 34 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = __webpack_require__(79);\nvar defined = __webpack_require__(51);\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n\n\n/***/ }),\n/* 35 */,\n/* 36 */,\n/* 37 */,\n/* 38 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar fails = __webpack_require__(12);\n\nmodule.exports = function (method, arg) {\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call\n arg ? method.call(null, function () { /* empty */ }, 1) : method.call(null);\n });\n};\n\n\n/***/ }),\n/* 39 */,\n/* 40 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// most Object methods by ES6 should accept primitives\nvar $export = __webpack_require__(3);\nvar core = __webpack_require__(14);\nvar fails = __webpack_require__(12);\nmodule.exports = function (KEY, exec) {\n var fn = (core.Object || {})[KEY] || Object[KEY];\n var exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n\n\n/***/ }),\n/* 41 */,\n/* 42 */,\n/* 43 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(21);\nvar createDesc = __webpack_require__(74);\nmodule.exports = __webpack_require__(16) ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n\n\n/***/ }),\n/* 44 */\n/***/ (function(module, exports) {\n\nvar hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n\n\n/***/ }),\n/* 45 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 0 -> Array#forEach\n// 1 -> Array#map\n// 2 -> Array#filter\n// 3 -> Array#some\n// 4 -> Array#every\n// 5 -> Array#find\n// 6 -> Array#findIndex\nvar ctx = __webpack_require__(66);\nvar IObject = __webpack_require__(79);\nvar toObject = __webpack_require__(22);\nvar toLength = __webpack_require__(26);\nvar asc = __webpack_require__(586);\nmodule.exports = function (TYPE, $create) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n var create = $create || asc;\n return function ($this, callbackfn, that) {\n var O = toObject($this);\n var self = IObject(O);\n var f = ctx(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var val, res;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n val = self[index];\n res = f(val, index, O);\n if (TYPE) {\n if (IS_MAP) result[index] = res; // map\n else if (res) switch (TYPE) {\n case 3: return true; // some\n case 5: return val; // find\n case 6: return index; // findIndex\n case 2: result.push(val); // filter\n } else if (IS_EVERY) return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;\n };\n};\n\n\n/***/ }),\n/* 46 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Map = __webpack_require__(253);\nvar $export = __webpack_require__(3);\nvar shared = __webpack_require__(76)('metadata');\nvar store = shared.store || (shared.store = new (__webpack_require__(261))());\n\nvar getOrCreateMetadataMap = function (target, targetKey, create) {\n var targetMetadata = store.get(target);\n if (!targetMetadata) {\n if (!create) return undefined;\n store.set(target, targetMetadata = new Map());\n }\n var keyMetadata = targetMetadata.get(targetKey);\n if (!keyMetadata) {\n if (!create) return undefined;\n targetMetadata.set(targetKey, keyMetadata = new Map());\n } return keyMetadata;\n};\nvar ordinaryHasOwnMetadata = function (MetadataKey, O, P) {\n var metadataMap = getOrCreateMetadataMap(O, P, false);\n return metadataMap === undefined ? false : metadataMap.has(MetadataKey);\n};\nvar ordinaryGetOwnMetadata = function (MetadataKey, O, P) {\n var metadataMap = getOrCreateMetadataMap(O, P, false);\n return metadataMap === undefined ? undefined : metadataMap.get(MetadataKey);\n};\nvar ordinaryDefineOwnMetadata = function (MetadataKey, MetadataValue, O, P) {\n getOrCreateMetadataMap(O, P, true).set(MetadataKey, MetadataValue);\n};\nvar ordinaryOwnMetadataKeys = function (target, targetKey) {\n var metadataMap = getOrCreateMetadataMap(target, targetKey, false);\n var keys = [];\n if (metadataMap) metadataMap.forEach(function (_, key) { keys.push(key); });\n return keys;\n};\nvar toMetaKey = function (it) {\n return it === undefined || typeof it == 'symbol' ? it : String(it);\n};\nvar exp = function (O) {\n $export($export.S, 'Reflect', O);\n};\n\nmodule.exports = {\n store: store,\n map: getOrCreateMetadataMap,\n has: ordinaryHasOwnMetadata,\n get: ordinaryGetOwnMetadata,\n set: ordinaryDefineOwnMetadata,\n keys: ordinaryOwnMetadataKeys,\n key: toMetaKey,\n exp: exp\n};\n\n\n/***/ }),\n/* 47 */,\n/* 48 */,\n/* 49 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = __webpack_require__(15);\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n/***/ }),\n/* 50 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n\n\n/***/ }),\n/* 51 */\n/***/ (function(module, exports) {\n\n// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n\n/***/ }),\n/* 52 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = __webpack_require__(44);\nvar toObject = __webpack_require__(22);\nvar IE_PROTO = __webpack_require__(133)('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n\n\n/***/ }),\n/* 53 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar META = __webpack_require__(75)('meta');\nvar isObject = __webpack_require__(15);\nvar has = __webpack_require__(44);\nvar setDesc = __webpack_require__(21).f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar FREEZE = !__webpack_require__(12)(function () {\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n setDesc(it, META, { value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n } });\n};\nvar fastKey = function (it, create) {\n // return primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function (it, create) {\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n\n\n/***/ }),\n/* 54 */,\n/* 55 */,\n/* 56 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = __webpack_require__(208);\nvar enumBugKeys = __webpack_require__(134);\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n\n\n/***/ }),\n/* 57 */\n/***/ (function(module, exports) {\n\nvar toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n\n\n/***/ }),\n/* 58 */\n/***/ (function(module, exports) {\n\n// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n/***/ }),\n/* 59 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar pIE = __webpack_require__(81);\nvar createDesc = __webpack_require__(74);\nvar toIObject = __webpack_require__(34);\nvar toPrimitive = __webpack_require__(49);\nvar has = __webpack_require__(44);\nvar IE8_DOM_DEFINE = __webpack_require__(205);\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = __webpack_require__(16) ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) { /* empty */ }\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n\n\n/***/ }),\n/* 60 */,\n/* 61 */,\n/* 62 */,\n/* 63 */,\n/* 64 */,\n/* 65 */,\n/* 66 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// optional / simple context binding\nvar aFunction = __webpack_require__(50);\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n\n\n/***/ }),\n/* 67 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(15);\nmodule.exports = function (it, TYPE) {\n if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!');\n return it;\n};\n\n\n/***/ }),\n/* 68 */\n/***/ (function(module, exports) {\n\nvar g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n/***/ }),\n/* 69 */,\n/* 70 */,\n/* 71 */,\n/* 72 */,\n/* 73 */,\n/* 74 */\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/***/ }),\n/* 75 */\n/***/ (function(module, exports) {\n\nvar id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n/***/ }),\n/* 76 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar core = __webpack_require__(14);\nvar global = __webpack_require__(18);\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: core.version,\n mode: __webpack_require__(77) ? 'pure' : 'global',\n copyright: '© 2020 Denis Pushkarev (zloirock.ru)'\n});\n\n\n/***/ }),\n/* 77 */\n/***/ (function(module, exports) {\n\nmodule.exports = false;\n\n\n/***/ }),\n/* 78 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = __webpack_require__(11);\nvar dPs = __webpack_require__(207);\nvar enumBugKeys = __webpack_require__(134);\nvar IE_PROTO = __webpack_require__(133)('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = __webpack_require__(206)('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n __webpack_require__(210).appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n\n\n/***/ }),\n/* 79 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = __webpack_require__(57);\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n/***/ }),\n/* 80 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(58);\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n/***/ }),\n/* 81 */\n/***/ (function(module, exports) {\n\nexports.f = {}.propertyIsEnumerable;\n\n\n/***/ }),\n/* 82 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = __webpack_require__(208);\nvar hiddenKeys = __webpack_require__(134).concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};\n\n\n/***/ }),\n/* 83 */\n/***/ (function(module, exports) {\n\nmodule.exports = {};\n\n\n/***/ }),\n/* 84 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 19.1.3.6 Object.prototype.toString()\nvar classof = __webpack_require__(139);\nvar test = {};\ntest[__webpack_require__(17)('toStringTag')] = 'z';\nif (test + '' != '[object z]') {\n __webpack_require__(31)(Object.prototype, 'toString', function toString() {\n return '[object ' + classof(this) + ']';\n }, true);\n}\n\n\n/***/ }),\n/* 85 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 22.1.3.31 Array.prototype[@@unscopables]\nvar UNSCOPABLES = __webpack_require__(17)('unscopables');\nvar ArrayProto = Array.prototype;\nif (ArrayProto[UNSCOPABLES] == undefined) __webpack_require__(43)(ArrayProto, UNSCOPABLES, {});\nmodule.exports = function (key) {\n ArrayProto[UNSCOPABLES][key] = true;\n};\n\n\n/***/ }),\n/* 86 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_RESULT__;/*! Hammer.JS - v2.0.7 - 2016-04-22\n * http://hammerjs.github.io/\n *\n * Copyright (c) 2016 Jorik Tangelder;\n * Licensed under the MIT license */\n(function(window, document, exportName, undefined) {\n 'use strict';\n\nvar VENDOR_PREFIXES = ['', 'webkit', 'Moz', 'MS', 'ms', 'o'];\nvar TEST_ELEMENT = document.createElement('div');\n\nvar TYPE_FUNCTION = 'function';\n\nvar round = Math.round;\nvar abs = Math.abs;\nvar now = Date.now;\n\n/**\n * set a timeout with a given scope\n * @param {Function} fn\n * @param {Number} timeout\n * @param {Object} context\n * @returns {number}\n */\nfunction setTimeoutContext(fn, timeout, context) {\n return setTimeout(bindFn(fn, context), timeout);\n}\n\n/**\n * if the argument is an array, we want to execute the fn on each entry\n * if it aint an array we don't want to do a thing.\n * this is used by all the methods that accept a single and array argument.\n * @param {*|Array} arg\n * @param {String} fn\n * @param {Object} [context]\n * @returns {Boolean}\n */\nfunction invokeArrayArg(arg, fn, context) {\n if (Array.isArray(arg)) {\n each(arg, context[fn], context);\n return true;\n }\n return false;\n}\n\n/**\n * walk objects and arrays\n * @param {Object} obj\n * @param {Function} iterator\n * @param {Object} context\n */\nfunction each(obj, iterator, context) {\n var i;\n\n if (!obj) {\n return;\n }\n\n if (obj.forEach) {\n obj.forEach(iterator, context);\n } else if (obj.length !== undefined) {\n i = 0;\n while (i < obj.length) {\n iterator.call(context, obj[i], i, obj);\n i++;\n }\n } else {\n for (i in obj) {\n obj.hasOwnProperty(i) && iterator.call(context, obj[i], i, obj);\n }\n }\n}\n\n/**\n * wrap a method with a deprecation warning and stack trace\n * @param {Function} method\n * @param {String} name\n * @param {String} message\n * @returns {Function} A new function wrapping the supplied method.\n */\nfunction deprecate(method, name, message) {\n var deprecationMessage = 'DEPRECATED METHOD: ' + name + '\\n' + message + ' AT \\n';\n return function() {\n var e = new Error('get-stack-trace');\n var stack = e && e.stack ? e.stack.replace(/^[^\\(]+?[\\n$]/gm, '')\n .replace(/^\\s+at\\s+/gm, '')\n .replace(/^Object.\\s*\\(/gm, '{anonymous}()@') : 'Unknown Stack Trace';\n\n var log = window.console && (window.console.warn || window.console.log);\n if (log) {\n log.call(window.console, deprecationMessage, stack);\n }\n return method.apply(this, arguments);\n };\n}\n\n/**\n * extend object.\n * means that properties in dest will be overwritten by the ones in src.\n * @param {Object} target\n * @param {...Object} objects_to_assign\n * @returns {Object} target\n */\nvar assign;\nif (typeof Object.assign !== 'function') {\n assign = function assign(target) {\n if (target === undefined || target === null) {\n throw new TypeError('Cannot convert undefined or null to object');\n }\n\n var output = Object(target);\n for (var index = 1; index < arguments.length; index++) {\n var source = arguments[index];\n if (source !== undefined && source !== null) {\n for (var nextKey in source) {\n if (source.hasOwnProperty(nextKey)) {\n output[nextKey] = source[nextKey];\n }\n }\n }\n }\n return output;\n };\n} else {\n assign = Object.assign;\n}\n\n/**\n * extend object.\n * means that properties in dest will be overwritten by the ones in src.\n * @param {Object} dest\n * @param {Object} src\n * @param {Boolean} [merge=false]\n * @returns {Object} dest\n */\nvar extend = deprecate(function extend(dest, src, merge) {\n var keys = Object.keys(src);\n var i = 0;\n while (i < keys.length) {\n if (!merge || (merge && dest[keys[i]] === undefined)) {\n dest[keys[i]] = src[keys[i]];\n }\n i++;\n }\n return dest;\n}, 'extend', 'Use `assign`.');\n\n/**\n * merge the values from src in the dest.\n * means that properties that exist in dest will not be overwritten by src\n * @param {Object} dest\n * @param {Object} src\n * @returns {Object} dest\n */\nvar merge = deprecate(function merge(dest, src) {\n return extend(dest, src, true);\n}, 'merge', 'Use `assign`.');\n\n/**\n * simple class inheritance\n * @param {Function} child\n * @param {Function} base\n * @param {Object} [properties]\n */\nfunction inherit(child, base, properties) {\n var baseP = base.prototype,\n childP;\n\n childP = child.prototype = Object.create(baseP);\n childP.constructor = child;\n childP._super = baseP;\n\n if (properties) {\n assign(childP, properties);\n }\n}\n\n/**\n * simple function bind\n * @param {Function} fn\n * @param {Object} context\n * @returns {Function}\n */\nfunction bindFn(fn, context) {\n return function boundFn() {\n return fn.apply(context, arguments);\n };\n}\n\n/**\n * let a boolean value also be a function that must return a boolean\n * this first item in args will be used as the context\n * @param {Boolean|Function} val\n * @param {Array} [args]\n * @returns {Boolean}\n */\nfunction boolOrFn(val, args) {\n if (typeof val == TYPE_FUNCTION) {\n return val.apply(args ? args[0] || undefined : undefined, args);\n }\n return val;\n}\n\n/**\n * use the val2 when val1 is undefined\n * @param {*} val1\n * @param {*} val2\n * @returns {*}\n */\nfunction ifUndefined(val1, val2) {\n return (val1 === undefined) ? val2 : val1;\n}\n\n/**\n * addEventListener with multiple events at once\n * @param {EventTarget} target\n * @param {String} types\n * @param {Function} handler\n */\nfunction addEventListeners(target, types, handler) {\n each(splitStr(types), function(type) {\n target.addEventListener(type, handler, false);\n });\n}\n\n/**\n * removeEventListener with multiple events at once\n * @param {EventTarget} target\n * @param {String} types\n * @param {Function} handler\n */\nfunction removeEventListeners(target, types, handler) {\n each(splitStr(types), function(type) {\n target.removeEventListener(type, handler, false);\n });\n}\n\n/**\n * find if a node is in the given parent\n * @method hasParent\n * @param {HTMLElement} node\n * @param {HTMLElement} parent\n * @return {Boolean} found\n */\nfunction hasParent(node, parent) {\n while (node) {\n if (node == parent) {\n return true;\n }\n node = node.parentNode;\n }\n return false;\n}\n\n/**\n * small indexOf wrapper\n * @param {String} str\n * @param {String} find\n * @returns {Boolean} found\n */\nfunction inStr(str, find) {\n return str.indexOf(find) > -1;\n}\n\n/**\n * split string on whitespace\n * @param {String} str\n * @returns {Array} words\n */\nfunction splitStr(str) {\n return str.trim().split(/\\s+/g);\n}\n\n/**\n * find if a array contains the object using indexOf or a simple polyFill\n * @param {Array} src\n * @param {String} find\n * @param {String} [findByKey]\n * @return {Boolean|Number} false when not found, or the index\n */\nfunction inArray(src, find, findByKey) {\n if (src.indexOf && !findByKey) {\n return src.indexOf(find);\n } else {\n var i = 0;\n while (i < src.length) {\n if ((findByKey && src[i][findByKey] == find) || (!findByKey && src[i] === find)) {\n return i;\n }\n i++;\n }\n return -1;\n }\n}\n\n/**\n * convert array-like objects to real arrays\n * @param {Object} obj\n * @returns {Array}\n */\nfunction toArray(obj) {\n return Array.prototype.slice.call(obj, 0);\n}\n\n/**\n * unique array with objects based on a key (like 'id') or just by the array's value\n * @param {Array} src [{id:1},{id:2},{id:1}]\n * @param {String} [key]\n * @param {Boolean} [sort=False]\n * @returns {Array} [{id:1},{id:2}]\n */\nfunction uniqueArray(src, key, sort) {\n var results = [];\n var values = [];\n var i = 0;\n\n while (i < src.length) {\n var val = key ? src[i][key] : src[i];\n if (inArray(values, val) < 0) {\n results.push(src[i]);\n }\n values[i] = val;\n i++;\n }\n\n if (sort) {\n if (!key) {\n results = results.sort();\n } else {\n results = results.sort(function sortUniqueArray(a, b) {\n return a[key] > b[key];\n });\n }\n }\n\n return results;\n}\n\n/**\n * get the prefixed property\n * @param {Object} obj\n * @param {String} property\n * @returns {String|Undefined} prefixed\n */\nfunction prefixed(obj, property) {\n var prefix, prop;\n var camelProp = property[0].toUpperCase() + property.slice(1);\n\n var i = 0;\n while (i < VENDOR_PREFIXES.length) {\n prefix = VENDOR_PREFIXES[i];\n prop = (prefix) ? prefix + camelProp : property;\n\n if (prop in obj) {\n return prop;\n }\n i++;\n }\n return undefined;\n}\n\n/**\n * get a unique id\n * @returns {number} uniqueId\n */\nvar _uniqueId = 1;\nfunction uniqueId() {\n return _uniqueId++;\n}\n\n/**\n * get the window object of an element\n * @param {HTMLElement} element\n * @returns {DocumentView|Window}\n */\nfunction getWindowForElement(element) {\n var doc = element.ownerDocument || element;\n return (doc.defaultView || doc.parentWindow || window);\n}\n\nvar MOBILE_REGEX = /mobile|tablet|ip(ad|hone|od)|android/i;\n\nvar SUPPORT_TOUCH = ('ontouchstart' in window);\nvar SUPPORT_POINTER_EVENTS = prefixed(window, 'PointerEvent') !== undefined;\nvar SUPPORT_ONLY_TOUCH = SUPPORT_TOUCH && MOBILE_REGEX.test(navigator.userAgent);\n\nvar INPUT_TYPE_TOUCH = 'touch';\nvar INPUT_TYPE_PEN = 'pen';\nvar INPUT_TYPE_MOUSE = 'mouse';\nvar INPUT_TYPE_KINECT = 'kinect';\n\nvar COMPUTE_INTERVAL = 25;\n\nvar INPUT_START = 1;\nvar INPUT_MOVE = 2;\nvar INPUT_END = 4;\nvar INPUT_CANCEL = 8;\n\nvar DIRECTION_NONE = 1;\nvar DIRECTION_LEFT = 2;\nvar DIRECTION_RIGHT = 4;\nvar DIRECTION_UP = 8;\nvar DIRECTION_DOWN = 16;\n\nvar DIRECTION_HORIZONTAL = DIRECTION_LEFT | DIRECTION_RIGHT;\nvar DIRECTION_VERTICAL = DIRECTION_UP | DIRECTION_DOWN;\nvar DIRECTION_ALL = DIRECTION_HORIZONTAL | DIRECTION_VERTICAL;\n\nvar PROPS_XY = ['x', 'y'];\nvar PROPS_CLIENT_XY = ['clientX', 'clientY'];\n\n/**\n * create new input type manager\n * @param {Manager} manager\n * @param {Function} callback\n * @returns {Input}\n * @constructor\n */\nfunction Input(manager, callback) {\n var self = this;\n this.manager = manager;\n this.callback = callback;\n this.element = manager.element;\n this.target = manager.options.inputTarget;\n\n // smaller wrapper around the handler, for the scope and the enabled state of the manager,\n // so when disabled the input events are completely bypassed.\n this.domHandler = function(ev) {\n if (boolOrFn(manager.options.enable, [manager])) {\n self.handler(ev);\n }\n };\n\n this.init();\n\n}\n\nInput.prototype = {\n /**\n * should handle the inputEvent data and trigger the callback\n * @virtual\n */\n handler: function() { },\n\n /**\n * bind the events\n */\n init: function() {\n this.evEl && addEventListeners(this.element, this.evEl, this.domHandler);\n this.evTarget && addEventListeners(this.target, this.evTarget, this.domHandler);\n this.evWin && addEventListeners(getWindowForElement(this.element), this.evWin, this.domHandler);\n },\n\n /**\n * unbind the events\n */\n destroy: function() {\n this.evEl && removeEventListeners(this.element, this.evEl, this.domHandler);\n this.evTarget && removeEventListeners(this.target, this.evTarget, this.domHandler);\n this.evWin && removeEventListeners(getWindowForElement(this.element), this.evWin, this.domHandler);\n }\n};\n\n/**\n * create new input type manager\n * called by the Manager constructor\n * @param {Hammer} manager\n * @returns {Input}\n */\nfunction createInputInstance(manager) {\n var Type;\n var inputClass = manager.options.inputClass;\n\n if (inputClass) {\n Type = inputClass;\n } else if (SUPPORT_POINTER_EVENTS) {\n Type = PointerEventInput;\n } else if (SUPPORT_ONLY_TOUCH) {\n Type = TouchInput;\n } else if (!SUPPORT_TOUCH) {\n Type = MouseInput;\n } else {\n Type = TouchMouseInput;\n }\n return new (Type)(manager, inputHandler);\n}\n\n/**\n * handle input events\n * @param {Manager} manager\n * @param {String} eventType\n * @param {Object} input\n */\nfunction inputHandler(manager, eventType, input) {\n var pointersLen = input.pointers.length;\n var changedPointersLen = input.changedPointers.length;\n var isFirst = (eventType & INPUT_START && (pointersLen - changedPointersLen === 0));\n var isFinal = (eventType & (INPUT_END | INPUT_CANCEL) && (pointersLen - changedPointersLen === 0));\n\n input.isFirst = !!isFirst;\n input.isFinal = !!isFinal;\n\n if (isFirst) {\n manager.session = {};\n }\n\n // source event is the normalized value of the domEvents\n // like 'touchstart, mouseup, pointerdown'\n input.eventType = eventType;\n\n // compute scale, rotation etc\n computeInputData(manager, input);\n\n // emit secret event\n manager.emit('hammer.input', input);\n\n manager.recognize(input);\n manager.session.prevInput = input;\n}\n\n/**\n * extend the data with some usable properties like scale, rotate, velocity etc\n * @param {Object} manager\n * @param {Object} input\n */\nfunction computeInputData(manager, input) {\n var session = manager.session;\n var pointers = input.pointers;\n var pointersLength = pointers.length;\n\n // store the first input to calculate the distance and direction\n if (!session.firstInput) {\n session.firstInput = simpleCloneInputData(input);\n }\n\n // to compute scale and rotation we need to store the multiple touches\n if (pointersLength > 1 && !session.firstMultiple) {\n session.firstMultiple = simpleCloneInputData(input);\n } else if (pointersLength === 1) {\n session.firstMultiple = false;\n }\n\n var firstInput = session.firstInput;\n var firstMultiple = session.firstMultiple;\n var offsetCenter = firstMultiple ? firstMultiple.center : firstInput.center;\n\n var center = input.center = getCenter(pointers);\n input.timeStamp = now();\n input.deltaTime = input.timeStamp - firstInput.timeStamp;\n\n input.angle = getAngle(offsetCenter, center);\n input.distance = getDistance(offsetCenter, center);\n\n computeDeltaXY(session, input);\n input.offsetDirection = getDirection(input.deltaX, input.deltaY);\n\n var overallVelocity = getVelocity(input.deltaTime, input.deltaX, input.deltaY);\n input.overallVelocityX = overallVelocity.x;\n input.overallVelocityY = overallVelocity.y;\n input.overallVelocity = (abs(overallVelocity.x) > abs(overallVelocity.y)) ? overallVelocity.x : overallVelocity.y;\n\n input.scale = firstMultiple ? getScale(firstMultiple.pointers, pointers) : 1;\n input.rotation = firstMultiple ? getRotation(firstMultiple.pointers, pointers) : 0;\n\n input.maxPointers = !session.prevInput ? input.pointers.length : ((input.pointers.length >\n session.prevInput.maxPointers) ? input.pointers.length : session.prevInput.maxPointers);\n\n computeIntervalInputData(session, input);\n\n // find the correct target\n var target = manager.element;\n if (hasParent(input.srcEvent.target, target)) {\n target = input.srcEvent.target;\n }\n input.target = target;\n}\n\nfunction computeDeltaXY(session, input) {\n var center = input.center;\n var offset = session.offsetDelta || {};\n var prevDelta = session.prevDelta || {};\n var prevInput = session.prevInput || {};\n\n if (input.eventType === INPUT_START || prevInput.eventType === INPUT_END) {\n prevDelta = session.prevDelta = {\n x: prevInput.deltaX || 0,\n y: prevInput.deltaY || 0\n };\n\n offset = session.offsetDelta = {\n x: center.x,\n y: center.y\n };\n }\n\n input.deltaX = prevDelta.x + (center.x - offset.x);\n input.deltaY = prevDelta.y + (center.y - offset.y);\n}\n\n/**\n * velocity is calculated every x ms\n * @param {Object} session\n * @param {Object} input\n */\nfunction computeIntervalInputData(session, input) {\n var last = session.lastInterval || input,\n deltaTime = input.timeStamp - last.timeStamp,\n velocity, velocityX, velocityY, direction;\n\n if (input.eventType != INPUT_CANCEL && (deltaTime > COMPUTE_INTERVAL || last.velocity === undefined)) {\n var deltaX = input.deltaX - last.deltaX;\n var deltaY = input.deltaY - last.deltaY;\n\n var v = getVelocity(deltaTime, deltaX, deltaY);\n velocityX = v.x;\n velocityY = v.y;\n velocity = (abs(v.x) > abs(v.y)) ? v.x : v.y;\n direction = getDirection(deltaX, deltaY);\n\n session.lastInterval = input;\n } else {\n // use latest velocity info if it doesn't overtake a minimum period\n velocity = last.velocity;\n velocityX = last.velocityX;\n velocityY = last.velocityY;\n direction = last.direction;\n }\n\n input.velocity = velocity;\n input.velocityX = velocityX;\n input.velocityY = velocityY;\n input.direction = direction;\n}\n\n/**\n * create a simple clone from the input used for storage of firstInput and firstMultiple\n * @param {Object} input\n * @returns {Object} clonedInputData\n */\nfunction simpleCloneInputData(input) {\n // make a simple copy of the pointers because we will get a reference if we don't\n // we only need clientXY for the calculations\n var pointers = [];\n var i = 0;\n while (i < input.pointers.length) {\n pointers[i] = {\n clientX: round(input.pointers[i].clientX),\n clientY: round(input.pointers[i].clientY)\n };\n i++;\n }\n\n return {\n timeStamp: now(),\n pointers: pointers,\n center: getCenter(pointers),\n deltaX: input.deltaX,\n deltaY: input.deltaY\n };\n}\n\n/**\n * get the center of all the pointers\n * @param {Array} pointers\n * @return {Object} center contains `x` and `y` properties\n */\nfunction getCenter(pointers) {\n var pointersLength = pointers.length;\n\n // no need to loop when only one touch\n if (pointersLength === 1) {\n return {\n x: round(pointers[0].clientX),\n y: round(pointers[0].clientY)\n };\n }\n\n var x = 0, y = 0, i = 0;\n while (i < pointersLength) {\n x += pointers[i].clientX;\n y += pointers[i].clientY;\n i++;\n }\n\n return {\n x: round(x / pointersLength),\n y: round(y / pointersLength)\n };\n}\n\n/**\n * calculate the velocity between two points. unit is in px per ms.\n * @param {Number} deltaTime\n * @param {Number} x\n * @param {Number} y\n * @return {Object} velocity `x` and `y`\n */\nfunction getVelocity(deltaTime, x, y) {\n return {\n x: x / deltaTime || 0,\n y: y / deltaTime || 0\n };\n}\n\n/**\n * get the direction between two points\n * @param {Number} x\n * @param {Number} y\n * @return {Number} direction\n */\nfunction getDirection(x, y) {\n if (x === y) {\n return DIRECTION_NONE;\n }\n\n if (abs(x) >= abs(y)) {\n return x < 0 ? DIRECTION_LEFT : DIRECTION_RIGHT;\n }\n return y < 0 ? DIRECTION_UP : DIRECTION_DOWN;\n}\n\n/**\n * calculate the absolute distance between two points\n * @param {Object} p1 {x, y}\n * @param {Object} p2 {x, y}\n * @param {Array} [props] containing x and y keys\n * @return {Number} distance\n */\nfunction getDistance(p1, p2, props) {\n if (!props) {\n props = PROPS_XY;\n }\n var x = p2[props[0]] - p1[props[0]],\n y = p2[props[1]] - p1[props[1]];\n\n return Math.sqrt((x * x) + (y * y));\n}\n\n/**\n * calculate the angle between two coordinates\n * @param {Object} p1\n * @param {Object} p2\n * @param {Array} [props] containing x and y keys\n * @return {Number} angle\n */\nfunction getAngle(p1, p2, props) {\n if (!props) {\n props = PROPS_XY;\n }\n var x = p2[props[0]] - p1[props[0]],\n y = p2[props[1]] - p1[props[1]];\n return Math.atan2(y, x) * 180 / Math.PI;\n}\n\n/**\n * calculate the rotation degrees between two pointersets\n * @param {Array} start array of pointers\n * @param {Array} end array of pointers\n * @return {Number} rotation\n */\nfunction getRotation(start, end) {\n return getAngle(end[1], end[0], PROPS_CLIENT_XY) + getAngle(start[1], start[0], PROPS_CLIENT_XY);\n}\n\n/**\n * calculate the scale factor between two pointersets\n * no scale is 1, and goes down to 0 when pinched together, and bigger when pinched out\n * @param {Array} start array of pointers\n * @param {Array} end array of pointers\n * @return {Number} scale\n */\nfunction getScale(start, end) {\n return getDistance(end[0], end[1], PROPS_CLIENT_XY) / getDistance(start[0], start[1], PROPS_CLIENT_XY);\n}\n\nvar MOUSE_INPUT_MAP = {\n mousedown: INPUT_START,\n mousemove: INPUT_MOVE,\n mouseup: INPUT_END\n};\n\nvar MOUSE_ELEMENT_EVENTS = 'mousedown';\nvar MOUSE_WINDOW_EVENTS = 'mousemove mouseup';\n\n/**\n * Mouse events input\n * @constructor\n * @extends Input\n */\nfunction MouseInput() {\n this.evEl = MOUSE_ELEMENT_EVENTS;\n this.evWin = MOUSE_WINDOW_EVENTS;\n\n this.pressed = false; // mousedown state\n\n Input.apply(this, arguments);\n}\n\ninherit(MouseInput, Input, {\n /**\n * handle mouse events\n * @param {Object} ev\n */\n handler: function MEhandler(ev) {\n var eventType = MOUSE_INPUT_MAP[ev.type];\n\n // on start we want to have the left mouse button down\n if (eventType & INPUT_START && ev.button === 0) {\n this.pressed = true;\n }\n\n if (eventType & INPUT_MOVE && ev.which !== 1) {\n eventType = INPUT_END;\n }\n\n // mouse must be down\n if (!this.pressed) {\n return;\n }\n\n if (eventType & INPUT_END) {\n this.pressed = false;\n }\n\n this.callback(this.manager, eventType, {\n pointers: [ev],\n changedPointers: [ev],\n pointerType: INPUT_TYPE_MOUSE,\n srcEvent: ev\n });\n }\n});\n\nvar POINTER_INPUT_MAP = {\n pointerdown: INPUT_START,\n pointermove: INPUT_MOVE,\n pointerup: INPUT_END,\n pointercancel: INPUT_CANCEL,\n pointerout: INPUT_CANCEL\n};\n\n// in IE10 the pointer types is defined as an enum\nvar IE10_POINTER_TYPE_ENUM = {\n 2: INPUT_TYPE_TOUCH,\n 3: INPUT_TYPE_PEN,\n 4: INPUT_TYPE_MOUSE,\n 5: INPUT_TYPE_KINECT // see https://twitter.com/jacobrossi/status/480596438489890816\n};\n\nvar POINTER_ELEMENT_EVENTS = 'pointerdown';\nvar POINTER_WINDOW_EVENTS = 'pointermove pointerup pointercancel';\n\n// IE10 has prefixed support, and case-sensitive\nif (window.MSPointerEvent && !window.PointerEvent) {\n POINTER_ELEMENT_EVENTS = 'MSPointerDown';\n POINTER_WINDOW_EVENTS = 'MSPointerMove MSPointerUp MSPointerCancel';\n}\n\n/**\n * Pointer events input\n * @constructor\n * @extends Input\n */\nfunction PointerEventInput() {\n this.evEl = POINTER_ELEMENT_EVENTS;\n this.evWin = POINTER_WINDOW_EVENTS;\n\n Input.apply(this, arguments);\n\n this.store = (this.manager.session.pointerEvents = []);\n}\n\ninherit(PointerEventInput, Input, {\n /**\n * handle mouse events\n * @param {Object} ev\n */\n handler: function PEhandler(ev) {\n var store = this.store;\n var removePointer = false;\n\n var eventTypeNormalized = ev.type.toLowerCase().replace('ms', '');\n var eventType = POINTER_INPUT_MAP[eventTypeNormalized];\n var pointerType = IE10_POINTER_TYPE_ENUM[ev.pointerType] || ev.pointerType;\n\n var isTouch = (pointerType == INPUT_TYPE_TOUCH);\n\n // get index of the event in the store\n var storeIndex = inArray(store, ev.pointerId, 'pointerId');\n\n // start and mouse must be down\n if (eventType & INPUT_START && (ev.button === 0 || isTouch)) {\n if (storeIndex < 0) {\n store.push(ev);\n storeIndex = store.length - 1;\n }\n } else if (eventType & (INPUT_END | INPUT_CANCEL)) {\n removePointer = true;\n }\n\n // it not found, so the pointer hasn't been down (so it's probably a hover)\n if (storeIndex < 0) {\n return;\n }\n\n // update the event in the store\n store[storeIndex] = ev;\n\n this.callback(this.manager, eventType, {\n pointers: store,\n changedPointers: [ev],\n pointerType: pointerType,\n srcEvent: ev\n });\n\n if (removePointer) {\n // remove from the store\n store.splice(storeIndex, 1);\n }\n }\n});\n\nvar SINGLE_TOUCH_INPUT_MAP = {\n touchstart: INPUT_START,\n touchmove: INPUT_MOVE,\n touchend: INPUT_END,\n touchcancel: INPUT_CANCEL\n};\n\nvar SINGLE_TOUCH_TARGET_EVENTS = 'touchstart';\nvar SINGLE_TOUCH_WINDOW_EVENTS = 'touchstart touchmove touchend touchcancel';\n\n/**\n * Touch events input\n * @constructor\n * @extends Input\n */\nfunction SingleTouchInput() {\n this.evTarget = SINGLE_TOUCH_TARGET_EVENTS;\n this.evWin = SINGLE_TOUCH_WINDOW_EVENTS;\n this.started = false;\n\n Input.apply(this, arguments);\n}\n\ninherit(SingleTouchInput, Input, {\n handler: function TEhandler(ev) {\n var type = SINGLE_TOUCH_INPUT_MAP[ev.type];\n\n // should we handle the touch events?\n if (type === INPUT_START) {\n this.started = true;\n }\n\n if (!this.started) {\n return;\n }\n\n var touches = normalizeSingleTouches.call(this, ev, type);\n\n // when done, reset the started state\n if (type & (INPUT_END | INPUT_CANCEL) && touches[0].length - touches[1].length === 0) {\n this.started = false;\n }\n\n this.callback(this.manager, type, {\n pointers: touches[0],\n changedPointers: touches[1],\n pointerType: INPUT_TYPE_TOUCH,\n srcEvent: ev\n });\n }\n});\n\n/**\n * @this {TouchInput}\n * @param {Object} ev\n * @param {Number} type flag\n * @returns {undefined|Array} [all, changed]\n */\nfunction normalizeSingleTouches(ev, type) {\n var all = toArray(ev.touches);\n var changed = toArray(ev.changedTouches);\n\n if (type & (INPUT_END | INPUT_CANCEL)) {\n all = uniqueArray(all.concat(changed), 'identifier', true);\n }\n\n return [all, changed];\n}\n\nvar TOUCH_INPUT_MAP = {\n touchstart: INPUT_START,\n touchmove: INPUT_MOVE,\n touchend: INPUT_END,\n touchcancel: INPUT_CANCEL\n};\n\nvar TOUCH_TARGET_EVENTS = 'touchstart touchmove touchend touchcancel';\n\n/**\n * Multi-user touch events input\n * @constructor\n * @extends Input\n */\nfunction TouchInput() {\n this.evTarget = TOUCH_TARGET_EVENTS;\n this.targetIds = {};\n\n Input.apply(this, arguments);\n}\n\ninherit(TouchInput, Input, {\n handler: function MTEhandler(ev) {\n var type = TOUCH_INPUT_MAP[ev.type];\n var touches = getTouches.call(this, ev, type);\n if (!touches) {\n return;\n }\n\n this.callback(this.manager, type, {\n pointers: touches[0],\n changedPointers: touches[1],\n pointerType: INPUT_TYPE_TOUCH,\n srcEvent: ev\n });\n }\n});\n\n/**\n * @this {TouchInput}\n * @param {Object} ev\n * @param {Number} type flag\n * @returns {undefined|Array} [all, changed]\n */\nfunction getTouches(ev, type) {\n var allTouches = toArray(ev.touches);\n var targetIds = this.targetIds;\n\n // when there is only one touch, the process can be simplified\n if (type & (INPUT_START | INPUT_MOVE) && allTouches.length === 1) {\n targetIds[allTouches[0].identifier] = true;\n return [allTouches, allTouches];\n }\n\n var i,\n targetTouches,\n changedTouches = toArray(ev.changedTouches),\n changedTargetTouches = [],\n target = this.target;\n\n // get target touches from touches\n targetTouches = allTouches.filter(function(touch) {\n return hasParent(touch.target, target);\n });\n\n // collect touches\n if (type === INPUT_START) {\n i = 0;\n while (i < targetTouches.length) {\n targetIds[targetTouches[i].identifier] = true;\n i++;\n }\n }\n\n // filter changed touches to only contain touches that exist in the collected target ids\n i = 0;\n while (i < changedTouches.length) {\n if (targetIds[changedTouches[i].identifier]) {\n changedTargetTouches.push(changedTouches[i]);\n }\n\n // cleanup removed touches\n if (type & (INPUT_END | INPUT_CANCEL)) {\n delete targetIds[changedTouches[i].identifier];\n }\n i++;\n }\n\n if (!changedTargetTouches.length) {\n return;\n }\n\n return [\n // merge targetTouches with changedTargetTouches so it contains ALL touches, including 'end' and 'cancel'\n uniqueArray(targetTouches.concat(changedTargetTouches), 'identifier', true),\n changedTargetTouches\n ];\n}\n\n/**\n * Combined touch and mouse input\n *\n * Touch has a higher priority then mouse, and while touching no mouse events are allowed.\n * This because touch devices also emit mouse events while doing a touch.\n *\n * @constructor\n * @extends Input\n */\n\nvar DEDUP_TIMEOUT = 2500;\nvar DEDUP_DISTANCE = 25;\n\nfunction TouchMouseInput() {\n Input.apply(this, arguments);\n\n var handler = bindFn(this.handler, this);\n this.touch = new TouchInput(this.manager, handler);\n this.mouse = new MouseInput(this.manager, handler);\n\n this.primaryTouch = null;\n this.lastTouches = [];\n}\n\ninherit(TouchMouseInput, Input, {\n /**\n * handle mouse and touch events\n * @param {Hammer} manager\n * @param {String} inputEvent\n * @param {Object} inputData\n */\n handler: function TMEhandler(manager, inputEvent, inputData) {\n var isTouch = (inputData.pointerType == INPUT_TYPE_TOUCH),\n isMouse = (inputData.pointerType == INPUT_TYPE_MOUSE);\n\n if (isMouse && inputData.sourceCapabilities && inputData.sourceCapabilities.firesTouchEvents) {\n return;\n }\n\n // when we're in a touch event, record touches to de-dupe synthetic mouse event\n if (isTouch) {\n recordTouches.call(this, inputEvent, inputData);\n } else if (isMouse && isSyntheticEvent.call(this, inputData)) {\n return;\n }\n\n this.callback(manager, inputEvent, inputData);\n },\n\n /**\n * remove the event listeners\n */\n destroy: function destroy() {\n this.touch.destroy();\n this.mouse.destroy();\n }\n});\n\nfunction recordTouches(eventType, eventData) {\n if (eventType & INPUT_START) {\n this.primaryTouch = eventData.changedPointers[0].identifier;\n setLastTouch.call(this, eventData);\n } else if (eventType & (INPUT_END | INPUT_CANCEL)) {\n setLastTouch.call(this, eventData);\n }\n}\n\nfunction setLastTouch(eventData) {\n var touch = eventData.changedPointers[0];\n\n if (touch.identifier === this.primaryTouch) {\n var lastTouch = {x: touch.clientX, y: touch.clientY};\n this.lastTouches.push(lastTouch);\n var lts = this.lastTouches;\n var removeLastTouch = function() {\n var i = lts.indexOf(lastTouch);\n if (i > -1) {\n lts.splice(i, 1);\n }\n };\n setTimeout(removeLastTouch, DEDUP_TIMEOUT);\n }\n}\n\nfunction isSyntheticEvent(eventData) {\n var x = eventData.srcEvent.clientX, y = eventData.srcEvent.clientY;\n for (var i = 0; i < this.lastTouches.length; i++) {\n var t = this.lastTouches[i];\n var dx = Math.abs(x - t.x), dy = Math.abs(y - t.y);\n if (dx <= DEDUP_DISTANCE && dy <= DEDUP_DISTANCE) {\n return true;\n }\n }\n return false;\n}\n\nvar PREFIXED_TOUCH_ACTION = prefixed(TEST_ELEMENT.style, 'touchAction');\nvar NATIVE_TOUCH_ACTION = PREFIXED_TOUCH_ACTION !== undefined;\n\n// magical touchAction value\nvar TOUCH_ACTION_COMPUTE = 'compute';\nvar TOUCH_ACTION_AUTO = 'auto';\nvar TOUCH_ACTION_MANIPULATION = 'manipulation'; // not implemented\nvar TOUCH_ACTION_NONE = 'none';\nvar TOUCH_ACTION_PAN_X = 'pan-x';\nvar TOUCH_ACTION_PAN_Y = 'pan-y';\nvar TOUCH_ACTION_MAP = getTouchActionProps();\n\n/**\n * Touch Action\n * sets the touchAction property or uses the js alternative\n * @param {Manager} manager\n * @param {String} value\n * @constructor\n */\nfunction TouchAction(manager, value) {\n this.manager = manager;\n this.set(value);\n}\n\nTouchAction.prototype = {\n /**\n * set the touchAction value on the element or enable the polyfill\n * @param {String} value\n */\n set: function(value) {\n // find out the touch-action by the event handlers\n if (value == TOUCH_ACTION_COMPUTE) {\n value = this.compute();\n }\n\n if (NATIVE_TOUCH_ACTION && this.manager.element.style && TOUCH_ACTION_MAP[value]) {\n this.manager.element.style[PREFIXED_TOUCH_ACTION] = value;\n }\n this.actions = value.toLowerCase().trim();\n },\n\n /**\n * just re-set the touchAction value\n */\n update: function() {\n this.set(this.manager.options.touchAction);\n },\n\n /**\n * compute the value for the touchAction property based on the recognizer's settings\n * @returns {String} value\n */\n compute: function() {\n var actions = [];\n each(this.manager.recognizers, function(recognizer) {\n if (boolOrFn(recognizer.options.enable, [recognizer])) {\n actions = actions.concat(recognizer.getTouchAction());\n }\n });\n return cleanTouchActions(actions.join(' '));\n },\n\n /**\n * this method is called on each input cycle and provides the preventing of the browser behavior\n * @param {Object} input\n */\n preventDefaults: function(input) {\n var srcEvent = input.srcEvent;\n var direction = input.offsetDirection;\n\n // if the touch action did prevented once this session\n if (this.manager.session.prevented) {\n srcEvent.preventDefault();\n return;\n }\n\n var actions = this.actions;\n var hasNone = inStr(actions, TOUCH_ACTION_NONE) && !TOUCH_ACTION_MAP[TOUCH_ACTION_NONE];\n var hasPanY = inStr(actions, TOUCH_ACTION_PAN_Y) && !TOUCH_ACTION_MAP[TOUCH_ACTION_PAN_Y];\n var hasPanX = inStr(actions, TOUCH_ACTION_PAN_X) && !TOUCH_ACTION_MAP[TOUCH_ACTION_PAN_X];\n\n if (hasNone) {\n //do not prevent defaults if this is a tap gesture\n\n var isTapPointer = input.pointers.length === 1;\n var isTapMovement = input.distance < 2;\n var isTapTouchTime = input.deltaTime < 250;\n\n if (isTapPointer && isTapMovement && isTapTouchTime) {\n return;\n }\n }\n\n if (hasPanX && hasPanY) {\n // `pan-x pan-y` means browser handles all scrolling/panning, do not prevent\n return;\n }\n\n if (hasNone ||\n (hasPanY && direction & DIRECTION_HORIZONTAL) ||\n (hasPanX && direction & DIRECTION_VERTICAL)) {\n return this.preventSrc(srcEvent);\n }\n },\n\n /**\n * call preventDefault to prevent the browser's default behavior (scrolling in most cases)\n * @param {Object} srcEvent\n */\n preventSrc: function(srcEvent) {\n this.manager.session.prevented = true;\n srcEvent.preventDefault();\n }\n};\n\n/**\n * when the touchActions are collected they are not a valid value, so we need to clean things up. *\n * @param {String} actions\n * @returns {*}\n */\nfunction cleanTouchActions(actions) {\n // none\n if (inStr(actions, TOUCH_ACTION_NONE)) {\n return TOUCH_ACTION_NONE;\n }\n\n var hasPanX = inStr(actions, TOUCH_ACTION_PAN_X);\n var hasPanY = inStr(actions, TOUCH_ACTION_PAN_Y);\n\n // if both pan-x and pan-y are set (different recognizers\n // for different directions, e.g. horizontal pan but vertical swipe?)\n // we need none (as otherwise with pan-x pan-y combined none of these\n // recognizers will work, since the browser would handle all panning\n if (hasPanX && hasPanY) {\n return TOUCH_ACTION_NONE;\n }\n\n // pan-x OR pan-y\n if (hasPanX || hasPanY) {\n return hasPanX ? TOUCH_ACTION_PAN_X : TOUCH_ACTION_PAN_Y;\n }\n\n // manipulation\n if (inStr(actions, TOUCH_ACTION_MANIPULATION)) {\n return TOUCH_ACTION_MANIPULATION;\n }\n\n return TOUCH_ACTION_AUTO;\n}\n\nfunction getTouchActionProps() {\n if (!NATIVE_TOUCH_ACTION) {\n return false;\n }\n var touchMap = {};\n var cssSupports = window.CSS && window.CSS.supports;\n ['auto', 'manipulation', 'pan-y', 'pan-x', 'pan-x pan-y', 'none'].forEach(function(val) {\n\n // If css.supports is not supported but there is native touch-action assume it supports\n // all values. This is the case for IE 10 and 11.\n touchMap[val] = cssSupports ? window.CSS.supports('touch-action', val) : true;\n });\n return touchMap;\n}\n\n/**\n * Recognizer flow explained; *\n * All recognizers have the initial state of POSSIBLE when a input session starts.\n * The definition of a input session is from the first input until the last input, with all it's movement in it. *\n * Example session for mouse-input: mousedown -> mousemove -> mouseup\n *\n * On each recognizing cycle (see Manager.recognize) the .recognize() method is executed\n * which determines with state it should be.\n *\n * If the recognizer has the state FAILED, CANCELLED or RECOGNIZED (equals ENDED), it is reset to\n * POSSIBLE to give it another change on the next cycle.\n *\n * Possible\n * |\n * +-----+---------------+\n * | |\n * +-----+-----+ |\n * | | |\n * Failed Cancelled |\n * +-------+------+\n * | |\n * Recognized Began\n * |\n * Changed\n * |\n * Ended/Recognized\n */\nvar STATE_POSSIBLE = 1;\nvar STATE_BEGAN = 2;\nvar STATE_CHANGED = 4;\nvar STATE_ENDED = 8;\nvar STATE_RECOGNIZED = STATE_ENDED;\nvar STATE_CANCELLED = 16;\nvar STATE_FAILED = 32;\n\n/**\n * Recognizer\n * Every recognizer needs to extend from this class.\n * @constructor\n * @param {Object} options\n */\nfunction Recognizer(options) {\n this.options = assign({}, this.defaults, options || {});\n\n this.id = uniqueId();\n\n this.manager = null;\n\n // default is enable true\n this.options.enable = ifUndefined(this.options.enable, true);\n\n this.state = STATE_POSSIBLE;\n\n this.simultaneous = {};\n this.requireFail = [];\n}\n\nRecognizer.prototype = {\n /**\n * @virtual\n * @type {Object}\n */\n defaults: {},\n\n /**\n * set options\n * @param {Object} options\n * @return {Recognizer}\n */\n set: function(options) {\n assign(this.options, options);\n\n // also update the touchAction, in case something changed about the directions/enabled state\n this.manager && this.manager.touchAction.update();\n return this;\n },\n\n /**\n * recognize simultaneous with an other recognizer.\n * @param {Recognizer} otherRecognizer\n * @returns {Recognizer} this\n */\n recognizeWith: function(otherRecognizer) {\n if (invokeArrayArg(otherRecognizer, 'recognizeWith', this)) {\n return this;\n }\n\n var simultaneous = this.simultaneous;\n otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this);\n if (!simultaneous[otherRecognizer.id]) {\n simultaneous[otherRecognizer.id] = otherRecognizer;\n otherRecognizer.recognizeWith(this);\n }\n return this;\n },\n\n /**\n * drop the simultaneous link. it doesnt remove the link on the other recognizer.\n * @param {Recognizer} otherRecognizer\n * @returns {Recognizer} this\n */\n dropRecognizeWith: function(otherRecognizer) {\n if (invokeArrayArg(otherRecognizer, 'dropRecognizeWith', this)) {\n return this;\n }\n\n otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this);\n delete this.simultaneous[otherRecognizer.id];\n return this;\n },\n\n /**\n * recognizer can only run when an other is failing\n * @param {Recognizer} otherRecognizer\n * @returns {Recognizer} this\n */\n requireFailure: function(otherRecognizer) {\n if (invokeArrayArg(otherRecognizer, 'requireFailure', this)) {\n return this;\n }\n\n var requireFail = this.requireFail;\n otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this);\n if (inArray(requireFail, otherRecognizer) === -1) {\n requireFail.push(otherRecognizer);\n otherRecognizer.requireFailure(this);\n }\n return this;\n },\n\n /**\n * drop the requireFailure link. it does not remove the link on the other recognizer.\n * @param {Recognizer} otherRecognizer\n * @returns {Recognizer} this\n */\n dropRequireFailure: function(otherRecognizer) {\n if (invokeArrayArg(otherRecognizer, 'dropRequireFailure', this)) {\n return this;\n }\n\n otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this);\n var index = inArray(this.requireFail, otherRecognizer);\n if (index > -1) {\n this.requireFail.splice(index, 1);\n }\n return this;\n },\n\n /**\n * has require failures boolean\n * @returns {boolean}\n */\n hasRequireFailures: function() {\n return this.requireFail.length > 0;\n },\n\n /**\n * if the recognizer can recognize simultaneous with an other recognizer\n * @param {Recognizer} otherRecognizer\n * @returns {Boolean}\n */\n canRecognizeWith: function(otherRecognizer) {\n return !!this.simultaneous[otherRecognizer.id];\n },\n\n /**\n * You should use `tryEmit` instead of `emit` directly to check\n * that all the needed recognizers has failed before emitting.\n * @param {Object} input\n */\n emit: function(input) {\n var self = this;\n var state = this.state;\n\n function emit(event) {\n self.manager.emit(event, input);\n }\n\n // 'panstart' and 'panmove'\n if (state < STATE_ENDED) {\n emit(self.options.event + stateStr(state));\n }\n\n emit(self.options.event); // simple 'eventName' events\n\n if (input.additionalEvent) { // additional event(panleft, panright, pinchin, pinchout...)\n emit(input.additionalEvent);\n }\n\n // panend and pancancel\n if (state >= STATE_ENDED) {\n emit(self.options.event + stateStr(state));\n }\n },\n\n /**\n * Check that all the require failure recognizers has failed,\n * if true, it emits a gesture event,\n * otherwise, setup the state to FAILED.\n * @param {Object} input\n */\n tryEmit: function(input) {\n if (this.canEmit()) {\n return this.emit(input);\n }\n // it's failing anyway\n this.state = STATE_FAILED;\n },\n\n /**\n * can we emit?\n * @returns {boolean}\n */\n canEmit: function() {\n var i = 0;\n while (i < this.requireFail.length) {\n if (!(this.requireFail[i].state & (STATE_FAILED | STATE_POSSIBLE))) {\n return false;\n }\n i++;\n }\n return true;\n },\n\n /**\n * update the recognizer\n * @param {Object} inputData\n */\n recognize: function(inputData) {\n // make a new copy of the inputData\n // so we can change the inputData without messing up the other recognizers\n var inputDataClone = assign({}, inputData);\n\n // is is enabled and allow recognizing?\n if (!boolOrFn(this.options.enable, [this, inputDataClone])) {\n this.reset();\n this.state = STATE_FAILED;\n return;\n }\n\n // reset when we've reached the end\n if (this.state & (STATE_RECOGNIZED | STATE_CANCELLED | STATE_FAILED)) {\n this.state = STATE_POSSIBLE;\n }\n\n this.state = this.process(inputDataClone);\n\n // the recognizer has recognized a gesture\n // so trigger an event\n if (this.state & (STATE_BEGAN | STATE_CHANGED | STATE_ENDED | STATE_CANCELLED)) {\n this.tryEmit(inputDataClone);\n }\n },\n\n /**\n * return the state of the recognizer\n * the actual recognizing happens in this method\n * @virtual\n * @param {Object} inputData\n * @returns {Const} STATE\n */\n process: function(inputData) { }, // jshint ignore:line\n\n /**\n * return the preferred touch-action\n * @virtual\n * @returns {Array}\n */\n getTouchAction: function() { },\n\n /**\n * called when the gesture isn't allowed to recognize\n * like when another is being recognized or it is disabled\n * @virtual\n */\n reset: function() { }\n};\n\n/**\n * get a usable string, used as event postfix\n * @param {Const} state\n * @returns {String} state\n */\nfunction stateStr(state) {\n if (state & STATE_CANCELLED) {\n return 'cancel';\n } else if (state & STATE_ENDED) {\n return 'end';\n } else if (state & STATE_CHANGED) {\n return 'move';\n } else if (state & STATE_BEGAN) {\n return 'start';\n }\n return '';\n}\n\n/**\n * direction cons to string\n * @param {Const} direction\n * @returns {String}\n */\nfunction directionStr(direction) {\n if (direction == DIRECTION_DOWN) {\n return 'down';\n } else if (direction == DIRECTION_UP) {\n return 'up';\n } else if (direction == DIRECTION_LEFT) {\n return 'left';\n } else if (direction == DIRECTION_RIGHT) {\n return 'right';\n }\n return '';\n}\n\n/**\n * get a recognizer by name if it is bound to a manager\n * @param {Recognizer|String} otherRecognizer\n * @param {Recognizer} recognizer\n * @returns {Recognizer}\n */\nfunction getRecognizerByNameIfManager(otherRecognizer, recognizer) {\n var manager = recognizer.manager;\n if (manager) {\n return manager.get(otherRecognizer);\n }\n return otherRecognizer;\n}\n\n/**\n * This recognizer is just used as a base for the simple attribute recognizers.\n * @constructor\n * @extends Recognizer\n */\nfunction AttrRecognizer() {\n Recognizer.apply(this, arguments);\n}\n\ninherit(AttrRecognizer, Recognizer, {\n /**\n * @namespace\n * @memberof AttrRecognizer\n */\n defaults: {\n /**\n * @type {Number}\n * @default 1\n */\n pointers: 1\n },\n\n /**\n * Used to check if it the recognizer receives valid input, like input.distance > 10.\n * @memberof AttrRecognizer\n * @param {Object} input\n * @returns {Boolean} recognized\n */\n attrTest: function(input) {\n var optionPointers = this.options.pointers;\n return optionPointers === 0 || input.pointers.length === optionPointers;\n },\n\n /**\n * Process the input and return the state for the recognizer\n * @memberof AttrRecognizer\n * @param {Object} input\n * @returns {*} State\n */\n process: function(input) {\n var state = this.state;\n var eventType = input.eventType;\n\n var isRecognized = state & (STATE_BEGAN | STATE_CHANGED);\n var isValid = this.attrTest(input);\n\n // on cancel input and we've recognized before, return STATE_CANCELLED\n if (isRecognized && (eventType & INPUT_CANCEL || !isValid)) {\n return state | STATE_CANCELLED;\n } else if (isRecognized || isValid) {\n if (eventType & INPUT_END) {\n return state | STATE_ENDED;\n } else if (!(state & STATE_BEGAN)) {\n return STATE_BEGAN;\n }\n return state | STATE_CHANGED;\n }\n return STATE_FAILED;\n }\n});\n\n/**\n * Pan\n * Recognized when the pointer is down and moved in the allowed direction.\n * @constructor\n * @extends AttrRecognizer\n */\nfunction PanRecognizer() {\n AttrRecognizer.apply(this, arguments);\n\n this.pX = null;\n this.pY = null;\n}\n\ninherit(PanRecognizer, AttrRecognizer, {\n /**\n * @namespace\n * @memberof PanRecognizer\n */\n defaults: {\n event: 'pan',\n threshold: 10,\n pointers: 1,\n direction: DIRECTION_ALL\n },\n\n getTouchAction: function() {\n var direction = this.options.direction;\n var actions = [];\n if (direction & DIRECTION_HORIZONTAL) {\n actions.push(TOUCH_ACTION_PAN_Y);\n }\n if (direction & DIRECTION_VERTICAL) {\n actions.push(TOUCH_ACTION_PAN_X);\n }\n return actions;\n },\n\n directionTest: function(input) {\n var options = this.options;\n var hasMoved = true;\n var distance = input.distance;\n var direction = input.direction;\n var x = input.deltaX;\n var y = input.deltaY;\n\n // lock to axis?\n if (!(direction & options.direction)) {\n if (options.direction & DIRECTION_HORIZONTAL) {\n direction = (x === 0) ? DIRECTION_NONE : (x < 0) ? DIRECTION_LEFT : DIRECTION_RIGHT;\n hasMoved = x != this.pX;\n distance = Math.abs(input.deltaX);\n } else {\n direction = (y === 0) ? DIRECTION_NONE : (y < 0) ? DIRECTION_UP : DIRECTION_DOWN;\n hasMoved = y != this.pY;\n distance = Math.abs(input.deltaY);\n }\n }\n input.direction = direction;\n return hasMoved && distance > options.threshold && direction & options.direction;\n },\n\n attrTest: function(input) {\n return AttrRecognizer.prototype.attrTest.call(this, input) &&\n (this.state & STATE_BEGAN || (!(this.state & STATE_BEGAN) && this.directionTest(input)));\n },\n\n emit: function(input) {\n\n this.pX = input.deltaX;\n this.pY = input.deltaY;\n\n var direction = directionStr(input.direction);\n\n if (direction) {\n input.additionalEvent = this.options.event + direction;\n }\n this._super.emit.call(this, input);\n }\n});\n\n/**\n * Pinch\n * Recognized when two or more pointers are moving toward (zoom-in) or away from each other (zoom-out).\n * @constructor\n * @extends AttrRecognizer\n */\nfunction PinchRecognizer() {\n AttrRecognizer.apply(this, arguments);\n}\n\ninherit(PinchRecognizer, AttrRecognizer, {\n /**\n * @namespace\n * @memberof PinchRecognizer\n */\n defaults: {\n event: 'pinch',\n threshold: 0,\n pointers: 2\n },\n\n getTouchAction: function() {\n return [TOUCH_ACTION_NONE];\n },\n\n attrTest: function(input) {\n return this._super.attrTest.call(this, input) &&\n (Math.abs(input.scale - 1) > this.options.threshold || this.state & STATE_BEGAN);\n },\n\n emit: function(input) {\n if (input.scale !== 1) {\n var inOut = input.scale < 1 ? 'in' : 'out';\n input.additionalEvent = this.options.event + inOut;\n }\n this._super.emit.call(this, input);\n }\n});\n\n/**\n * Press\n * Recognized when the pointer is down for x ms without any movement.\n * @constructor\n * @extends Recognizer\n */\nfunction PressRecognizer() {\n Recognizer.apply(this, arguments);\n\n this._timer = null;\n this._input = null;\n}\n\ninherit(PressRecognizer, Recognizer, {\n /**\n * @namespace\n * @memberof PressRecognizer\n */\n defaults: {\n event: 'press',\n pointers: 1,\n time: 251, // minimal time of the pointer to be pressed\n threshold: 9 // a minimal movement is ok, but keep it low\n },\n\n getTouchAction: function() {\n return [TOUCH_ACTION_AUTO];\n },\n\n process: function(input) {\n var options = this.options;\n var validPointers = input.pointers.length === options.pointers;\n var validMovement = input.distance < options.threshold;\n var validTime = input.deltaTime > options.time;\n\n this._input = input;\n\n // we only allow little movement\n // and we've reached an end event, so a tap is possible\n if (!validMovement || !validPointers || (input.eventType & (INPUT_END | INPUT_CANCEL) && !validTime)) {\n this.reset();\n } else if (input.eventType & INPUT_START) {\n this.reset();\n this._timer = setTimeoutContext(function() {\n this.state = STATE_RECOGNIZED;\n this.tryEmit();\n }, options.time, this);\n } else if (input.eventType & INPUT_END) {\n return STATE_RECOGNIZED;\n }\n return STATE_FAILED;\n },\n\n reset: function() {\n clearTimeout(this._timer);\n },\n\n emit: function(input) {\n if (this.state !== STATE_RECOGNIZED) {\n return;\n }\n\n if (input && (input.eventType & INPUT_END)) {\n this.manager.emit(this.options.event + 'up', input);\n } else {\n this._input.timeStamp = now();\n this.manager.emit(this.options.event, this._input);\n }\n }\n});\n\n/**\n * Rotate\n * Recognized when two or more pointer are moving in a circular motion.\n * @constructor\n * @extends AttrRecognizer\n */\nfunction RotateRecognizer() {\n AttrRecognizer.apply(this, arguments);\n}\n\ninherit(RotateRecognizer, AttrRecognizer, {\n /**\n * @namespace\n * @memberof RotateRecognizer\n */\n defaults: {\n event: 'rotate',\n threshold: 0,\n pointers: 2\n },\n\n getTouchAction: function() {\n return [TOUCH_ACTION_NONE];\n },\n\n attrTest: function(input) {\n return this._super.attrTest.call(this, input) &&\n (Math.abs(input.rotation) > this.options.threshold || this.state & STATE_BEGAN);\n }\n});\n\n/**\n * Swipe\n * Recognized when the pointer is moving fast (velocity), with enough distance in the allowed direction.\n * @constructor\n * @extends AttrRecognizer\n */\nfunction SwipeRecognizer() {\n AttrRecognizer.apply(this, arguments);\n}\n\ninherit(SwipeRecognizer, AttrRecognizer, {\n /**\n * @namespace\n * @memberof SwipeRecognizer\n */\n defaults: {\n event: 'swipe',\n threshold: 10,\n velocity: 0.3,\n direction: DIRECTION_HORIZONTAL | DIRECTION_VERTICAL,\n pointers: 1\n },\n\n getTouchAction: function() {\n return PanRecognizer.prototype.getTouchAction.call(this);\n },\n\n attrTest: function(input) {\n var direction = this.options.direction;\n var velocity;\n\n if (direction & (DIRECTION_HORIZONTAL | DIRECTION_VERTICAL)) {\n velocity = input.overallVelocity;\n } else if (direction & DIRECTION_HORIZONTAL) {\n velocity = input.overallVelocityX;\n } else if (direction & DIRECTION_VERTICAL) {\n velocity = input.overallVelocityY;\n }\n\n return this._super.attrTest.call(this, input) &&\n direction & input.offsetDirection &&\n input.distance > this.options.threshold &&\n input.maxPointers == this.options.pointers &&\n abs(velocity) > this.options.velocity && input.eventType & INPUT_END;\n },\n\n emit: function(input) {\n var direction = directionStr(input.offsetDirection);\n if (direction) {\n this.manager.emit(this.options.event + direction, input);\n }\n\n this.manager.emit(this.options.event, input);\n }\n});\n\n/**\n * A tap is ecognized when the pointer is doing a small tap/click. Multiple taps are recognized if they occur\n * between the given interval and position. The delay option can be used to recognize multi-taps without firing\n * a single tap.\n *\n * The eventData from the emitted event contains the property `tapCount`, which contains the amount of\n * multi-taps being recognized.\n * @constructor\n * @extends Recognizer\n */\nfunction TapRecognizer() {\n Recognizer.apply(this, arguments);\n\n // previous time and center,\n // used for tap counting\n this.pTime = false;\n this.pCenter = false;\n\n this._timer = null;\n this._input = null;\n this.count = 0;\n}\n\ninherit(TapRecognizer, Recognizer, {\n /**\n * @namespace\n * @memberof PinchRecognizer\n */\n defaults: {\n event: 'tap',\n pointers: 1,\n taps: 1,\n interval: 300, // max time between the multi-tap taps\n time: 250, // max time of the pointer to be down (like finger on the screen)\n threshold: 9, // a minimal movement is ok, but keep it low\n posThreshold: 10 // a multi-tap can be a bit off the initial position\n },\n\n getTouchAction: function() {\n return [TOUCH_ACTION_MANIPULATION];\n },\n\n process: function(input) {\n var options = this.options;\n\n var validPointers = input.pointers.length === options.pointers;\n var validMovement = input.distance < options.threshold;\n var validTouchTime = input.deltaTime < options.time;\n\n this.reset();\n\n if ((input.eventType & INPUT_START) && (this.count === 0)) {\n return this.failTimeout();\n }\n\n // we only allow little movement\n // and we've reached an end event, so a tap is possible\n if (validMovement && validTouchTime && validPointers) {\n if (input.eventType != INPUT_END) {\n return this.failTimeout();\n }\n\n var validInterval = this.pTime ? (input.timeStamp - this.pTime < options.interval) : true;\n var validMultiTap = !this.pCenter || getDistance(this.pCenter, input.center) < options.posThreshold;\n\n this.pTime = input.timeStamp;\n this.pCenter = input.center;\n\n if (!validMultiTap || !validInterval) {\n this.count = 1;\n } else {\n this.count += 1;\n }\n\n this._input = input;\n\n // if tap count matches we have recognized it,\n // else it has began recognizing...\n var tapCount = this.count % options.taps;\n if (tapCount === 0) {\n // no failing requirements, immediately trigger the tap event\n // or wait as long as the multitap interval to trigger\n if (!this.hasRequireFailures()) {\n return STATE_RECOGNIZED;\n } else {\n this._timer = setTimeoutContext(function() {\n this.state = STATE_RECOGNIZED;\n this.tryEmit();\n }, options.interval, this);\n return STATE_BEGAN;\n }\n }\n }\n return STATE_FAILED;\n },\n\n failTimeout: function() {\n this._timer = setTimeoutContext(function() {\n this.state = STATE_FAILED;\n }, this.options.interval, this);\n return STATE_FAILED;\n },\n\n reset: function() {\n clearTimeout(this._timer);\n },\n\n emit: function() {\n if (this.state == STATE_RECOGNIZED) {\n this._input.tapCount = this.count;\n this.manager.emit(this.options.event, this._input);\n }\n }\n});\n\n/**\n * Simple way to create a manager with a default set of recognizers.\n * @param {HTMLElement} element\n * @param {Object} [options]\n * @constructor\n */\nfunction Hammer(element, options) {\n options = options || {};\n options.recognizers = ifUndefined(options.recognizers, Hammer.defaults.preset);\n return new Manager(element, options);\n}\n\n/**\n * @const {string}\n */\nHammer.VERSION = '2.0.7';\n\n/**\n * default settings\n * @namespace\n */\nHammer.defaults = {\n /**\n * set if DOM events are being triggered.\n * But this is slower and unused by simple implementations, so disabled by default.\n * @type {Boolean}\n * @default false\n */\n domEvents: false,\n\n /**\n * The value for the touchAction property/fallback.\n * When set to `compute` it will magically set the correct value based on the added recognizers.\n * @type {String}\n * @default compute\n */\n touchAction: TOUCH_ACTION_COMPUTE,\n\n /**\n * @type {Boolean}\n * @default true\n */\n enable: true,\n\n /**\n * EXPERIMENTAL FEATURE -- can be removed/changed\n * Change the parent input target element.\n * If Null, then it is being set the to main element.\n * @type {Null|EventTarget}\n * @default null\n */\n inputTarget: null,\n\n /**\n * force an input class\n * @type {Null|Function}\n * @default null\n */\n inputClass: null,\n\n /**\n * Default recognizer setup when calling `Hammer()`\n * When creating a new Manager these will be skipped.\n * @type {Array}\n */\n preset: [\n // RecognizerClass, options, [recognizeWith, ...], [requireFailure, ...]\n [RotateRecognizer, {enable: false}],\n [PinchRecognizer, {enable: false}, ['rotate']],\n [SwipeRecognizer, {direction: DIRECTION_HORIZONTAL}],\n [PanRecognizer, {direction: DIRECTION_HORIZONTAL}, ['swipe']],\n [TapRecognizer],\n [TapRecognizer, {event: 'doubletap', taps: 2}, ['tap']],\n [PressRecognizer]\n ],\n\n /**\n * Some CSS properties can be used to improve the working of Hammer.\n * Add them to this method and they will be set when creating a new Manager.\n * @namespace\n */\n cssProps: {\n /**\n * Disables text selection to improve the dragging gesture. Mainly for desktop browsers.\n * @type {String}\n * @default 'none'\n */\n userSelect: 'none',\n\n /**\n * Disable the Windows Phone grippers when pressing an element.\n * @type {String}\n * @default 'none'\n */\n touchSelect: 'none',\n\n /**\n * Disables the default callout shown when you touch and hold a touch target.\n * On iOS, when you touch and hold a touch target such as a link, Safari displays\n * a callout containing information about the link. This property allows you to disable that callout.\n * @type {String}\n * @default 'none'\n */\n touchCallout: 'none',\n\n /**\n * Specifies whether zooming is enabled. Used by IE10>\n * @type {String}\n * @default 'none'\n */\n contentZooming: 'none',\n\n /**\n * Specifies that an entire element should be draggable instead of its contents. Mainly for desktop browsers.\n * @type {String}\n * @default 'none'\n */\n userDrag: 'none',\n\n /**\n * Overrides the highlight color shown when the user taps a link or a JavaScript\n * clickable element in iOS. This property obeys the alpha value, if specified.\n * @type {String}\n * @default 'rgba(0,0,0,0)'\n */\n tapHighlightColor: 'rgba(0,0,0,0)'\n }\n};\n\nvar STOP = 1;\nvar FORCED_STOP = 2;\n\n/**\n * Manager\n * @param {HTMLElement} element\n * @param {Object} [options]\n * @constructor\n */\nfunction Manager(element, options) {\n this.options = assign({}, Hammer.defaults, options || {});\n\n this.options.inputTarget = this.options.inputTarget || element;\n\n this.handlers = {};\n this.session = {};\n this.recognizers = [];\n this.oldCssProps = {};\n\n this.element = element;\n this.input = createInputInstance(this);\n this.touchAction = new TouchAction(this, this.options.touchAction);\n\n toggleCssProps(this, true);\n\n each(this.options.recognizers, function(item) {\n var recognizer = this.add(new (item[0])(item[1]));\n item[2] && recognizer.recognizeWith(item[2]);\n item[3] && recognizer.requireFailure(item[3]);\n }, this);\n}\n\nManager.prototype = {\n /**\n * set options\n * @param {Object} options\n * @returns {Manager}\n */\n set: function(options) {\n assign(this.options, options);\n\n // Options that need a little more setup\n if (options.touchAction) {\n this.touchAction.update();\n }\n if (options.inputTarget) {\n // Clean up existing event listeners and reinitialize\n this.input.destroy();\n this.input.target = options.inputTarget;\n this.input.init();\n }\n return this;\n },\n\n /**\n * stop recognizing for this session.\n * This session will be discarded, when a new [input]start event is fired.\n * When forced, the recognizer cycle is stopped immediately.\n * @param {Boolean} [force]\n */\n stop: function(force) {\n this.session.stopped = force ? FORCED_STOP : STOP;\n },\n\n /**\n * run the recognizers!\n * called by the inputHandler function on every movement of the pointers (touches)\n * it walks through all the recognizers and tries to detect the gesture that is being made\n * @param {Object} inputData\n */\n recognize: function(inputData) {\n var session = this.session;\n if (session.stopped) {\n return;\n }\n\n // run the touch-action polyfill\n this.touchAction.preventDefaults(inputData);\n\n var recognizer;\n var recognizers = this.recognizers;\n\n // this holds the recognizer that is being recognized.\n // so the recognizer's state needs to be BEGAN, CHANGED, ENDED or RECOGNIZED\n // if no recognizer is detecting a thing, it is set to `null`\n var curRecognizer = session.curRecognizer;\n\n // reset when the last recognizer is recognized\n // or when we're in a new session\n if (!curRecognizer || (curRecognizer && curRecognizer.state & STATE_RECOGNIZED)) {\n curRecognizer = session.curRecognizer = null;\n }\n\n var i = 0;\n while (i < recognizers.length) {\n recognizer = recognizers[i];\n\n // find out if we are allowed try to recognize the input for this one.\n // 1. allow if the session is NOT forced stopped (see the .stop() method)\n // 2. allow if we still haven't recognized a gesture in this session, or the this recognizer is the one\n // that is being recognized.\n // 3. allow if the recognizer is allowed to run simultaneous with the current recognized recognizer.\n // this can be setup with the `recognizeWith()` method on the recognizer.\n if (session.stopped !== FORCED_STOP && ( // 1\n !curRecognizer || recognizer == curRecognizer || // 2\n recognizer.canRecognizeWith(curRecognizer))) { // 3\n recognizer.recognize(inputData);\n } else {\n recognizer.reset();\n }\n\n // if the recognizer has been recognizing the input as a valid gesture, we want to store this one as the\n // current active recognizer. but only if we don't already have an active recognizer\n if (!curRecognizer && recognizer.state & (STATE_BEGAN | STATE_CHANGED | STATE_ENDED)) {\n curRecognizer = session.curRecognizer = recognizer;\n }\n i++;\n }\n },\n\n /**\n * get a recognizer by its event name.\n * @param {Recognizer|String} recognizer\n * @returns {Recognizer|Null}\n */\n get: function(recognizer) {\n if (recognizer instanceof Recognizer) {\n return recognizer;\n }\n\n var recognizers = this.recognizers;\n for (var i = 0; i < recognizers.length; i++) {\n if (recognizers[i].options.event == recognizer) {\n return recognizers[i];\n }\n }\n return null;\n },\n\n /**\n * add a recognizer to the manager\n * existing recognizers with the same event name will be removed\n * @param {Recognizer} recognizer\n * @returns {Recognizer|Manager}\n */\n add: function(recognizer) {\n if (invokeArrayArg(recognizer, 'add', this)) {\n return this;\n }\n\n // remove existing\n var existing = this.get(recognizer.options.event);\n if (existing) {\n this.remove(existing);\n }\n\n this.recognizers.push(recognizer);\n recognizer.manager = this;\n\n this.touchAction.update();\n return recognizer;\n },\n\n /**\n * remove a recognizer by name or instance\n * @param {Recognizer|String} recognizer\n * @returns {Manager}\n */\n remove: function(recognizer) {\n if (invokeArrayArg(recognizer, 'remove', this)) {\n return this;\n }\n\n recognizer = this.get(recognizer);\n\n // let's make sure this recognizer exists\n if (recognizer) {\n var recognizers = this.recognizers;\n var index = inArray(recognizers, recognizer);\n\n if (index !== -1) {\n recognizers.splice(index, 1);\n this.touchAction.update();\n }\n }\n\n return this;\n },\n\n /**\n * bind event\n * @param {String} events\n * @param {Function} handler\n * @returns {EventEmitter} this\n */\n on: function(events, handler) {\n if (events === undefined) {\n return;\n }\n if (handler === undefined) {\n return;\n }\n\n var handlers = this.handlers;\n each(splitStr(events), function(event) {\n handlers[event] = handlers[event] || [];\n handlers[event].push(handler);\n });\n return this;\n },\n\n /**\n * unbind event, leave emit blank to remove all handlers\n * @param {String} events\n * @param {Function} [handler]\n * @returns {EventEmitter} this\n */\n off: function(events, handler) {\n if (events === undefined) {\n return;\n }\n\n var handlers = this.handlers;\n each(splitStr(events), function(event) {\n if (!handler) {\n delete handlers[event];\n } else {\n handlers[event] && handlers[event].splice(inArray(handlers[event], handler), 1);\n }\n });\n return this;\n },\n\n /**\n * emit event to the listeners\n * @param {String} event\n * @param {Object} data\n */\n emit: function(event, data) {\n // we also want to trigger dom events\n if (this.options.domEvents) {\n triggerDomEvent(event, data);\n }\n\n // no handlers, so skip it all\n var handlers = this.handlers[event] && this.handlers[event].slice();\n if (!handlers || !handlers.length) {\n return;\n }\n\n data.type = event;\n data.preventDefault = function() {\n data.srcEvent.preventDefault();\n };\n\n var i = 0;\n while (i < handlers.length) {\n handlers[i](data);\n i++;\n }\n },\n\n /**\n * destroy the manager and unbinds all events\n * it doesn't unbind dom events, that is the user own responsibility\n */\n destroy: function() {\n this.element && toggleCssProps(this, false);\n\n this.handlers = {};\n this.session = {};\n this.input.destroy();\n this.element = null;\n }\n};\n\n/**\n * add/remove the css properties as defined in manager.options.cssProps\n * @param {Manager} manager\n * @param {Boolean} add\n */\nfunction toggleCssProps(manager, add) {\n var element = manager.element;\n if (!element.style) {\n return;\n }\n var prop;\n each(manager.options.cssProps, function(value, name) {\n prop = prefixed(element.style, name);\n if (add) {\n manager.oldCssProps[prop] = element.style[prop];\n element.style[prop] = value;\n } else {\n element.style[prop] = manager.oldCssProps[prop] || '';\n }\n });\n if (!add) {\n manager.oldCssProps = {};\n }\n}\n\n/**\n * trigger dom event\n * @param {String} event\n * @param {Object} data\n */\nfunction triggerDomEvent(event, data) {\n var gestureEvent = document.createEvent('Event');\n gestureEvent.initEvent(event, true, true);\n gestureEvent.gesture = data;\n data.target.dispatchEvent(gestureEvent);\n}\n\nassign(Hammer, {\n INPUT_START: INPUT_START,\n INPUT_MOVE: INPUT_MOVE,\n INPUT_END: INPUT_END,\n INPUT_CANCEL: INPUT_CANCEL,\n\n STATE_POSSIBLE: STATE_POSSIBLE,\n STATE_BEGAN: STATE_BEGAN,\n STATE_CHANGED: STATE_CHANGED,\n STATE_ENDED: STATE_ENDED,\n STATE_RECOGNIZED: STATE_RECOGNIZED,\n STATE_CANCELLED: STATE_CANCELLED,\n STATE_FAILED: STATE_FAILED,\n\n DIRECTION_NONE: DIRECTION_NONE,\n DIRECTION_LEFT: DIRECTION_LEFT,\n DIRECTION_RIGHT: DIRECTION_RIGHT,\n DIRECTION_UP: DIRECTION_UP,\n DIRECTION_DOWN: DIRECTION_DOWN,\n DIRECTION_HORIZONTAL: DIRECTION_HORIZONTAL,\n DIRECTION_VERTICAL: DIRECTION_VERTICAL,\n DIRECTION_ALL: DIRECTION_ALL,\n\n Manager: Manager,\n Input: Input,\n TouchAction: TouchAction,\n\n TouchInput: TouchInput,\n MouseInput: MouseInput,\n PointerEventInput: PointerEventInput,\n TouchMouseInput: TouchMouseInput,\n SingleTouchInput: SingleTouchInput,\n\n Recognizer: Recognizer,\n AttrRecognizer: AttrRecognizer,\n Tap: TapRecognizer,\n Pan: PanRecognizer,\n Swipe: SwipeRecognizer,\n Pinch: PinchRecognizer,\n Rotate: RotateRecognizer,\n Press: PressRecognizer,\n\n on: addEventListeners,\n off: removeEventListeners,\n each: each,\n merge: merge,\n extend: extend,\n assign: assign,\n inherit: inherit,\n bindFn: bindFn,\n prefixed: prefixed\n});\n\n// this prevents errors when Hammer is loaded in the presence of an AMD\n// style loader but by script tag, not by the loader.\nvar freeGlobal = (typeof window !== 'undefined' ? window : (typeof self !== 'undefined' ? self : {})); // jshint ignore:line\nfreeGlobal.Hammer = Hammer;\n\nif (true) {\n !(__WEBPACK_AMD_DEFINE_RESULT__ = (function() {\n return Hammer;\n }).call(exports, __webpack_require__, exports, module),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n} else if (typeof module != 'undefined' && module.exports) {\n module.exports = Hammer;\n} else {\n window[exportName] = Hammer;\n}\n\n})(window, document, 'Hammer');\n\n\n/***/ }),\n/* 87 */,\n/* 88 */,\n/* 89 */,\n/* 90 */,\n/* 91 */,\n/* 92 */,\n/* 93 */,\n/* 94 */,\n/* 95 */,\n/* 96 */,\n/* 97 */,\n/* 98 */,\n/* 99 */,\n/* 100 */,\n/* 101 */,\n/* 102 */,\n/* 103 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(3);\nvar defined = __webpack_require__(51);\nvar fails = __webpack_require__(12);\nvar spaces = __webpack_require__(136);\nvar space = '[' + spaces + ']';\nvar non = '\\u200b\\u0085';\nvar ltrim = RegExp('^' + space + space + '*');\nvar rtrim = RegExp(space + space + '*$');\n\nvar exporter = function (KEY, exec, ALIAS) {\n var exp = {};\n var FORCE = fails(function () {\n return !!spaces[KEY]() || non[KEY]() != non;\n });\n var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY];\n if (ALIAS) exp[ALIAS] = fn;\n $export($export.P + $export.F * FORCE, 'String', exp);\n};\n\n// 1 -> String#trimLeft\n// 2 -> String#trimRight\n// 3 -> String#trim\nvar trim = exporter.trim = function (string, TYPE) {\n string = String(defined(string));\n if (TYPE & 1) string = string.replace(ltrim, '');\n if (TYPE & 2) string = string.replace(rtrim, '');\n return string;\n};\n\nmodule.exports = exporter;\n\n\n/***/ }),\n/* 104 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 21.2.5.3 get RegExp.prototype.flags\nvar anObject = __webpack_require__(11);\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n\n\n/***/ }),\n/* 105 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar ctx = __webpack_require__(66);\nvar call = __webpack_require__(255);\nvar isArrayIter = __webpack_require__(256);\nvar anObject = __webpack_require__(11);\nvar toLength = __webpack_require__(26);\nvar getIterFn = __webpack_require__(257);\nvar BREAK = {};\nvar RETURN = {};\nvar exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);\n var f = ctx(fn, that, entries ? 2 : 1);\n var index = 0;\n var length, step, iterator, result;\n if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n // fast case for arrays with default iterator\n if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n if (result === BREAK || result === RETURN) return result;\n } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n result = call(iterator, f, step.value, entries);\n if (result === BREAK || result === RETURN) return result;\n }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n\n\n/***/ }),\n/* 106 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar def = __webpack_require__(21).f;\nvar has = __webpack_require__(44);\nvar TAG = __webpack_require__(17)('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n\n\n/***/ }),\n/* 107 */\n/***/ (function(module, exports) {\n\nexports.f = Object.getOwnPropertySymbols;\n\n\n/***/ }),\n/* 108 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// Forced replacement prototype accessors methods\nmodule.exports = __webpack_require__(77) || !__webpack_require__(12)(function () {\n var K = Math.random();\n // In FF throws only define methods\n // eslint-disable-next-line no-undef, no-useless-call\n __defineSetter__.call(null, K, function () { /* empty */ });\n delete __webpack_require__(18)[K];\n});\n\n\n/***/ }),\n/* 109 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $at = __webpack_require__(147)(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\n__webpack_require__(140)(String, 'String', function (iterated) {\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var index = this._i;\n var point;\n if (index >= O.length) return { value: undefined, done: true };\n point = $at(O, index);\n this._i += point.length;\n return { value: point, done: false };\n});\n\n\n/***/ }),\n/* 110 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar classof = __webpack_require__(139);\nvar builtinExec = RegExp.prototype.exec;\n\n // `RegExpExec` abstract operation\n// https://tc39.github.io/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (typeof exec === 'function') {\n var result = exec.call(R, S);\n if (typeof result !== 'object') {\n throw new TypeError('RegExp exec method returned something other than an Object or null');\n }\n return result;\n }\n if (classof(R) !== 'RegExp') {\n throw new TypeError('RegExp#exec called on incompatible receiver');\n }\n return builtinExec.call(R, S);\n};\n\n\n/***/ }),\n/* 111 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n__webpack_require__(272);\nvar redefine = __webpack_require__(31);\nvar hide = __webpack_require__(43);\nvar fails = __webpack_require__(12);\nvar defined = __webpack_require__(51);\nvar wks = __webpack_require__(17);\nvar regexpExec = __webpack_require__(152);\n\nvar SPECIES = wks('species');\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n // #replace needs built-in support for named groups.\n // #match works fine because it just return the exec results, even if it has\n // a \"grops\" property.\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n return ''.replace(re, '$') !== '7';\n});\n\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = (function () {\n // Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n var re = /(?:)/;\n var originalExec = re.exec;\n re.exec = function () { return originalExec.apply(this, arguments); };\n var result = 'ab'.split(re);\n return result.length === 2 && result[0] === 'a' && result[1] === 'b';\n})();\n\nmodule.exports = function (KEY, length, exec) {\n var SYMBOL = wks(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegEp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL ? !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n re.exec = function () { execCalled = true; return null; };\n if (KEY === 'split') {\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n }\n re[SYMBOL]('');\n return !execCalled;\n }) : undefined;\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n (KEY === 'replace' && !REPLACE_SUPPORTS_NAMED_GROUPS) ||\n (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var fns = exec(\n defined,\n SYMBOL,\n ''[KEY],\n function maybeCallNative(nativeMethod, regexp, str, arg2, forceStringMethod) {\n if (regexp.exec === regexpExec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };\n }\n return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n }\n return { done: false };\n }\n );\n var strfn = fns[0];\n var rxfn = fns[1];\n\n redefine(String.prototype, KEY, strfn);\n hide(RegExp.prototype, SYMBOL, length == 2\n // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n ? function (string, arg) { return rxfn.call(string, this, arg); }\n // 21.2.5.6 RegExp.prototype[@@match](string)\n // 21.2.5.9 RegExp.prototype[@@search](string)\n : function (string) { return rxfn.call(string, this); }\n );\n }\n};\n\n\n/***/ }),\n/* 112 */,\n/* 113 */,\n/* 114 */,\n/* 115 */,\n/* 116 */,\n/* 117 */,\n/* 118 */,\n/* 119 */,\n/* 120 */,\n/* 121 */,\n/* 122 */,\n/* 123 */,\n/* 124 */,\n/* 125 */,\n/* 126 */,\n/* 127 */,\n/* 128 */,\n/* 129 */,\n/* 130 */,\n/* 131 */,\n/* 132 */,\n/* 133 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar shared = __webpack_require__(76)('keys');\nvar uid = __webpack_require__(75);\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n\n\n/***/ }),\n/* 134 */\n/***/ (function(module, exports) {\n\n// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n\n\n/***/ }),\n/* 135 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.2.2 IsArray(argument)\nvar cof = __webpack_require__(57);\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n\n\n/***/ }),\n/* 136 */\n/***/ (function(module, exports) {\n\nmodule.exports = '\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003' +\n '\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n\n\n/***/ }),\n/* 137 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar redefine = __webpack_require__(31);\nmodule.exports = function (target, src, safe) {\n for (var key in src) redefine(target, key, src[key], safe);\n return target;\n};\n\n\n/***/ }),\n/* 138 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it, Constructor, name, forbiddenField) {\n if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {\n throw TypeError(name + ': incorrect invocation!');\n } return it;\n};\n\n\n/***/ }),\n/* 139 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = __webpack_require__(57);\nvar TAG = __webpack_require__(17)('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n\n\n/***/ }),\n/* 140 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar LIBRARY = __webpack_require__(77);\nvar $export = __webpack_require__(3);\nvar redefine = __webpack_require__(31);\nvar hide = __webpack_require__(43);\nvar Iterators = __webpack_require__(83);\nvar $iterCreate = __webpack_require__(591);\nvar setToStringTag = __webpack_require__(106);\nvar getPrototypeOf = __webpack_require__(52);\nvar ITERATOR = __webpack_require__(17)('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n\n\n/***/ }),\n/* 141 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar global = __webpack_require__(18);\nvar dP = __webpack_require__(21);\nvar DESCRIPTORS = __webpack_require__(16);\nvar SPECIES = __webpack_require__(17)('species');\n\nmodule.exports = function (KEY) {\n var C = global[KEY];\n if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n};\n\n\n/***/ }),\n/* 142 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar global = __webpack_require__(18);\nvar $export = __webpack_require__(3);\nvar redefine = __webpack_require__(31);\nvar redefineAll = __webpack_require__(137);\nvar meta = __webpack_require__(53);\nvar forOf = __webpack_require__(105);\nvar anInstance = __webpack_require__(138);\nvar isObject = __webpack_require__(15);\nvar fails = __webpack_require__(12);\nvar $iterDetect = __webpack_require__(259);\nvar setToStringTag = __webpack_require__(106);\nvar inheritIfRequired = __webpack_require__(143);\n\nmodule.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {\n var Base = global[NAME];\n var C = Base;\n var ADDER = IS_MAP ? 'set' : 'add';\n var proto = C && C.prototype;\n var O = {};\n var fixMethod = function (KEY) {\n var fn = proto[KEY];\n redefine(proto, KEY,\n KEY == 'delete' ? function (a) {\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'has' ? function has(a) {\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'get' ? function get(a) {\n return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'add' ? function add(a) { fn.call(this, a === 0 ? 0 : a); return this; }\n : function set(a, b) { fn.call(this, a === 0 ? 0 : a, b); return this; }\n );\n };\n if (typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () {\n new C().entries().next();\n }))) {\n // create collection constructor\n C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);\n redefineAll(C.prototype, methods);\n meta.NEED = true;\n } else {\n var instance = new C();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n var ACCEPT_ITERABLES = $iterDetect(function (iter) { new C(iter); }); // eslint-disable-line no-new\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new C();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n if (!ACCEPT_ITERABLES) {\n C = wrapper(function (target, iterable) {\n anInstance(target, C, NAME);\n var that = inheritIfRequired(new Base(), target, C);\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n return that;\n });\n C.prototype = proto;\n proto.constructor = C;\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) fixMethod(ADDER);\n // weak collections should not contains .clear method\n if (IS_WEAK && proto.clear) delete proto.clear;\n }\n\n setToStringTag(C, NAME);\n\n O[NAME] = C;\n $export($export.G + $export.W + $export.F * (C != Base), O);\n\n if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP);\n\n return C;\n};\n\n\n/***/ }),\n/* 143 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(15);\nvar setPrototypeOf = __webpack_require__(260).set;\nmodule.exports = function (that, target, C) {\n var S = target.constructor;\n var P;\n if (S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf) {\n setPrototypeOf(that, P);\n } return that;\n};\n\n\n/***/ }),\n/* 144 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $defineProperty = __webpack_require__(21);\nvar createDesc = __webpack_require__(74);\n\nmodule.exports = function (object, index, value) {\n if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n else object[index] = value;\n};\n\n\n/***/ }),\n/* 145 */\n/***/ (function(module, exports) {\n\n// 20.2.2.28 Math.sign(x)\nmodule.exports = Math.sign || function sign(x) {\n // eslint-disable-next-line no-self-compare\n return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1;\n};\n\n\n/***/ }),\n/* 146 */\n/***/ (function(module, exports) {\n\n// 20.2.2.14 Math.expm1(x)\nvar $expm1 = Math.expm1;\nmodule.exports = (!$expm1\n // Old FF bug\n || $expm1(10) > 22025.465794806719 || $expm1(10) < 22025.4657948067165168\n // Tor Browser bug\n || $expm1(-2e-17) != -2e-17\n) ? function expm1(x) {\n return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : Math.exp(x) - 1;\n} : $expm1;\n\n\n/***/ }),\n/* 147 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(58);\nvar defined = __webpack_require__(51);\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n\n\n/***/ }),\n/* 148 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// helper for String#{startsWith, endsWith, includes}\nvar isRegExp = __webpack_require__(149);\nvar defined = __webpack_require__(51);\n\nmodule.exports = function (that, searchString, NAME) {\n if (isRegExp(searchString)) throw TypeError('String#' + NAME + \" doesn't accept regex!\");\n return String(defined(that));\n};\n\n\n/***/ }),\n/* 149 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.2.8 IsRegExp(argument)\nvar isObject = __webpack_require__(15);\nvar cof = __webpack_require__(57);\nvar MATCH = __webpack_require__(17)('match');\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp');\n};\n\n\n/***/ }),\n/* 150 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar MATCH = __webpack_require__(17)('match');\nmodule.exports = function (KEY) {\n var re = /./;\n try {\n '/./'[KEY](re);\n } catch (e) {\n try {\n re[MATCH] = false;\n return !'/./'[KEY](re);\n } catch (f) { /* empty */ }\n } return true;\n};\n\n\n/***/ }),\n/* 151 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar at = __webpack_require__(147)(true);\n\n // `AdvanceStringIndex` abstract operation\n// https://tc39.github.io/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? at(S, index).length : 1);\n};\n\n\n/***/ }),\n/* 152 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar regexpFlags = __webpack_require__(104);\n\nvar nativeExec = RegExp.prototype.exec;\n// This always refers to the native implementation, because the\n// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,\n// which loads this file before patching the method.\nvar nativeReplace = String.prototype.replace;\n\nvar patchedExec = nativeExec;\n\nvar LAST_INDEX = 'lastIndex';\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/,\n re2 = /b*/g;\n nativeExec.call(re1, 'a');\n nativeExec.call(re2, 'a');\n return re1[LAST_INDEX] !== 0 || re2[LAST_INDEX] !== 0;\n})();\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED;\n\nif (PATCH) {\n patchedExec = function exec(str) {\n var re = this;\n var lastIndex, reCopy, match, i;\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + re.source + '$(?!\\\\s)', regexpFlags.call(re));\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re[LAST_INDEX];\n\n match = nativeExec.call(re, str);\n\n if (UPDATES_LAST_INDEX_WRONG && match) {\n re[LAST_INDEX] = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n // eslint-disable-next-line no-loop-func\n nativeReplace.call(match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n\n\n/***/ }),\n/* 153 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar addToUnscopables = __webpack_require__(85);\nvar step = __webpack_require__(258);\nvar Iterators = __webpack_require__(83);\nvar toIObject = __webpack_require__(34);\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = __webpack_require__(140)(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n/***/ }),\n/* 154 */,\n/* 155 */,\n/* 156 */,\n/* 157 */,\n/* 158 */,\n/* 159 */,\n/* 160 */,\n/* 161 */,\n/* 162 */,\n/* 163 */,\n/* 164 */,\n/* 165 */,\n/* 166 */,\n/* 167 */,\n/* 168 */,\n/* 169 */,\n/* 170 */,\n/* 171 */,\n/* 172 */,\n/* 173 */,\n/* 174 */,\n/* 175 */,\n/* 176 */,\n/* 177 */,\n/* 178 */,\n/* 179 */,\n/* 180 */,\n/* 181 */,\n/* 182 */,\n/* 183 */,\n/* 184 */,\n/* 185 */,\n/* 186 */,\n/* 187 */,\n/* 188 */,\n/* 189 */,\n/* 190 */,\n/* 191 */,\n/* 192 */,\n/* 193 */,\n/* 194 */,\n/* 195 */,\n/* 196 */,\n/* 197 */,\n/* 198 */,\n/* 199 */,\n/* 200 */,\n/* 201 */,\n/* 202 */,\n/* 203 */,\n/* 204 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(3);\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n$export($export.S, 'Object', { create: __webpack_require__(78) });\n\n\n/***/ }),\n/* 205 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = !__webpack_require__(16) && !__webpack_require__(12)(function () {\n return Object.defineProperty(__webpack_require__(206)('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n/* 206 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(15);\nvar document = __webpack_require__(18).document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n\n\n/***/ }),\n/* 207 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(21);\nvar anObject = __webpack_require__(11);\nvar getKeys = __webpack_require__(56);\n\nmodule.exports = __webpack_require__(16) ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n\n\n/***/ }),\n/* 208 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar has = __webpack_require__(44);\nvar toIObject = __webpack_require__(34);\nvar arrayIndexOf = __webpack_require__(209)(false);\nvar IE_PROTO = __webpack_require__(133)('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n\n\n/***/ }),\n/* 209 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = __webpack_require__(34);\nvar toLength = __webpack_require__(26);\nvar toAbsoluteIndex = __webpack_require__(80);\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\n\n/***/ }),\n/* 210 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar document = __webpack_require__(18).document;\nmodule.exports = document && document.documentElement;\n\n\n/***/ }),\n/* 211 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(3);\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !__webpack_require__(16), 'Object', { defineProperty: __webpack_require__(21).f });\n\n\n/***/ }),\n/* 212 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(3);\n// 19.1.2.3 / 15.2.3.7 Object.defineProperties(O, Properties)\n$export($export.S + $export.F * !__webpack_require__(16), 'Object', { defineProperties: __webpack_require__(207) });\n\n\n/***/ }),\n/* 213 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\nvar toIObject = __webpack_require__(34);\nvar $getOwnPropertyDescriptor = __webpack_require__(59).f;\n\n__webpack_require__(40)('getOwnPropertyDescriptor', function () {\n return function getOwnPropertyDescriptor(it, key) {\n return $getOwnPropertyDescriptor(toIObject(it), key);\n };\n});\n\n\n/***/ }),\n/* 214 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.9 Object.getPrototypeOf(O)\nvar toObject = __webpack_require__(22);\nvar $getPrototypeOf = __webpack_require__(52);\n\n__webpack_require__(40)('getPrototypeOf', function () {\n return function getPrototypeOf(it) {\n return $getPrototypeOf(toObject(it));\n };\n});\n\n\n/***/ }),\n/* 215 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 Object.keys(O)\nvar toObject = __webpack_require__(22);\nvar $keys = __webpack_require__(56);\n\n__webpack_require__(40)('keys', function () {\n return function keys(it) {\n return $keys(toObject(it));\n };\n});\n\n\n/***/ }),\n/* 216 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.7 Object.getOwnPropertyNames(O)\n__webpack_require__(40)('getOwnPropertyNames', function () {\n return __webpack_require__(217).f;\n});\n\n\n/***/ }),\n/* 217 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = __webpack_require__(34);\nvar gOPN = __webpack_require__(82).f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n\n\n/***/ }),\n/* 218 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.5 Object.freeze(O)\nvar isObject = __webpack_require__(15);\nvar meta = __webpack_require__(53).onFreeze;\n\n__webpack_require__(40)('freeze', function ($freeze) {\n return function freeze(it) {\n return $freeze && isObject(it) ? $freeze(meta(it)) : it;\n };\n});\n\n\n/***/ }),\n/* 219 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.17 Object.seal(O)\nvar isObject = __webpack_require__(15);\nvar meta = __webpack_require__(53).onFreeze;\n\n__webpack_require__(40)('seal', function ($seal) {\n return function seal(it) {\n return $seal && isObject(it) ? $seal(meta(it)) : it;\n };\n});\n\n\n/***/ }),\n/* 220 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.15 Object.preventExtensions(O)\nvar isObject = __webpack_require__(15);\nvar meta = __webpack_require__(53).onFreeze;\n\n__webpack_require__(40)('preventExtensions', function ($preventExtensions) {\n return function preventExtensions(it) {\n return $preventExtensions && isObject(it) ? $preventExtensions(meta(it)) : it;\n };\n});\n\n\n/***/ }),\n/* 221 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.12 Object.isFrozen(O)\nvar isObject = __webpack_require__(15);\n\n__webpack_require__(40)('isFrozen', function ($isFrozen) {\n return function isFrozen(it) {\n return isObject(it) ? $isFrozen ? $isFrozen(it) : false : true;\n };\n});\n\n\n/***/ }),\n/* 222 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.13 Object.isSealed(O)\nvar isObject = __webpack_require__(15);\n\n__webpack_require__(40)('isSealed', function ($isSealed) {\n return function isSealed(it) {\n return isObject(it) ? $isSealed ? $isSealed(it) : false : true;\n };\n});\n\n\n/***/ }),\n/* 223 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.11 Object.isExtensible(O)\nvar isObject = __webpack_require__(15);\n\n__webpack_require__(40)('isExtensible', function ($isExtensible) {\n return function isExtensible(it) {\n return isObject(it) ? $isExtensible ? $isExtensible(it) : true : false;\n };\n});\n\n\n/***/ }),\n/* 224 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.2.3.2 / 15.3.4.5 Function.prototype.bind(thisArg, args...)\nvar $export = __webpack_require__(3);\n\n$export($export.P, 'Function', { bind: __webpack_require__(584) });\n\n\n/***/ }),\n/* 225 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 22.1.2.2 / 15.4.3.2 Array.isArray(arg)\nvar $export = __webpack_require__(3);\n\n$export($export.S, 'Array', { isArray: __webpack_require__(135) });\n\n\n/***/ }),\n/* 226 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 22.1.3.13 Array.prototype.join(separator)\nvar $export = __webpack_require__(3);\nvar toIObject = __webpack_require__(34);\nvar arrayJoin = [].join;\n\n// fallback for not array-like strings\n$export($export.P + $export.F * (__webpack_require__(79) != Object || !__webpack_require__(38)(arrayJoin)), 'Array', {\n join: function join(separator) {\n return arrayJoin.call(toIObject(this), separator === undefined ? ',' : separator);\n }\n});\n\n\n/***/ }),\n/* 227 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(3);\nvar html = __webpack_require__(210);\nvar cof = __webpack_require__(57);\nvar toAbsoluteIndex = __webpack_require__(80);\nvar toLength = __webpack_require__(26);\nvar arraySlice = [].slice;\n\n// fallback for not array-like ES3 strings and DOM objects\n$export($export.P + $export.F * __webpack_require__(12)(function () {\n if (html) arraySlice.call(html);\n}), 'Array', {\n slice: function slice(begin, end) {\n var len = toLength(this.length);\n var klass = cof(this);\n end = end === undefined ? len : end;\n if (klass == 'Array') return arraySlice.call(this, begin, end);\n var start = toAbsoluteIndex(begin, len);\n var upTo = toAbsoluteIndex(end, len);\n var size = toLength(upTo - start);\n var cloned = new Array(size);\n var i = 0;\n for (; i < size; i++) cloned[i] = klass == 'String'\n ? this.charAt(start + i)\n : this[start + i];\n return cloned;\n }\n});\n\n\n/***/ }),\n/* 228 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(3);\nvar aFunction = __webpack_require__(50);\nvar toObject = __webpack_require__(22);\nvar fails = __webpack_require__(12);\nvar $sort = [].sort;\nvar test = [1, 2, 3];\n\n$export($export.P + $export.F * (fails(function () {\n // IE8-\n test.sort(undefined);\n}) || !fails(function () {\n // V8 bug\n test.sort(null);\n // Old WebKit\n}) || !__webpack_require__(38)($sort)), 'Array', {\n // 22.1.3.25 Array.prototype.sort(comparefn)\n sort: function sort(comparefn) {\n return comparefn === undefined\n ? $sort.call(toObject(this))\n : $sort.call(toObject(this), aFunction(comparefn));\n }\n});\n\n\n/***/ }),\n/* 229 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(3);\nvar $forEach = __webpack_require__(45)(0);\nvar STRICT = __webpack_require__(38)([].forEach, true);\n\n$export($export.P + $export.F * !STRICT, 'Array', {\n // 22.1.3.10 / 15.4.4.18 Array.prototype.forEach(callbackfn [, thisArg])\n forEach: function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments[1]);\n }\n});\n\n\n/***/ }),\n/* 230 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(3);\nvar $map = __webpack_require__(45)(1);\n\n$export($export.P + $export.F * !__webpack_require__(38)([].map, true), 'Array', {\n // 22.1.3.15 / 15.4.4.19 Array.prototype.map(callbackfn [, thisArg])\n map: function map(callbackfn /* , thisArg */) {\n return $map(this, callbackfn, arguments[1]);\n }\n});\n\n\n/***/ }),\n/* 231 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(3);\nvar $filter = __webpack_require__(45)(2);\n\n$export($export.P + $export.F * !__webpack_require__(38)([].filter, true), 'Array', {\n // 22.1.3.7 / 15.4.4.20 Array.prototype.filter(callbackfn [, thisArg])\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments[1]);\n }\n});\n\n\n/***/ }),\n/* 232 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(3);\nvar $some = __webpack_require__(45)(3);\n\n$export($export.P + $export.F * !__webpack_require__(38)([].some, true), 'Array', {\n // 22.1.3.23 / 15.4.4.17 Array.prototype.some(callbackfn [, thisArg])\n some: function some(callbackfn /* , thisArg */) {\n return $some(this, callbackfn, arguments[1]);\n }\n});\n\n\n/***/ }),\n/* 233 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(3);\nvar $every = __webpack_require__(45)(4);\n\n$export($export.P + $export.F * !__webpack_require__(38)([].every, true), 'Array', {\n // 22.1.3.5 / 15.4.4.16 Array.prototype.every(callbackfn [, thisArg])\n every: function every(callbackfn /* , thisArg */) {\n return $every(this, callbackfn, arguments[1]);\n }\n});\n\n\n/***/ }),\n/* 234 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(3);\nvar $reduce = __webpack_require__(235);\n\n$export($export.P + $export.F * !__webpack_require__(38)([].reduce, true), 'Array', {\n // 22.1.3.18 / 15.4.4.21 Array.prototype.reduce(callbackfn [, initialValue])\n reduce: function reduce(callbackfn /* , initialValue */) {\n return $reduce(this, callbackfn, arguments.length, arguments[1], false);\n }\n});\n\n\n/***/ }),\n/* 235 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar aFunction = __webpack_require__(50);\nvar toObject = __webpack_require__(22);\nvar IObject = __webpack_require__(79);\nvar toLength = __webpack_require__(26);\n\nmodule.exports = function (that, callbackfn, aLen, memo, isRight) {\n aFunction(callbackfn);\n var O = toObject(that);\n var self = IObject(O);\n var length = toLength(O.length);\n var index = isRight ? length - 1 : 0;\n var i = isRight ? -1 : 1;\n if (aLen < 2) for (;;) {\n if (index in self) {\n memo = self[index];\n index += i;\n break;\n }\n index += i;\n if (isRight ? index < 0 : length <= index) {\n throw TypeError('Reduce of empty array with no initial value');\n }\n }\n for (;isRight ? index >= 0 : length > index; index += i) if (index in self) {\n memo = callbackfn(memo, self[index], index, O);\n }\n return memo;\n};\n\n\n/***/ }),\n/* 236 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(3);\nvar $reduce = __webpack_require__(235);\n\n$export($export.P + $export.F * !__webpack_require__(38)([].reduceRight, true), 'Array', {\n // 22.1.3.19 / 15.4.4.22 Array.prototype.reduceRight(callbackfn [, initialValue])\n reduceRight: function reduceRight(callbackfn /* , initialValue */) {\n return $reduce(this, callbackfn, arguments.length, arguments[1], true);\n }\n});\n\n\n/***/ }),\n/* 237 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(3);\nvar $indexOf = __webpack_require__(209)(false);\nvar $native = [].indexOf;\nvar NEGATIVE_ZERO = !!$native && 1 / [1].indexOf(1, -0) < 0;\n\n$export($export.P + $export.F * (NEGATIVE_ZERO || !__webpack_require__(38)($native)), 'Array', {\n // 22.1.3.11 / 15.4.4.14 Array.prototype.indexOf(searchElement [, fromIndex])\n indexOf: function indexOf(searchElement /* , fromIndex = 0 */) {\n return NEGATIVE_ZERO\n // convert -0 to +0\n ? $native.apply(this, arguments) || 0\n : $indexOf(this, searchElement, arguments[1]);\n }\n});\n\n\n/***/ }),\n/* 238 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(3);\nvar toIObject = __webpack_require__(34);\nvar toInteger = __webpack_require__(58);\nvar toLength = __webpack_require__(26);\nvar $native = [].lastIndexOf;\nvar NEGATIVE_ZERO = !!$native && 1 / [1].lastIndexOf(1, -0) < 0;\n\n$export($export.P + $export.F * (NEGATIVE_ZERO || !__webpack_require__(38)($native)), 'Array', {\n // 22.1.3.14 / 15.4.4.15 Array.prototype.lastIndexOf(searchElement [, fromIndex])\n lastIndexOf: function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) {\n // convert -0 to +0\n if (NEGATIVE_ZERO) return $native.apply(this, arguments) || 0;\n var O = toIObject(this);\n var length = toLength(O.length);\n var index = length - 1;\n if (arguments.length > 1) index = Math.min(index, toInteger(arguments[1]));\n if (index < 0) index = length + index;\n for (;index >= 0; index--) if (index in O) if (O[index] === searchElement) return index || 0;\n return -1;\n }\n});\n\n\n/***/ }),\n/* 239 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(3);\nvar toInteger = __webpack_require__(58);\nvar aNumberValue = __webpack_require__(240);\nvar repeat = __webpack_require__(241);\nvar $toFixed = 1.0.toFixed;\nvar floor = Math.floor;\nvar data = [0, 0, 0, 0, 0, 0];\nvar ERROR = 'Number.toFixed: incorrect invocation!';\nvar ZERO = '0';\n\nvar multiply = function (n, c) {\n var i = -1;\n var c2 = c;\n while (++i < 6) {\n c2 += n * data[i];\n data[i] = c2 % 1e7;\n c2 = floor(c2 / 1e7);\n }\n};\nvar divide = function (n) {\n var i = 6;\n var c = 0;\n while (--i >= 0) {\n c += data[i];\n data[i] = floor(c / n);\n c = (c % n) * 1e7;\n }\n};\nvar numToString = function () {\n var i = 6;\n var s = '';\n while (--i >= 0) {\n if (s !== '' || i === 0 || data[i] !== 0) {\n var t = String(data[i]);\n s = s === '' ? t : s + repeat.call(ZERO, 7 - t.length) + t;\n }\n } return s;\n};\nvar pow = function (x, n, acc) {\n return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc);\n};\nvar log = function (x) {\n var n = 0;\n var x2 = x;\n while (x2 >= 4096) {\n n += 12;\n x2 /= 4096;\n }\n while (x2 >= 2) {\n n += 1;\n x2 /= 2;\n } return n;\n};\n\n$export($export.P + $export.F * (!!$toFixed && (\n 0.00008.toFixed(3) !== '0.000' ||\n 0.9.toFixed(0) !== '1' ||\n 1.255.toFixed(2) !== '1.25' ||\n 1000000000000000128.0.toFixed(0) !== '1000000000000000128'\n) || !__webpack_require__(12)(function () {\n // V8 ~ Android 4.3-\n $toFixed.call({});\n})), 'Number', {\n toFixed: function toFixed(fractionDigits) {\n var x = aNumberValue(this, ERROR);\n var f = toInteger(fractionDigits);\n var s = '';\n var m = ZERO;\n var e, z, j, k;\n if (f < 0 || f > 20) throw RangeError(ERROR);\n // eslint-disable-next-line no-self-compare\n if (x != x) return 'NaN';\n if (x <= -1e21 || x >= 1e21) return String(x);\n if (x < 0) {\n s = '-';\n x = -x;\n }\n if (x > 1e-21) {\n e = log(x * pow(2, 69, 1)) - 69;\n z = e < 0 ? x * pow(2, -e, 1) : x / pow(2, e, 1);\n z *= 0x10000000000000;\n e = 52 - e;\n if (e > 0) {\n multiply(0, z);\n j = f;\n while (j >= 7) {\n multiply(1e7, 0);\n j -= 7;\n }\n multiply(pow(10, j, 1), 0);\n j = e - 1;\n while (j >= 23) {\n divide(1 << 23);\n j -= 23;\n }\n divide(1 << j);\n multiply(1, 1);\n divide(2);\n m = numToString();\n } else {\n multiply(0, z);\n multiply(1 << -e, 0);\n m = numToString() + repeat.call(ZERO, f);\n }\n }\n if (f > 0) {\n k = m.length;\n m = s + (k <= f ? '0.' + repeat.call(ZERO, f - k) + m : m.slice(0, k - f) + '.' + m.slice(k - f));\n } else {\n m = s + m;\n } return m;\n }\n});\n\n\n/***/ }),\n/* 240 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar cof = __webpack_require__(57);\nmodule.exports = function (it, msg) {\n if (typeof it != 'number' && cof(it) != 'Number') throw TypeError(msg);\n return +it;\n};\n\n\n/***/ }),\n/* 241 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar toInteger = __webpack_require__(58);\nvar defined = __webpack_require__(51);\n\nmodule.exports = function repeat(count) {\n var str = String(defined(this));\n var res = '';\n var n = toInteger(count);\n if (n < 0 || n == Infinity) throw RangeError(\"Count can't be negative\");\n for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) res += str;\n return res;\n};\n\n\n/***/ }),\n/* 242 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(3);\nvar $fails = __webpack_require__(12);\nvar aNumberValue = __webpack_require__(240);\nvar $toPrecision = 1.0.toPrecision;\n\n$export($export.P + $export.F * ($fails(function () {\n // IE7-\n return $toPrecision.call(1, undefined) !== '1';\n}) || !$fails(function () {\n // V8 ~ Android 4.3-\n $toPrecision.call({});\n})), 'Number', {\n toPrecision: function toPrecision(precision) {\n var that = aNumberValue(this, 'Number#toPrecision: incorrect invocation!');\n return precision === undefined ? $toPrecision.call(that) : $toPrecision.call(that, precision);\n }\n});\n\n\n/***/ }),\n/* 243 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.3.3.1 / 15.9.4.4 Date.now()\nvar $export = __webpack_require__(3);\n\n$export($export.S, 'Date', { now: function () { return new Date().getTime(); } });\n\n\n/***/ }),\n/* 244 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()\nvar $export = __webpack_require__(3);\nvar toISOString = __webpack_require__(588);\n\n// PhantomJS / old WebKit has a broken implementations\n$export($export.P + $export.F * (Date.prototype.toISOString !== toISOString), 'Date', {\n toISOString: toISOString\n});\n\n\n/***/ }),\n/* 245 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(3);\nvar toObject = __webpack_require__(22);\nvar toPrimitive = __webpack_require__(49);\n\n$export($export.P + $export.F * __webpack_require__(12)(function () {\n return new Date(NaN).toJSON() !== null\n || Date.prototype.toJSON.call({ toISOString: function () { return 1; } }) !== 1;\n}), 'Date', {\n // eslint-disable-next-line no-unused-vars\n toJSON: function toJSON(key) {\n var O = toObject(this);\n var pv = toPrimitive(O);\n return typeof pv == 'number' && !isFinite(pv) ? null : O.toISOString();\n }\n});\n\n\n/***/ }),\n/* 246 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(3);\nvar $parseInt = __webpack_require__(247);\n// 18.2.5 parseInt(string, radix)\n$export($export.G + $export.F * (parseInt != $parseInt), { parseInt: $parseInt });\n\n\n/***/ }),\n/* 247 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $parseInt = __webpack_require__(18).parseInt;\nvar $trim = __webpack_require__(103).trim;\nvar ws = __webpack_require__(136);\nvar hex = /^[-+]?0[xX]/;\n\nmodule.exports = $parseInt(ws + '08') !== 8 || $parseInt(ws + '0x16') !== 22 ? function parseInt(str, radix) {\n var string = $trim(String(str), 3);\n return $parseInt(string, (radix >>> 0) || (hex.test(string) ? 16 : 10));\n} : $parseInt;\n\n\n/***/ }),\n/* 248 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(3);\nvar $parseFloat = __webpack_require__(249);\n// 18.2.4 parseFloat(string)\n$export($export.G + $export.F * (parseFloat != $parseFloat), { parseFloat: $parseFloat });\n\n\n/***/ }),\n/* 249 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $parseFloat = __webpack_require__(18).parseFloat;\nvar $trim = __webpack_require__(103).trim;\n\nmodule.exports = 1 / $parseFloat(__webpack_require__(136) + '-0') !== -Infinity ? function parseFloat(str) {\n var string = $trim(String(str), 3);\n var result = $parseFloat(string);\n return result === 0 && string.charAt(0) == '-' ? -0 : result;\n} : $parseFloat;\n\n\n/***/ }),\n/* 250 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 21.1.3.25 String.prototype.trim()\n__webpack_require__(103)('trim', function ($trim) {\n return function trim() {\n return $trim(this, 3);\n };\n});\n\n\n/***/ }),\n/* 251 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n__webpack_require__(252);\nvar anObject = __webpack_require__(11);\nvar $flags = __webpack_require__(104);\nvar DESCRIPTORS = __webpack_require__(16);\nvar TO_STRING = 'toString';\nvar $toString = /./[TO_STRING];\n\nvar define = function (fn) {\n __webpack_require__(31)(RegExp.prototype, TO_STRING, fn, true);\n};\n\n// 21.2.5.14 RegExp.prototype.toString()\nif (__webpack_require__(12)(function () { return $toString.call({ source: 'a', flags: 'b' }) != '/a/b'; })) {\n define(function toString() {\n var R = anObject(this);\n return '/'.concat(R.source, '/',\n 'flags' in R ? R.flags : !DESCRIPTORS && R instanceof RegExp ? $flags.call(R) : undefined);\n });\n// FF44- RegExp#toString has a wrong name\n} else if ($toString.name != TO_STRING) {\n define(function toString() {\n return $toString.call(this);\n });\n}\n\n\n/***/ }),\n/* 252 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 21.2.5.3 get RegExp.prototype.flags()\nif (__webpack_require__(16) && /./g.flags != 'g') __webpack_require__(21).f(RegExp.prototype, 'flags', {\n configurable: true,\n get: __webpack_require__(104)\n});\n\n\n/***/ }),\n/* 253 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar strong = __webpack_require__(254);\nvar validate = __webpack_require__(67);\nvar MAP = 'Map';\n\n// 23.1 Map Objects\nmodule.exports = __webpack_require__(142)(MAP, function (get) {\n return function Map() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.1.3.6 Map.prototype.get(key)\n get: function get(key) {\n var entry = strong.getEntry(validate(this, MAP), key);\n return entry && entry.v;\n },\n // 23.1.3.9 Map.prototype.set(key, value)\n set: function set(key, value) {\n return strong.def(validate(this, MAP), key === 0 ? 0 : key, value);\n }\n}, strong, true);\n\n\n/***/ }),\n/* 254 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar dP = __webpack_require__(21).f;\nvar create = __webpack_require__(78);\nvar redefineAll = __webpack_require__(137);\nvar ctx = __webpack_require__(66);\nvar anInstance = __webpack_require__(138);\nvar forOf = __webpack_require__(105);\nvar $iterDefine = __webpack_require__(140);\nvar step = __webpack_require__(258);\nvar setSpecies = __webpack_require__(141);\nvar DESCRIPTORS = __webpack_require__(16);\nvar fastKey = __webpack_require__(53).fastKey;\nvar validate = __webpack_require__(67);\nvar SIZE = DESCRIPTORS ? '_s' : 'size';\n\nvar getEntry = function (that, key) {\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return that._i[index];\n // frozen object case\n for (entry = that._f; entry; entry = entry.n) {\n if (entry.k == key) return entry;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, NAME, '_i');\n that._t = NAME; // collection type\n that._i = create(null); // index\n that._f = undefined; // first entry\n that._l = undefined; // last entry\n that[SIZE] = 0; // size\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.1.3.1 Map.prototype.clear()\n // 23.2.3.2 Set.prototype.clear()\n clear: function clear() {\n for (var that = validate(this, NAME), data = that._i, entry = that._f; entry; entry = entry.n) {\n entry.r = true;\n if (entry.p) entry.p = entry.p.n = undefined;\n delete data[entry.i];\n }\n that._f = that._l = undefined;\n that[SIZE] = 0;\n },\n // 23.1.3.3 Map.prototype.delete(key)\n // 23.2.3.4 Set.prototype.delete(value)\n 'delete': function (key) {\n var that = validate(this, NAME);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.n;\n var prev = entry.p;\n delete that._i[entry.i];\n entry.r = true;\n if (prev) prev.n = next;\n if (next) next.p = prev;\n if (that._f == entry) that._f = next;\n if (that._l == entry) that._l = prev;\n that[SIZE]--;\n } return !!entry;\n },\n // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n forEach: function forEach(callbackfn /* , that = undefined */) {\n validate(this, NAME);\n var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var entry;\n while (entry = entry ? entry.n : this._f) {\n f(entry.v, entry.k, this);\n // revert to the last existing entry\n while (entry && entry.r) entry = entry.p;\n }\n },\n // 23.1.3.7 Map.prototype.has(key)\n // 23.2.3.7 Set.prototype.has(value)\n has: function has(key) {\n return !!getEntry(validate(this, NAME), key);\n }\n });\n if (DESCRIPTORS) dP(C.prototype, 'size', {\n get: function () {\n return validate(this, NAME)[SIZE];\n }\n });\n return C;\n },\n def: function (that, key, value) {\n var entry = getEntry(that, key);\n var prev, index;\n // change existing entry\n if (entry) {\n entry.v = value;\n // create new entry\n } else {\n that._l = entry = {\n i: index = fastKey(key, true), // <- index\n k: key, // <- key\n v: value, // <- value\n p: prev = that._l, // <- previous entry\n n: undefined, // <- next entry\n r: false // <- removed\n };\n if (!that._f) that._f = entry;\n if (prev) prev.n = entry;\n that[SIZE]++;\n // add to index\n if (index !== 'F') that._i[index] = entry;\n } return that;\n },\n getEntry: getEntry,\n setStrong: function (C, NAME, IS_MAP) {\n // add .keys, .values, .entries, [@@iterator]\n // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n $iterDefine(C, NAME, function (iterated, kind) {\n this._t = validate(iterated, NAME); // target\n this._k = kind; // kind\n this._l = undefined; // previous\n }, function () {\n var that = this;\n var kind = that._k;\n var entry = that._l;\n // revert to the last existing entry\n while (entry && entry.r) entry = entry.p;\n // get next entry\n if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) {\n // or finish the iteration\n that._t = undefined;\n return step(1);\n }\n // return step by kind\n if (kind == 'keys') return step(0, entry.k);\n if (kind == 'values') return step(0, entry.v);\n return step(0, [entry.k, entry.v]);\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // add [@@species], 23.1.2.2, 23.2.2.2\n setSpecies(NAME);\n }\n};\n\n\n/***/ }),\n/* 255 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// call something on iterator step with safe closing on error\nvar anObject = __webpack_require__(11);\nmodule.exports = function (iterator, fn, value, entries) {\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (e) {\n var ret = iterator['return'];\n if (ret !== undefined) anObject(ret.call(iterator));\n throw e;\n }\n};\n\n\n/***/ }),\n/* 256 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// check on default Array iterator\nvar Iterators = __webpack_require__(83);\nvar ITERATOR = __webpack_require__(17)('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n\n\n/***/ }),\n/* 257 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar classof = __webpack_require__(139);\nvar ITERATOR = __webpack_require__(17)('iterator');\nvar Iterators = __webpack_require__(83);\nmodule.exports = __webpack_require__(14).getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n\n\n/***/ }),\n/* 258 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n\n\n/***/ }),\n/* 259 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar ITERATOR = __webpack_require__(17)('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function () { SAFE_CLOSING = true; };\n // eslint-disable-next-line no-throw-literal\n Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n if (!skipClosing && !SAFE_CLOSING) return false;\n var safe = false;\n try {\n var arr = [7];\n var iter = arr[ITERATOR]();\n iter.next = function () { return { done: safe = true }; };\n arr[ITERATOR] = function () { return iter; };\n exec(arr);\n } catch (e) { /* empty */ }\n return safe;\n};\n\n\n/***/ }),\n/* 260 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = __webpack_require__(15);\nvar anObject = __webpack_require__(11);\nvar check = function (O, proto) {\n anObject(O);\n if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function (test, buggy, set) {\n try {\n set = __webpack_require__(66)(Function.call, __webpack_require__(59).f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch (e) { buggy = true; }\n return function setPrototypeOf(O, proto) {\n check(O, proto);\n if (buggy) O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n\n\n/***/ }),\n/* 261 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar global = __webpack_require__(18);\nvar each = __webpack_require__(45)(0);\nvar redefine = __webpack_require__(31);\nvar meta = __webpack_require__(53);\nvar assign = __webpack_require__(262);\nvar weak = __webpack_require__(592);\nvar isObject = __webpack_require__(15);\nvar validate = __webpack_require__(67);\nvar NATIVE_WEAK_MAP = __webpack_require__(67);\nvar IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global;\nvar WEAK_MAP = 'WeakMap';\nvar getWeak = meta.getWeak;\nvar isExtensible = Object.isExtensible;\nvar uncaughtFrozenStore = weak.ufstore;\nvar InternalMap;\n\nvar wrapper = function (get) {\n return function WeakMap() {\n return get(this, arguments.length > 0 ? arguments[0] : undefined);\n };\n};\n\nvar methods = {\n // 23.3.3.3 WeakMap.prototype.get(key)\n get: function get(key) {\n if (isObject(key)) {\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, WEAK_MAP)).get(key);\n return data ? data[this._i] : undefined;\n }\n },\n // 23.3.3.5 WeakMap.prototype.set(key, value)\n set: function set(key, value) {\n return weak.def(validate(this, WEAK_MAP), key, value);\n }\n};\n\n// 23.3 WeakMap Objects\nvar $WeakMap = module.exports = __webpack_require__(142)(WEAK_MAP, wrapper, methods, weak, true, true);\n\n// IE11 WeakMap frozen keys fix\nif (NATIVE_WEAK_MAP && IS_IE11) {\n InternalMap = weak.getConstructor(wrapper, WEAK_MAP);\n assign(InternalMap.prototype, methods);\n meta.NEED = true;\n each(['delete', 'has', 'get', 'set'], function (key) {\n var proto = $WeakMap.prototype;\n var method = proto[key];\n redefine(proto, key, function (a, b) {\n // store frozen objects on internal weakmap shim\n if (isObject(a) && !isExtensible(a)) {\n if (!this._f) this._f = new InternalMap();\n var result = this._f[key](a, b);\n return key == 'set' ? this : result;\n // store all the rest on native weakmap\n } return method.call(this, a, b);\n });\n });\n}\n\n\n/***/ }),\n/* 262 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 19.1.2.1 Object.assign(target, source, ...)\nvar DESCRIPTORS = __webpack_require__(16);\nvar getKeys = __webpack_require__(56);\nvar gOPS = __webpack_require__(107);\nvar pIE = __webpack_require__(81);\nvar toObject = __webpack_require__(22);\nvar IObject = __webpack_require__(79);\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || __webpack_require__(12)(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || isEnum.call(S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n\n\n/***/ }),\n/* 263 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar strong = __webpack_require__(254);\nvar validate = __webpack_require__(67);\nvar SET = 'Set';\n\n// 23.2 Set Objects\nmodule.exports = __webpack_require__(142)(SET, function (get) {\n return function Set() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.2.3.1 Set.prototype.add(value)\n add: function add(value) {\n return strong.def(validate(this, SET), value = value === 0 ? 0 : value, value);\n }\n}, strong);\n\n\n/***/ }),\n/* 264 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.3.1 Object.assign(target, source)\nvar $export = __webpack_require__(3);\n\n$export($export.S + $export.F, 'Object', { assign: __webpack_require__(262) });\n\n\n/***/ }),\n/* 265 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// ECMAScript 6 symbols shim\nvar global = __webpack_require__(18);\nvar has = __webpack_require__(44);\nvar DESCRIPTORS = __webpack_require__(16);\nvar $export = __webpack_require__(3);\nvar redefine = __webpack_require__(31);\nvar META = __webpack_require__(53).KEY;\nvar $fails = __webpack_require__(12);\nvar shared = __webpack_require__(76);\nvar setToStringTag = __webpack_require__(106);\nvar uid = __webpack_require__(75);\nvar wks = __webpack_require__(17);\nvar wksExt = __webpack_require__(266);\nvar wksDefine = __webpack_require__(604);\nvar enumKeys = __webpack_require__(605);\nvar isArray = __webpack_require__(135);\nvar anObject = __webpack_require__(11);\nvar isObject = __webpack_require__(15);\nvar toObject = __webpack_require__(22);\nvar toIObject = __webpack_require__(34);\nvar toPrimitive = __webpack_require__(49);\nvar createDesc = __webpack_require__(74);\nvar _create = __webpack_require__(78);\nvar gOPNExt = __webpack_require__(217);\nvar $GOPD = __webpack_require__(59);\nvar $GOPS = __webpack_require__(107);\nvar $DP = __webpack_require__(21);\nvar $keys = __webpack_require__(56);\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function' && !!$GOPS.f;\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n return _create(dP({}, 'a', {\n get: function () { return dP(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (it, key, D) {\n var protoDesc = gOPD(ObjectProto, key);\n if (protoDesc) delete ObjectProto[key];\n dP(it, key, D);\n if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if (has(AllSymbols, key)) {\n if (!D.enumerable) {\n if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n D = _create(D, { enumerable: createDesc(0, false) });\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n anObject(it);\n var keys = enumKeys(P = toIObject(P));\n var i = 0;\n var l = keys.length;\n var key;\n while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P) {\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n it = toIObject(it);\n key = toPrimitive(key, true);\n if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n var D = gOPD(it, key);\n if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n var names = gOPN(toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n var IS_OP = it === ObjectProto;\n var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function (value) {\n if (this === ObjectProto) $set.call(OPSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n __webpack_require__(82).f = gOPNExt.f = $getOwnPropertyNames;\n __webpack_require__(81).f = $propertyIsEnumerable;\n $GOPS.f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !__webpack_require__(77)) {\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function (name) {\n return wrap(wks(name));\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function (key) {\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n },\n useSetter: function () { setter = true; },\n useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\nvar FAILS_ON_PRIMITIVES = $fails(function () { $GOPS.f(1); });\n\n$export($export.S + $export.F * FAILS_ON_PRIMITIVES, 'Object', {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return $GOPS.f(toObject(it));\n }\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it) {\n var args = [it];\n var i = 1;\n var replacer, $replacer;\n while (arguments.length > i) args.push(arguments[i++]);\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || __webpack_require__(43)($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n\n\n/***/ }),\n/* 266 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports.f = __webpack_require__(17);\n\n\n/***/ }),\n/* 267 */\n/***/ (function(module, exports) {\n\n// 7.2.9 SameValue(x, y)\nmodule.exports = Object.is || function is(x, y) {\n // eslint-disable-next-line no-self-compare\n return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;\n};\n\n\n/***/ }),\n/* 268 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar DESCRIPTORS = __webpack_require__(16);\nvar getKeys = __webpack_require__(56);\nvar toIObject = __webpack_require__(34);\nvar isEnum = __webpack_require__(81).f;\nmodule.exports = function (isEntries) {\n return function (it) {\n var O = toIObject(it);\n var keys = getKeys(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 || isEnum.call(O, key)) {\n result.push(isEntries ? [key, O[key]] : O[key]);\n }\n }\n return result;\n };\n};\n\n\n/***/ }),\n/* 269 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.1.2.3 Number.isInteger(number)\nvar isObject = __webpack_require__(15);\nvar floor = Math.floor;\nmodule.exports = function isInteger(it) {\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n\n\n/***/ }),\n/* 270 */\n/***/ (function(module, exports) {\n\n// 20.2.2.20 Math.log1p(x)\nmodule.exports = Math.log1p || function log1p(x) {\n return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : Math.log(1 + x);\n};\n\n\n/***/ }),\n/* 271 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar anObject = __webpack_require__(11);\nvar toLength = __webpack_require__(26);\nvar advanceStringIndex = __webpack_require__(151);\nvar regExpExec = __webpack_require__(110);\n\n// @@match logic\n__webpack_require__(111)('match', 1, function (defined, MATCH, $match, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = defined(this);\n var fn = regexp == undefined ? undefined : regexp[MATCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match\n function (regexp) {\n var res = maybeCallNative($match, regexp, this);\n if (res.done) return res.value;\n var rx = anObject(regexp);\n var S = String(this);\n if (!rx.global) return regExpExec(rx, S);\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = String(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n\n\n/***/ }),\n/* 272 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar regexpExec = __webpack_require__(152);\n__webpack_require__(3)({\n target: 'RegExp',\n proto: true,\n forced: regexpExec !== /./.exec\n}, {\n exec: regexpExec\n});\n\n\n/***/ }),\n/* 273 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar anObject = __webpack_require__(11);\nvar toObject = __webpack_require__(22);\nvar toLength = __webpack_require__(26);\nvar toInteger = __webpack_require__(58);\nvar advanceStringIndex = __webpack_require__(151);\nvar regExpExec = __webpack_require__(110);\nvar max = Math.max;\nvar min = Math.min;\nvar floor = Math.floor;\nvar SUBSTITUTION_SYMBOLS = /\\$([$&`']|\\d\\d?|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&`']|\\d\\d?)/g;\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// @@replace logic\n__webpack_require__(111)('replace', 2, function (defined, REPLACE, $replace, maybeCallNative) {\n return [\n // `String.prototype.replace` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = defined(this);\n var fn = searchValue == undefined ? undefined : searchValue[REPLACE];\n return fn !== undefined\n ? fn.call(searchValue, O, replaceValue)\n : $replace.call(String(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace\n function (regexp, replaceValue) {\n var res = maybeCallNative($replace, regexp, this, replaceValue);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var functionalReplace = typeof replaceValue === 'function';\n if (!functionalReplace) replaceValue = String(replaceValue);\n var global = rx.global;\n if (global) {\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n var results = [];\n while (true) {\n var result = regExpExec(rx, S);\n if (result === null) break;\n results.push(result);\n if (!global) break;\n var matchStr = String(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n var matched = String(result[0]);\n var position = max(min(toInteger(result.index), S.length), 0);\n var captures = [];\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = [matched].concat(captures, position, S);\n if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);\n var replacement = String(replaceValue.apply(undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += S.slice(nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n return accumulatedResult + S.slice(nextSourcePosition);\n }\n ];\n\n // https://tc39.github.io/ecma262/#sec-getsubstitution\n function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return $replace.call(replacement, symbols, function (match, ch) {\n var capture;\n switch (ch.charAt(0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return str.slice(0, position);\n case \"'\": return str.slice(tailPos);\n case '<':\n capture = namedCaptures[ch.slice(1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n }\n});\n\n\n/***/ }),\n/* 274 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar anObject = __webpack_require__(11);\nvar sameValue = __webpack_require__(267);\nvar regExpExec = __webpack_require__(110);\n\n// @@search logic\n__webpack_require__(111)('search', 1, function (defined, SEARCH, $search, maybeCallNative) {\n return [\n // `String.prototype.search` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.search\n function search(regexp) {\n var O = defined(this);\n var fn = regexp == undefined ? undefined : regexp[SEARCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));\n },\n // `RegExp.prototype[@@search]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@search\n function (regexp) {\n var res = maybeCallNative($search, regexp, this);\n if (res.done) return res.value;\n var rx = anObject(regexp);\n var S = String(this);\n var previousLastIndex = rx.lastIndex;\n if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;\n var result = regExpExec(rx, S);\n if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;\n return result === null ? -1 : result.index;\n }\n ];\n});\n\n\n/***/ }),\n/* 275 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar isRegExp = __webpack_require__(149);\nvar anObject = __webpack_require__(11);\nvar speciesConstructor = __webpack_require__(674);\nvar advanceStringIndex = __webpack_require__(151);\nvar toLength = __webpack_require__(26);\nvar callRegExpExec = __webpack_require__(110);\nvar regexpExec = __webpack_require__(152);\nvar fails = __webpack_require__(12);\nvar $min = Math.min;\nvar $push = [].push;\nvar $SPLIT = 'split';\nvar LENGTH = 'length';\nvar LAST_INDEX = 'lastIndex';\nvar MAX_UINT32 = 0xffffffff;\n\n// babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError\nvar SUPPORTS_Y = !fails(function () { RegExp(MAX_UINT32, 'y'); });\n\n// @@split logic\n__webpack_require__(111)('split', 2, function (defined, SPLIT, $split, maybeCallNative) {\n var internalSplit;\n if (\n 'abbc'[$SPLIT](/(b)*/)[1] == 'c' ||\n 'test'[$SPLIT](/(?:)/, -1)[LENGTH] != 4 ||\n 'ab'[$SPLIT](/(?:ab)*/)[LENGTH] != 2 ||\n '.'[$SPLIT](/(.?)(.?)/)[LENGTH] != 4 ||\n '.'[$SPLIT](/()()/)[LENGTH] > 1 ||\n ''[$SPLIT](/.?/)[LENGTH]\n ) {\n // based on es5-shim implementation, need to rework it\n internalSplit = function (separator, limit) {\n var string = String(this);\n if (separator === undefined && limit === 0) return [];\n // If `separator` is not a regex, use native split\n if (!isRegExp(separator)) return $split.call(string, separator, limit);\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.unicode ? 'u' : '') +\n (separator.sticky ? 'y' : '');\n var lastLastIndex = 0;\n var splitLimit = limit === undefined ? MAX_UINT32 : limit >>> 0;\n // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var match, lastIndex, lastLength;\n while (match = regexpExec.call(separatorCopy, string)) {\n lastIndex = separatorCopy[LAST_INDEX];\n if (lastIndex > lastLastIndex) {\n output.push(string.slice(lastLastIndex, match.index));\n if (match[LENGTH] > 1 && match.index < string[LENGTH]) $push.apply(output, match.slice(1));\n lastLength = match[0][LENGTH];\n lastLastIndex = lastIndex;\n if (output[LENGTH] >= splitLimit) break;\n }\n if (separatorCopy[LAST_INDEX] === match.index) separatorCopy[LAST_INDEX]++; // Avoid an infinite loop\n }\n if (lastLastIndex === string[LENGTH]) {\n if (lastLength || !separatorCopy.test('')) output.push('');\n } else output.push(string.slice(lastLastIndex));\n return output[LENGTH] > splitLimit ? output.slice(0, splitLimit) : output;\n };\n // Chakra, V8\n } else if ('0'[$SPLIT](undefined, 0)[LENGTH]) {\n internalSplit = function (separator, limit) {\n return separator === undefined && limit === 0 ? [] : $split.call(this, separator, limit);\n };\n } else {\n internalSplit = $split;\n }\n\n return [\n // `String.prototype.split` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.split\n function split(separator, limit) {\n var O = defined(this);\n var splitter = separator == undefined ? undefined : separator[SPLIT];\n return splitter !== undefined\n ? splitter.call(separator, O, limit)\n : internalSplit.call(String(O), separator, limit);\n },\n // `RegExp.prototype[@@split]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@split\n //\n // NOTE: This cannot be properly polyfilled in engines that don't support\n // the 'y' flag.\n function (regexp, limit) {\n var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== $split);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var C = speciesConstructor(rx, RegExp);\n\n var unicodeMatching = rx.unicode;\n var flags = (rx.ignoreCase ? 'i' : '') +\n (rx.multiline ? 'm' : '') +\n (rx.unicode ? 'u' : '') +\n (SUPPORTS_Y ? 'y' : 'g');\n\n // ^(? + rx + ) is needed, in combination with some S slicing, to\n // simulate the 'y' flag.\n var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags);\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];\n var p = 0;\n var q = 0;\n var A = [];\n while (q < S.length) {\n splitter.lastIndex = SUPPORTS_Y ? q : 0;\n var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q));\n var e;\n if (\n z === null ||\n (e = $min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p\n ) {\n q = advanceStringIndex(S, q, unicodeMatching);\n } else {\n A.push(S.slice(p, q));\n if (A.length === lim) return A;\n for (var i = 1; i <= z.length - 1; i++) {\n A.push(z[i]);\n if (A.length === lim) return A;\n }\n q = p = e;\n }\n }\n A.push(S.slice(p));\n return A;\n }\n ];\n});\n\n\n/***/ }),\n/* 276 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $iterators = __webpack_require__(153);\nvar getKeys = __webpack_require__(56);\nvar redefine = __webpack_require__(31);\nvar global = __webpack_require__(18);\nvar hide = __webpack_require__(43);\nvar Iterators = __webpack_require__(83);\nvar wks = __webpack_require__(17);\nvar ITERATOR = wks('iterator');\nvar TO_STRING_TAG = wks('toStringTag');\nvar ArrayValues = Iterators.Array;\n\nvar DOMIterables = {\n CSSRuleList: true, // TODO: Not spec compliant, should be false.\n CSSStyleDeclaration: false,\n CSSValueList: false,\n ClientRectList: false,\n DOMRectList: false,\n DOMStringList: false,\n DOMTokenList: true,\n DataTransferItemList: false,\n FileList: false,\n HTMLAllCollection: false,\n HTMLCollection: false,\n HTMLFormElement: false,\n HTMLSelectElement: false,\n MediaList: true, // TODO: Not spec compliant, should be false.\n MimeTypeArray: false,\n NamedNodeMap: false,\n NodeList: true,\n PaintRequestList: false,\n Plugin: false,\n PluginArray: false,\n SVGLengthList: false,\n SVGNumberList: false,\n SVGPathSegList: false,\n SVGPointList: false,\n SVGStringList: false,\n SVGTransformList: false,\n SourceBufferList: false,\n StyleSheetList: true, // TODO: Not spec compliant, should be false.\n TextTrackCueList: false,\n TextTrackList: false,\n TouchList: false\n};\n\nfor (var collections = getKeys(DOMIterables), i = 0; i < collections.length; i++) {\n var NAME = collections[i];\n var explicit = DOMIterables[NAME];\n var Collection = global[NAME];\n var proto = Collection && Collection.prototype;\n var key;\n if (proto) {\n if (!proto[ITERATOR]) hide(proto, ITERATOR, ArrayValues);\n if (!proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = ArrayValues;\n if (explicit) for (key in $iterators) if (!proto[key]) redefine(proto, key, $iterators[key], true);\n }\n}\n\n\n/***/ }),\n/* 277 */,\n/* 278 */,\n/* 279 */,\n/* 280 */,\n/* 281 */,\n/* 282 */,\n/* 283 */,\n/* 284 */,\n/* 285 */,\n/* 286 */,\n/* 287 */,\n/* 288 */,\n/* 289 */,\n/* 290 */,\n/* 291 */,\n/* 292 */,\n/* 293 */,\n/* 294 */,\n/* 295 */,\n/* 296 */,\n/* 297 */,\n/* 298 */,\n/* 299 */,\n/* 300 */,\n/* 301 */,\n/* 302 */,\n/* 303 */,\n/* 304 */,\n/* 305 */,\n/* 306 */,\n/* 307 */,\n/* 308 */,\n/* 309 */,\n/* 310 */,\n/* 311 */,\n/* 312 */,\n/* 313 */,\n/* 314 */,\n/* 315 */,\n/* 316 */,\n/* 317 */,\n/* 318 */,\n/* 319 */,\n/* 320 */,\n/* 321 */,\n/* 322 */,\n/* 323 */,\n/* 324 */,\n/* 325 */,\n/* 326 */,\n/* 327 */,\n/* 328 */,\n/* 329 */,\n/* 330 */,\n/* 331 */,\n/* 332 */,\n/* 333 */,\n/* 334 */,\n/* 335 */,\n/* 336 */,\n/* 337 */,\n/* 338 */,\n/* 339 */,\n/* 340 */,\n/* 341 */,\n/* 342 */,\n/* 343 */,\n/* 344 */,\n/* 345 */,\n/* 346 */,\n/* 347 */,\n/* 348 */,\n/* 349 */,\n/* 350 */,\n/* 351 */,\n/* 352 */,\n/* 353 */,\n/* 354 */,\n/* 355 */,\n/* 356 */,\n/* 357 */,\n/* 358 */,\n/* 359 */,\n/* 360 */,\n/* 361 */,\n/* 362 */,\n/* 363 */,\n/* 364 */,\n/* 365 */,\n/* 366 */,\n/* 367 */,\n/* 368 */,\n/* 369 */,\n/* 370 */,\n/* 371 */,\n/* 372 */,\n/* 373 */,\n/* 374 */,\n/* 375 */,\n/* 376 */,\n/* 377 */,\n/* 378 */,\n/* 379 */,\n/* 380 */,\n/* 381 */,\n/* 382 */,\n/* 383 */,\n/* 384 */,\n/* 385 */,\n/* 386 */,\n/* 387 */,\n/* 388 */,\n/* 389 */,\n/* 390 */,\n/* 391 */,\n/* 392 */,\n/* 393 */,\n/* 394 */,\n/* 395 */,\n/* 396 */,\n/* 397 */,\n/* 398 */,\n/* 399 */,\n/* 400 */,\n/* 401 */,\n/* 402 */,\n/* 403 */,\n/* 404 */,\n/* 405 */,\n/* 406 */,\n/* 407 */,\n/* 408 */,\n/* 409 */,\n/* 410 */,\n/* 411 */,\n/* 412 */,\n/* 413 */,\n/* 414 */,\n/* 415 */,\n/* 416 */,\n/* 417 */,\n/* 418 */,\n/* 419 */,\n/* 420 */,\n/* 421 */,\n/* 422 */,\n/* 423 */,\n/* 424 */,\n/* 425 */,\n/* 426 */,\n/* 427 */,\n/* 428 */,\n/* 429 */,\n/* 430 */,\n/* 431 */,\n/* 432 */,\n/* 433 */,\n/* 434 */,\n/* 435 */,\n/* 436 */,\n/* 437 */,\n/* 438 */,\n/* 439 */,\n/* 440 */,\n/* 441 */,\n/* 442 */,\n/* 443 */,\n/* 444 */,\n/* 445 */,\n/* 446 */,\n/* 447 */,\n/* 448 */,\n/* 449 */,\n/* 450 */,\n/* 451 */,\n/* 452 */,\n/* 453 */,\n/* 454 */,\n/* 455 */,\n/* 456 */,\n/* 457 */,\n/* 458 */,\n/* 459 */,\n/* 460 */,\n/* 461 */,\n/* 462 */,\n/* 463 */,\n/* 464 */,\n/* 465 */,\n/* 466 */,\n/* 467 */,\n/* 468 */,\n/* 469 */,\n/* 470 */,\n/* 471 */,\n/* 472 */,\n/* 473 */,\n/* 474 */,\n/* 475 */,\n/* 476 */,\n/* 477 */,\n/* 478 */,\n/* 479 */,\n/* 480 */,\n/* 481 */,\n/* 482 */,\n/* 483 */,\n/* 484 */,\n/* 485 */,\n/* 486 */,\n/* 487 */,\n/* 488 */,\n/* 489 */,\n/* 490 */,\n/* 491 */,\n/* 492 */,\n/* 493 */,\n/* 494 */,\n/* 495 */,\n/* 496 */,\n/* 497 */,\n/* 498 */,\n/* 499 */,\n/* 500 */,\n/* 501 */,\n/* 502 */,\n/* 503 */,\n/* 504 */,\n/* 505 */,\n/* 506 */,\n/* 507 */,\n/* 508 */,\n/* 509 */,\n/* 510 */,\n/* 511 */,\n/* 512 */,\n/* 513 */,\n/* 514 */,\n/* 515 */,\n/* 516 */,\n/* 517 */,\n/* 518 */,\n/* 519 */,\n/* 520 */,\n/* 521 */,\n/* 522 */,\n/* 523 */,\n/* 524 */,\n/* 525 */,\n/* 526 */,\n/* 527 */,\n/* 528 */,\n/* 529 */,\n/* 530 */,\n/* 531 */,\n/* 532 */,\n/* 533 */,\n/* 534 */,\n/* 535 */,\n/* 536 */,\n/* 537 */,\n/* 538 */,\n/* 539 */,\n/* 540 */,\n/* 541 */,\n/* 542 */,\n/* 543 */,\n/* 544 */,\n/* 545 */,\n/* 546 */,\n/* 547 */,\n/* 548 */,\n/* 549 */,\n/* 550 */,\n/* 551 */,\n/* 552 */,\n/* 553 */,\n/* 554 */,\n/* 555 */,\n/* 556 */,\n/* 557 */,\n/* 558 */,\n/* 559 */,\n/* 560 */,\n/* 561 */,\n/* 562 */,\n/* 563 */,\n/* 564 */,\n/* 565 */,\n/* 566 */,\n/* 567 */,\n/* 568 */,\n/* 569 */,\n/* 570 */,\n/* 571 */,\n/* 572 */,\n/* 573 */,\n/* 574 */,\n/* 575 */,\n/* 576 */,\n/* 577 */,\n/* 578 */,\n/* 579 */,\n/* 580 */,\n/* 581 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__webpack_require__(582);\r\n__webpack_require__(589);\r\n/** IE9, IE10 and IE11 requires all of the following polyfills. **/\r\n__webpack_require__(602);\r\n__webpack_require__(603);\r\n__webpack_require__(606);\r\n__webpack_require__(609);\r\n__webpack_require__(618);\r\n__webpack_require__(621);\r\n__webpack_require__(622);\r\n__webpack_require__(623);\r\n__webpack_require__(634);\r\n__webpack_require__(653);\r\n__webpack_require__(675);\r\n__webpack_require__(679);\r\n__webpack_require__(689);\r\n__webpack_require__(691);\r\n__webpack_require__(692);\r\n__webpack_require__(693);\r\n__webpack_require__(694);\r\n__webpack_require__(86);\r\n// if (process.env.ENV === 'production') {\r\n// // Production\r\n// } else {\r\n// // Development and test\r\n// Error['stackTraceLimit'] = Infinity;\r\n// require('zone.js/dist/long-stack-trace-zone');\r\n// }\r\n\n\n/***/ }),\n/* 582 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(204);\n__webpack_require__(211);\n__webpack_require__(212);\n__webpack_require__(213);\n__webpack_require__(214);\n__webpack_require__(215);\n__webpack_require__(216);\n__webpack_require__(218);\n__webpack_require__(219);\n__webpack_require__(220);\n__webpack_require__(221);\n__webpack_require__(222);\n__webpack_require__(223);\n__webpack_require__(224);\n__webpack_require__(225);\n__webpack_require__(226);\n__webpack_require__(227);\n__webpack_require__(228);\n__webpack_require__(229);\n__webpack_require__(230);\n__webpack_require__(231);\n__webpack_require__(232);\n__webpack_require__(233);\n__webpack_require__(234);\n__webpack_require__(236);\n__webpack_require__(237);\n__webpack_require__(238);\n__webpack_require__(239);\n__webpack_require__(242);\n__webpack_require__(243);\n__webpack_require__(244);\n__webpack_require__(245);\n__webpack_require__(246);\n__webpack_require__(248);\n__webpack_require__(250);\n__webpack_require__(251);\nmodule.exports = __webpack_require__(14);\n\n\n/***/ }),\n/* 583 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(76)('native-function-to-string', Function.toString);\n\n\n/***/ }),\n/* 584 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar aFunction = __webpack_require__(50);\nvar isObject = __webpack_require__(15);\nvar invoke = __webpack_require__(585);\nvar arraySlice = [].slice;\nvar factories = {};\n\nvar construct = function (F, len, args) {\n if (!(len in factories)) {\n for (var n = [], i = 0; i < len; i++) n[i] = 'a[' + i + ']';\n // eslint-disable-next-line no-new-func\n factories[len] = Function('F,a', 'return new F(' + n.join(',') + ')');\n } return factories[len](F, args);\n};\n\nmodule.exports = Function.bind || function bind(that /* , ...args */) {\n var fn = aFunction(this);\n var partArgs = arraySlice.call(arguments, 1);\n var bound = function (/* args... */) {\n var args = partArgs.concat(arraySlice.call(arguments));\n return this instanceof bound ? construct(fn, args.length, args) : invoke(fn, args, that);\n };\n if (isObject(fn.prototype)) bound.prototype = fn.prototype;\n return bound;\n};\n\n\n/***/ }),\n/* 585 */\n/***/ (function(module, exports) {\n\n// fast apply, http://jsperf.lnkit.com/fast-apply/5\nmodule.exports = function (fn, args, that) {\n var un = that === undefined;\n switch (args.length) {\n case 0: return un ? fn()\n : fn.call(that);\n case 1: return un ? fn(args[0])\n : fn.call(that, args[0]);\n case 2: return un ? fn(args[0], args[1])\n : fn.call(that, args[0], args[1]);\n case 3: return un ? fn(args[0], args[1], args[2])\n : fn.call(that, args[0], args[1], args[2]);\n case 4: return un ? fn(args[0], args[1], args[2], args[3])\n : fn.call(that, args[0], args[1], args[2], args[3]);\n } return fn.apply(that, args);\n};\n\n\n/***/ }),\n/* 586 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 9.4.2.3 ArraySpeciesCreate(originalArray, length)\nvar speciesConstructor = __webpack_require__(587);\n\nmodule.exports = function (original, length) {\n return new (speciesConstructor(original))(length);\n};\n\n\n/***/ }),\n/* 587 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(15);\nvar isArray = __webpack_require__(135);\nvar SPECIES = __webpack_require__(17)('species');\n\nmodule.exports = function (original) {\n var C;\n if (isArray(original)) {\n C = original.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? Array : C;\n};\n\n\n/***/ }),\n/* 588 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()\nvar fails = __webpack_require__(12);\nvar getTime = Date.prototype.getTime;\nvar $toISOString = Date.prototype.toISOString;\n\nvar lz = function (num) {\n return num > 9 ? num : '0' + num;\n};\n\n// PhantomJS / old WebKit has a broken implementations\nmodule.exports = (fails(function () {\n return $toISOString.call(new Date(-5e13 - 1)) != '0385-07-25T07:06:39.999Z';\n}) || !fails(function () {\n $toISOString.call(new Date(NaN));\n})) ? function toISOString() {\n if (!isFinite(getTime.call(this))) throw RangeError('Invalid time value');\n var d = this;\n var y = d.getUTCFullYear();\n var m = d.getUTCMilliseconds();\n var s = y < 0 ? '-' : y > 9999 ? '+' : '';\n return s + ('00000' + Math.abs(y)).slice(s ? -6 : -4) +\n '-' + lz(d.getUTCMonth() + 1) + '-' + lz(d.getUTCDate()) +\n 'T' + lz(d.getUTCHours()) + ':' + lz(d.getUTCMinutes()) +\n ':' + lz(d.getUTCSeconds()) + '.' + (m > 99 ? m : '0' + lz(m)) + 'Z';\n} : $toISOString;\n\n\n/***/ }),\n/* 589 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(590);\n__webpack_require__(593);\n__webpack_require__(594);\n__webpack_require__(595);\n__webpack_require__(597);\n__webpack_require__(598);\n__webpack_require__(599);\n__webpack_require__(600);\n__webpack_require__(601);\nmodule.exports = __webpack_require__(14).Reflect;\n\n\n/***/ }),\n/* 590 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar metadata = __webpack_require__(46);\nvar anObject = __webpack_require__(11);\nvar toMetaKey = metadata.key;\nvar ordinaryDefineOwnMetadata = metadata.set;\n\nmetadata.exp({ defineMetadata: function defineMetadata(metadataKey, metadataValue, target, targetKey) {\n ordinaryDefineOwnMetadata(metadataKey, metadataValue, anObject(target), toMetaKey(targetKey));\n} });\n\n\n/***/ }),\n/* 591 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar create = __webpack_require__(78);\nvar descriptor = __webpack_require__(74);\nvar setToStringTag = __webpack_require__(106);\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\n__webpack_require__(43)(IteratorPrototype, __webpack_require__(17)('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n/***/ }),\n/* 592 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar redefineAll = __webpack_require__(137);\nvar getWeak = __webpack_require__(53).getWeak;\nvar anObject = __webpack_require__(11);\nvar isObject = __webpack_require__(15);\nvar anInstance = __webpack_require__(138);\nvar forOf = __webpack_require__(105);\nvar createArrayMethod = __webpack_require__(45);\nvar $has = __webpack_require__(44);\nvar validate = __webpack_require__(67);\nvar arrayFind = createArrayMethod(5);\nvar arrayFindIndex = createArrayMethod(6);\nvar id = 0;\n\n// fallback for uncaught frozen keys\nvar uncaughtFrozenStore = function (that) {\n return that._l || (that._l = new UncaughtFrozenStore());\n};\nvar UncaughtFrozenStore = function () {\n this.a = [];\n};\nvar findUncaughtFrozen = function (store, key) {\n return arrayFind(store.a, function (it) {\n return it[0] === key;\n });\n};\nUncaughtFrozenStore.prototype = {\n get: function (key) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) return entry[1];\n },\n has: function (key) {\n return !!findUncaughtFrozen(this, key);\n },\n set: function (key, value) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) entry[1] = value;\n else this.a.push([key, value]);\n },\n 'delete': function (key) {\n var index = arrayFindIndex(this.a, function (it) {\n return it[0] === key;\n });\n if (~index) this.a.splice(index, 1);\n return !!~index;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, NAME, '_i');\n that._t = NAME; // collection type\n that._i = id++; // collection id\n that._l = undefined; // leak store for uncaught frozen objects\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.3.3.2 WeakMap.prototype.delete(key)\n // 23.4.3.3 WeakSet.prototype.delete(value)\n 'delete': function (key) {\n if (!isObject(key)) return false;\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, NAME))['delete'](key);\n return data && $has(data, this._i) && delete data[this._i];\n },\n // 23.3.3.4 WeakMap.prototype.has(key)\n // 23.4.3.4 WeakSet.prototype.has(value)\n has: function has(key) {\n if (!isObject(key)) return false;\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, NAME)).has(key);\n return data && $has(data, this._i);\n }\n });\n return C;\n },\n def: function (that, key, value) {\n var data = getWeak(anObject(key), true);\n if (data === true) uncaughtFrozenStore(that).set(key, value);\n else data[that._i] = value;\n return that;\n },\n ufstore: uncaughtFrozenStore\n};\n\n\n/***/ }),\n/* 593 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar metadata = __webpack_require__(46);\nvar anObject = __webpack_require__(11);\nvar toMetaKey = metadata.key;\nvar getOrCreateMetadataMap = metadata.map;\nvar store = metadata.store;\n\nmetadata.exp({ deleteMetadata: function deleteMetadata(metadataKey, target /* , targetKey */) {\n var targetKey = arguments.length < 3 ? undefined : toMetaKey(arguments[2]);\n var metadataMap = getOrCreateMetadataMap(anObject(target), targetKey, false);\n if (metadataMap === undefined || !metadataMap['delete'](metadataKey)) return false;\n if (metadataMap.size) return true;\n var targetMetadata = store.get(target);\n targetMetadata['delete'](targetKey);\n return !!targetMetadata.size || store['delete'](target);\n} });\n\n\n/***/ }),\n/* 594 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar metadata = __webpack_require__(46);\nvar anObject = __webpack_require__(11);\nvar getPrototypeOf = __webpack_require__(52);\nvar ordinaryHasOwnMetadata = metadata.has;\nvar ordinaryGetOwnMetadata = metadata.get;\nvar toMetaKey = metadata.key;\n\nvar ordinaryGetMetadata = function (MetadataKey, O, P) {\n var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);\n if (hasOwn) return ordinaryGetOwnMetadata(MetadataKey, O, P);\n var parent = getPrototypeOf(O);\n return parent !== null ? ordinaryGetMetadata(MetadataKey, parent, P) : undefined;\n};\n\nmetadata.exp({ getMetadata: function getMetadata(metadataKey, target /* , targetKey */) {\n return ordinaryGetMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n} });\n\n\n/***/ }),\n/* 595 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Set = __webpack_require__(263);\nvar from = __webpack_require__(596);\nvar metadata = __webpack_require__(46);\nvar anObject = __webpack_require__(11);\nvar getPrototypeOf = __webpack_require__(52);\nvar ordinaryOwnMetadataKeys = metadata.keys;\nvar toMetaKey = metadata.key;\n\nvar ordinaryMetadataKeys = function (O, P) {\n var oKeys = ordinaryOwnMetadataKeys(O, P);\n var parent = getPrototypeOf(O);\n if (parent === null) return oKeys;\n var pKeys = ordinaryMetadataKeys(parent, P);\n return pKeys.length ? oKeys.length ? from(new Set(oKeys.concat(pKeys))) : pKeys : oKeys;\n};\n\nmetadata.exp({ getMetadataKeys: function getMetadataKeys(target /* , targetKey */) {\n return ordinaryMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1]));\n} });\n\n\n/***/ }),\n/* 596 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar forOf = __webpack_require__(105);\n\nmodule.exports = function (iter, ITERATOR) {\n var result = [];\n forOf(iter, false, result.push, result, ITERATOR);\n return result;\n};\n\n\n/***/ }),\n/* 597 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar metadata = __webpack_require__(46);\nvar anObject = __webpack_require__(11);\nvar ordinaryGetOwnMetadata = metadata.get;\nvar toMetaKey = metadata.key;\n\nmetadata.exp({ getOwnMetadata: function getOwnMetadata(metadataKey, target /* , targetKey */) {\n return ordinaryGetOwnMetadata(metadataKey, anObject(target)\n , arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n} });\n\n\n/***/ }),\n/* 598 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar metadata = __webpack_require__(46);\nvar anObject = __webpack_require__(11);\nvar ordinaryOwnMetadataKeys = metadata.keys;\nvar toMetaKey = metadata.key;\n\nmetadata.exp({ getOwnMetadataKeys: function getOwnMetadataKeys(target /* , targetKey */) {\n return ordinaryOwnMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1]));\n} });\n\n\n/***/ }),\n/* 599 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar metadata = __webpack_require__(46);\nvar anObject = __webpack_require__(11);\nvar getPrototypeOf = __webpack_require__(52);\nvar ordinaryHasOwnMetadata = metadata.has;\nvar toMetaKey = metadata.key;\n\nvar ordinaryHasMetadata = function (MetadataKey, O, P) {\n var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);\n if (hasOwn) return true;\n var parent = getPrototypeOf(O);\n return parent !== null ? ordinaryHasMetadata(MetadataKey, parent, P) : false;\n};\n\nmetadata.exp({ hasMetadata: function hasMetadata(metadataKey, target /* , targetKey */) {\n return ordinaryHasMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n} });\n\n\n/***/ }),\n/* 600 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar metadata = __webpack_require__(46);\nvar anObject = __webpack_require__(11);\nvar ordinaryHasOwnMetadata = metadata.has;\nvar toMetaKey = metadata.key;\n\nmetadata.exp({ hasOwnMetadata: function hasOwnMetadata(metadataKey, target /* , targetKey */) {\n return ordinaryHasOwnMetadata(metadataKey, anObject(target)\n , arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n} });\n\n\n/***/ }),\n/* 601 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $metadata = __webpack_require__(46);\nvar anObject = __webpack_require__(11);\nvar aFunction = __webpack_require__(50);\nvar toMetaKey = $metadata.key;\nvar ordinaryDefineOwnMetadata = $metadata.set;\n\n$metadata.exp({ metadata: function metadata(metadataKey, metadataValue) {\n return function decorator(target, targetKey) {\n ordinaryDefineOwnMetadata(\n metadataKey, metadataValue,\n (targetKey !== undefined ? anObject : aFunction)(target),\n toMetaKey(targetKey)\n );\n };\n} });\n\n\n/***/ }),\n/* 602 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(264);\nmodule.exports = __webpack_require__(14).Object.assign;\n\n\n/***/ }),\n/* 603 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(265);\n__webpack_require__(84);\nmodule.exports = __webpack_require__(14).Symbol;\n\n\n/***/ }),\n/* 604 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(18);\nvar core = __webpack_require__(14);\nvar LIBRARY = __webpack_require__(77);\nvar wksExt = __webpack_require__(266);\nvar defineProperty = __webpack_require__(21).f;\nmodule.exports = function (name) {\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n\n\n/***/ }),\n/* 605 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// all enumerable object keys, includes symbols\nvar getKeys = __webpack_require__(56);\nvar gOPS = __webpack_require__(107);\nvar pIE = __webpack_require__(81);\nmodule.exports = function (it) {\n var result = getKeys(it);\n var getSymbols = gOPS.f;\n if (getSymbols) {\n var symbols = getSymbols(it);\n var isEnum = pIE.f;\n var i = 0;\n var key;\n while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n } return result;\n};\n\n\n/***/ }),\n/* 606 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(265);\n__webpack_require__(204);\n__webpack_require__(211);\n__webpack_require__(212);\n__webpack_require__(213);\n__webpack_require__(214);\n__webpack_require__(215);\n__webpack_require__(216);\n__webpack_require__(218);\n__webpack_require__(219);\n__webpack_require__(220);\n__webpack_require__(221);\n__webpack_require__(222);\n__webpack_require__(223);\n__webpack_require__(264);\n__webpack_require__(607);\n__webpack_require__(608);\n__webpack_require__(84);\n\nmodule.exports = __webpack_require__(14).Object;\n\n\n/***/ }),\n/* 607 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.3.10 Object.is(value1, value2)\nvar $export = __webpack_require__(3);\n$export($export.S, 'Object', { is: __webpack_require__(267) });\n\n\n/***/ }),\n/* 608 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = __webpack_require__(3);\n$export($export.S, 'Object', { setPrototypeOf: __webpack_require__(260).set });\n\n\n/***/ }),\n/* 609 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(610);\n__webpack_require__(612);\n__webpack_require__(613);\n__webpack_require__(614);\n__webpack_require__(615);\n__webpack_require__(616);\n__webpack_require__(617);\nmodule.exports = __webpack_require__(14).Object;\n\n\n/***/ }),\n/* 610 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://github.com/tc39/proposal-object-getownpropertydescriptors\nvar $export = __webpack_require__(3);\nvar ownKeys = __webpack_require__(611);\nvar toIObject = __webpack_require__(34);\nvar gOPD = __webpack_require__(59);\nvar createProperty = __webpack_require__(144);\n\n$export($export.S, 'Object', {\n getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {\n var O = toIObject(object);\n var getDesc = gOPD.f;\n var keys = ownKeys(O);\n var result = {};\n var i = 0;\n var key, desc;\n while (keys.length > i) {\n desc = getDesc(O, key = keys[i++]);\n if (desc !== undefined) createProperty(result, key, desc);\n }\n return result;\n }\n});\n\n\n/***/ }),\n/* 611 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// all object keys, includes non-enumerable and symbols\nvar gOPN = __webpack_require__(82);\nvar gOPS = __webpack_require__(107);\nvar anObject = __webpack_require__(11);\nvar Reflect = __webpack_require__(18).Reflect;\nmodule.exports = Reflect && Reflect.ownKeys || function ownKeys(it) {\n var keys = gOPN.f(anObject(it));\n var getSymbols = gOPS.f;\n return getSymbols ? keys.concat(getSymbols(it)) : keys;\n};\n\n\n/***/ }),\n/* 612 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://github.com/tc39/proposal-object-values-entries\nvar $export = __webpack_require__(3);\nvar $values = __webpack_require__(268)(false);\n\n$export($export.S, 'Object', {\n values: function values(it) {\n return $values(it);\n }\n});\n\n\n/***/ }),\n/* 613 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://github.com/tc39/proposal-object-values-entries\nvar $export = __webpack_require__(3);\nvar $entries = __webpack_require__(268)(true);\n\n$export($export.S, 'Object', {\n entries: function entries(it) {\n return $entries(it);\n }\n});\n\n\n/***/ }),\n/* 614 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(3);\nvar toObject = __webpack_require__(22);\nvar aFunction = __webpack_require__(50);\nvar $defineProperty = __webpack_require__(21);\n\n// B.2.2.2 Object.prototype.__defineGetter__(P, getter)\n__webpack_require__(16) && $export($export.P + __webpack_require__(108), 'Object', {\n __defineGetter__: function __defineGetter__(P, getter) {\n $defineProperty.f(toObject(this), P, { get: aFunction(getter), enumerable: true, configurable: true });\n }\n});\n\n\n/***/ }),\n/* 615 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(3);\nvar toObject = __webpack_require__(22);\nvar aFunction = __webpack_require__(50);\nvar $defineProperty = __webpack_require__(21);\n\n// B.2.2.3 Object.prototype.__defineSetter__(P, setter)\n__webpack_require__(16) && $export($export.P + __webpack_require__(108), 'Object', {\n __defineSetter__: function __defineSetter__(P, setter) {\n $defineProperty.f(toObject(this), P, { set: aFunction(setter), enumerable: true, configurable: true });\n }\n});\n\n\n/***/ }),\n/* 616 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(3);\nvar toObject = __webpack_require__(22);\nvar toPrimitive = __webpack_require__(49);\nvar getPrototypeOf = __webpack_require__(52);\nvar getOwnPropertyDescriptor = __webpack_require__(59).f;\n\n// B.2.2.4 Object.prototype.__lookupGetter__(P)\n__webpack_require__(16) && $export($export.P + __webpack_require__(108), 'Object', {\n __lookupGetter__: function __lookupGetter__(P) {\n var O = toObject(this);\n var K = toPrimitive(P, true);\n var D;\n do {\n if (D = getOwnPropertyDescriptor(O, K)) return D.get;\n } while (O = getPrototypeOf(O));\n }\n});\n\n\n/***/ }),\n/* 617 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(3);\nvar toObject = __webpack_require__(22);\nvar toPrimitive = __webpack_require__(49);\nvar getPrototypeOf = __webpack_require__(52);\nvar getOwnPropertyDescriptor = __webpack_require__(59).f;\n\n// B.2.2.5 Object.prototype.__lookupSetter__(P)\n__webpack_require__(16) && $export($export.P + __webpack_require__(108), 'Object', {\n __lookupSetter__: function __lookupSetter__(P) {\n var O = toObject(this);\n var K = toPrimitive(P, true);\n var D;\n do {\n if (D = getOwnPropertyDescriptor(O, K)) return D.set;\n } while (O = getPrototypeOf(O));\n }\n});\n\n\n/***/ }),\n/* 618 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(224);\n__webpack_require__(619);\n__webpack_require__(620);\nmodule.exports = __webpack_require__(14).Function;\n\n\n/***/ }),\n/* 619 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(21).f;\nvar FProto = Function.prototype;\nvar nameRE = /^\\s*function ([^ (]*)/;\nvar NAME = 'name';\n\n// 19.2.4.2 name\nNAME in FProto || __webpack_require__(16) && dP(FProto, NAME, {\n configurable: true,\n get: function () {\n try {\n return ('' + this).match(nameRE)[1];\n } catch (e) {\n return '';\n }\n }\n});\n\n\n/***/ }),\n/* 620 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar isObject = __webpack_require__(15);\nvar getPrototypeOf = __webpack_require__(52);\nvar HAS_INSTANCE = __webpack_require__(17)('hasInstance');\nvar FunctionProto = Function.prototype;\n// 19.2.3.6 Function.prototype[@@hasInstance](V)\nif (!(HAS_INSTANCE in FunctionProto)) __webpack_require__(21).f(FunctionProto, HAS_INSTANCE, { value: function (O) {\n if (typeof this != 'function' || !isObject(O)) return false;\n if (!isObject(this.prototype)) return O instanceof this;\n // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this:\n while (O = getPrototypeOf(O)) if (this.prototype === O) return true;\n return false;\n} });\n\n\n/***/ }),\n/* 621 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(246);\nmodule.exports = __webpack_require__(14).parseInt;\n\n\n/***/ }),\n/* 622 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(248);\nmodule.exports = __webpack_require__(14).parseFloat;\n\n\n/***/ }),\n/* 623 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(624);\n__webpack_require__(239);\n__webpack_require__(242);\n__webpack_require__(625);\n__webpack_require__(626);\n__webpack_require__(627);\n__webpack_require__(628);\n__webpack_require__(629);\n__webpack_require__(630);\n__webpack_require__(631);\n__webpack_require__(632);\n__webpack_require__(633);\nmodule.exports = __webpack_require__(14).Number;\n\n\n/***/ }),\n/* 624 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar global = __webpack_require__(18);\nvar has = __webpack_require__(44);\nvar cof = __webpack_require__(57);\nvar inheritIfRequired = __webpack_require__(143);\nvar toPrimitive = __webpack_require__(49);\nvar fails = __webpack_require__(12);\nvar gOPN = __webpack_require__(82).f;\nvar gOPD = __webpack_require__(59).f;\nvar dP = __webpack_require__(21).f;\nvar $trim = __webpack_require__(103).trim;\nvar NUMBER = 'Number';\nvar $Number = global[NUMBER];\nvar Base = $Number;\nvar proto = $Number.prototype;\n// Opera ~12 has broken Object#toString\nvar BROKEN_COF = cof(__webpack_require__(78)(proto)) == NUMBER;\nvar TRIM = 'trim' in String.prototype;\n\n// 7.1.3 ToNumber(argument)\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, false);\n if (typeof it == 'string' && it.length > 2) {\n it = TRIM ? it.trim() : $trim(it, 3);\n var first = it.charCodeAt(0);\n var third, radix, maxCode;\n if (first === 43 || first === 45) {\n third = it.charCodeAt(2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (it.charCodeAt(1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i\n default: return +it;\n }\n for (var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++) {\n code = digits.charCodeAt(i);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\nif (!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')) {\n $Number = function Number(value) {\n var it = arguments.length < 1 ? 0 : value;\n var that = this;\n return that instanceof $Number\n // check on 1..constructor(foo) case\n && (BROKEN_COF ? fails(function () { proto.valueOf.call(that); }) : cof(that) != NUMBER)\n ? inheritIfRequired(new Base(toNumber(it)), that, $Number) : toNumber(it);\n };\n for (var keys = __webpack_require__(16) ? gOPN(Base) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES6 (in case, if modules with ES6 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (has(Base, key = keys[j]) && !has($Number, key)) {\n dP($Number, key, gOPD(Base, key));\n }\n }\n $Number.prototype = proto;\n proto.constructor = $Number;\n __webpack_require__(31)(global, NUMBER, $Number);\n}\n\n\n/***/ }),\n/* 625 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.1.2.1 Number.EPSILON\nvar $export = __webpack_require__(3);\n\n$export($export.S, 'Number', { EPSILON: Math.pow(2, -52) });\n\n\n/***/ }),\n/* 626 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.1.2.2 Number.isFinite(number)\nvar $export = __webpack_require__(3);\nvar _isFinite = __webpack_require__(18).isFinite;\n\n$export($export.S, 'Number', {\n isFinite: function isFinite(it) {\n return typeof it == 'number' && _isFinite(it);\n }\n});\n\n\n/***/ }),\n/* 627 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.1.2.3 Number.isInteger(number)\nvar $export = __webpack_require__(3);\n\n$export($export.S, 'Number', { isInteger: __webpack_require__(269) });\n\n\n/***/ }),\n/* 628 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.1.2.4 Number.isNaN(number)\nvar $export = __webpack_require__(3);\n\n$export($export.S, 'Number', {\n isNaN: function isNaN(number) {\n // eslint-disable-next-line no-self-compare\n return number != number;\n }\n});\n\n\n/***/ }),\n/* 629 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.1.2.5 Number.isSafeInteger(number)\nvar $export = __webpack_require__(3);\nvar isInteger = __webpack_require__(269);\nvar abs = Math.abs;\n\n$export($export.S, 'Number', {\n isSafeInteger: function isSafeInteger(number) {\n return isInteger(number) && abs(number) <= 0x1fffffffffffff;\n }\n});\n\n\n/***/ }),\n/* 630 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.1.2.6 Number.MAX_SAFE_INTEGER\nvar $export = __webpack_require__(3);\n\n$export($export.S, 'Number', { MAX_SAFE_INTEGER: 0x1fffffffffffff });\n\n\n/***/ }),\n/* 631 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.1.2.10 Number.MIN_SAFE_INTEGER\nvar $export = __webpack_require__(3);\n\n$export($export.S, 'Number', { MIN_SAFE_INTEGER: -0x1fffffffffffff });\n\n\n/***/ }),\n/* 632 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(3);\nvar $parseFloat = __webpack_require__(249);\n// 20.1.2.12 Number.parseFloat(string)\n$export($export.S + $export.F * (Number.parseFloat != $parseFloat), 'Number', { parseFloat: $parseFloat });\n\n\n/***/ }),\n/* 633 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(3);\nvar $parseInt = __webpack_require__(247);\n// 20.1.2.13 Number.parseInt(string, radix)\n$export($export.S + $export.F * (Number.parseInt != $parseInt), 'Number', { parseInt: $parseInt });\n\n\n/***/ }),\n/* 634 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(635);\n__webpack_require__(636);\n__webpack_require__(637);\n__webpack_require__(638);\n__webpack_require__(639);\n__webpack_require__(640);\n__webpack_require__(641);\n__webpack_require__(642);\n__webpack_require__(644);\n__webpack_require__(645);\n__webpack_require__(646);\n__webpack_require__(647);\n__webpack_require__(648);\n__webpack_require__(649);\n__webpack_require__(650);\n__webpack_require__(651);\n__webpack_require__(652);\nmodule.exports = __webpack_require__(14).Math;\n\n\n/***/ }),\n/* 635 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.3 Math.acosh(x)\nvar $export = __webpack_require__(3);\nvar log1p = __webpack_require__(270);\nvar sqrt = Math.sqrt;\nvar $acosh = Math.acosh;\n\n$export($export.S + $export.F * !($acosh\n // V8 bug: https://code.google.com/p/v8/issues/detail?id=3509\n && Math.floor($acosh(Number.MAX_VALUE)) == 710\n // Tor Browser bug: Math.acosh(Infinity) -> NaN\n && $acosh(Infinity) == Infinity\n), 'Math', {\n acosh: function acosh(x) {\n return (x = +x) < 1 ? NaN : x > 94906265.62425156\n ? Math.log(x) + Math.LN2\n : log1p(x - 1 + sqrt(x - 1) * sqrt(x + 1));\n }\n});\n\n\n/***/ }),\n/* 636 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.5 Math.asinh(x)\nvar $export = __webpack_require__(3);\nvar $asinh = Math.asinh;\n\nfunction asinh(x) {\n return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : Math.log(x + Math.sqrt(x * x + 1));\n}\n\n// Tor Browser bug: Math.asinh(0) -> -0\n$export($export.S + $export.F * !($asinh && 1 / $asinh(0) > 0), 'Math', { asinh: asinh });\n\n\n/***/ }),\n/* 637 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.7 Math.atanh(x)\nvar $export = __webpack_require__(3);\nvar $atanh = Math.atanh;\n\n// Tor Browser bug: Math.atanh(-0) -> 0\n$export($export.S + $export.F * !($atanh && 1 / $atanh(-0) < 0), 'Math', {\n atanh: function atanh(x) {\n return (x = +x) == 0 ? x : Math.log((1 + x) / (1 - x)) / 2;\n }\n});\n\n\n/***/ }),\n/* 638 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.9 Math.cbrt(x)\nvar $export = __webpack_require__(3);\nvar sign = __webpack_require__(145);\n\n$export($export.S, 'Math', {\n cbrt: function cbrt(x) {\n return sign(x = +x) * Math.pow(Math.abs(x), 1 / 3);\n }\n});\n\n\n/***/ }),\n/* 639 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.11 Math.clz32(x)\nvar $export = __webpack_require__(3);\n\n$export($export.S, 'Math', {\n clz32: function clz32(x) {\n return (x >>>= 0) ? 31 - Math.floor(Math.log(x + 0.5) * Math.LOG2E) : 32;\n }\n});\n\n\n/***/ }),\n/* 640 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.12 Math.cosh(x)\nvar $export = __webpack_require__(3);\nvar exp = Math.exp;\n\n$export($export.S, 'Math', {\n cosh: function cosh(x) {\n return (exp(x = +x) + exp(-x)) / 2;\n }\n});\n\n\n/***/ }),\n/* 641 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.14 Math.expm1(x)\nvar $export = __webpack_require__(3);\nvar $expm1 = __webpack_require__(146);\n\n$export($export.S + $export.F * ($expm1 != Math.expm1), 'Math', { expm1: $expm1 });\n\n\n/***/ }),\n/* 642 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.16 Math.fround(x)\nvar $export = __webpack_require__(3);\n\n$export($export.S, 'Math', { fround: __webpack_require__(643) });\n\n\n/***/ }),\n/* 643 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.16 Math.fround(x)\nvar sign = __webpack_require__(145);\nvar pow = Math.pow;\nvar EPSILON = pow(2, -52);\nvar EPSILON32 = pow(2, -23);\nvar MAX32 = pow(2, 127) * (2 - EPSILON32);\nvar MIN32 = pow(2, -126);\n\nvar roundTiesToEven = function (n) {\n return n + 1 / EPSILON - 1 / EPSILON;\n};\n\nmodule.exports = Math.fround || function fround(x) {\n var $abs = Math.abs(x);\n var $sign = sign(x);\n var a, result;\n if ($abs < MIN32) return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32;\n a = (1 + EPSILON32 / EPSILON) * $abs;\n result = a - (a - $abs);\n // eslint-disable-next-line no-self-compare\n if (result > MAX32 || result != result) return $sign * Infinity;\n return $sign * result;\n};\n\n\n/***/ }),\n/* 644 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.17 Math.hypot([value1[, value2[, … ]]])\nvar $export = __webpack_require__(3);\nvar abs = Math.abs;\n\n$export($export.S, 'Math', {\n hypot: function hypot(value1, value2) { // eslint-disable-line no-unused-vars\n var sum = 0;\n var i = 0;\n var aLen = arguments.length;\n var larg = 0;\n var arg, div;\n while (i < aLen) {\n arg = abs(arguments[i++]);\n if (larg < arg) {\n div = larg / arg;\n sum = sum * div * div + 1;\n larg = arg;\n } else if (arg > 0) {\n div = arg / larg;\n sum += div * div;\n } else sum += arg;\n }\n return larg === Infinity ? Infinity : larg * Math.sqrt(sum);\n }\n});\n\n\n/***/ }),\n/* 645 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.18 Math.imul(x, y)\nvar $export = __webpack_require__(3);\nvar $imul = Math.imul;\n\n// some WebKit versions fails with big numbers, some has wrong arity\n$export($export.S + $export.F * __webpack_require__(12)(function () {\n return $imul(0xffffffff, 5) != -5 || $imul.length != 2;\n}), 'Math', {\n imul: function imul(x, y) {\n var UINT16 = 0xffff;\n var xn = +x;\n var yn = +y;\n var xl = UINT16 & xn;\n var yl = UINT16 & yn;\n return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0);\n }\n});\n\n\n/***/ }),\n/* 646 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.21 Math.log10(x)\nvar $export = __webpack_require__(3);\n\n$export($export.S, 'Math', {\n log10: function log10(x) {\n return Math.log(x) * Math.LOG10E;\n }\n});\n\n\n/***/ }),\n/* 647 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.20 Math.log1p(x)\nvar $export = __webpack_require__(3);\n\n$export($export.S, 'Math', { log1p: __webpack_require__(270) });\n\n\n/***/ }),\n/* 648 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.22 Math.log2(x)\nvar $export = __webpack_require__(3);\n\n$export($export.S, 'Math', {\n log2: function log2(x) {\n return Math.log(x) / Math.LN2;\n }\n});\n\n\n/***/ }),\n/* 649 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.28 Math.sign(x)\nvar $export = __webpack_require__(3);\n\n$export($export.S, 'Math', { sign: __webpack_require__(145) });\n\n\n/***/ }),\n/* 650 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.30 Math.sinh(x)\nvar $export = __webpack_require__(3);\nvar expm1 = __webpack_require__(146);\nvar exp = Math.exp;\n\n// V8 near Chromium 38 has a problem with very small numbers\n$export($export.S + $export.F * __webpack_require__(12)(function () {\n return !Math.sinh(-2e-17) != -2e-17;\n}), 'Math', {\n sinh: function sinh(x) {\n return Math.abs(x = +x) < 1\n ? (expm1(x) - expm1(-x)) / 2\n : (exp(x - 1) - exp(-x - 1)) * (Math.E / 2);\n }\n});\n\n\n/***/ }),\n/* 651 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.33 Math.tanh(x)\nvar $export = __webpack_require__(3);\nvar expm1 = __webpack_require__(146);\nvar exp = Math.exp;\n\n$export($export.S, 'Math', {\n tanh: function tanh(x) {\n var a = expm1(x = +x);\n var b = expm1(-x);\n return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x));\n }\n});\n\n\n/***/ }),\n/* 652 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.34 Math.trunc(x)\nvar $export = __webpack_require__(3);\n\n$export($export.S, 'Math', {\n trunc: function trunc(it) {\n return (it > 0 ? Math.floor : Math.ceil)(it);\n }\n});\n\n\n/***/ }),\n/* 653 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(654);\n__webpack_require__(655);\n__webpack_require__(250);\n__webpack_require__(109);\n__webpack_require__(656);\n__webpack_require__(657);\n__webpack_require__(658);\n__webpack_require__(659);\n__webpack_require__(660);\n__webpack_require__(661);\n__webpack_require__(662);\n__webpack_require__(663);\n__webpack_require__(664);\n__webpack_require__(665);\n__webpack_require__(666);\n__webpack_require__(667);\n__webpack_require__(668);\n__webpack_require__(669);\n__webpack_require__(670);\n__webpack_require__(671);\n__webpack_require__(672);\n__webpack_require__(673);\n__webpack_require__(271);\n__webpack_require__(273);\n__webpack_require__(274);\n__webpack_require__(275);\nmodule.exports = __webpack_require__(14).String;\n\n\n/***/ }),\n/* 654 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(3);\nvar toAbsoluteIndex = __webpack_require__(80);\nvar fromCharCode = String.fromCharCode;\nvar $fromCodePoint = String.fromCodePoint;\n\n// length should be 1, old FF problem\n$export($export.S + $export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', {\n // 21.1.2.2 String.fromCodePoint(...codePoints)\n fromCodePoint: function fromCodePoint(x) { // eslint-disable-line no-unused-vars\n var res = [];\n var aLen = arguments.length;\n var i = 0;\n var code;\n while (aLen > i) {\n code = +arguments[i++];\n if (toAbsoluteIndex(code, 0x10ffff) !== code) throw RangeError(code + ' is not a valid code point');\n res.push(code < 0x10000\n ? fromCharCode(code)\n : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00)\n );\n } return res.join('');\n }\n});\n\n\n/***/ }),\n/* 655 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(3);\nvar toIObject = __webpack_require__(34);\nvar toLength = __webpack_require__(26);\n\n$export($export.S, 'String', {\n // 21.1.2.4 String.raw(callSite, ...substitutions)\n raw: function raw(callSite) {\n var tpl = toIObject(callSite.raw);\n var len = toLength(tpl.length);\n var aLen = arguments.length;\n var res = [];\n var i = 0;\n while (len > i) {\n res.push(String(tpl[i++]));\n if (i < aLen) res.push(String(arguments[i]));\n } return res.join('');\n }\n});\n\n\n/***/ }),\n/* 656 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(3);\nvar $at = __webpack_require__(147)(false);\n$export($export.P, 'String', {\n // 21.1.3.3 String.prototype.codePointAt(pos)\n codePointAt: function codePointAt(pos) {\n return $at(this, pos);\n }\n});\n\n\n/***/ }),\n/* 657 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// 21.1.3.6 String.prototype.endsWith(searchString [, endPosition])\n\nvar $export = __webpack_require__(3);\nvar toLength = __webpack_require__(26);\nvar context = __webpack_require__(148);\nvar ENDS_WITH = 'endsWith';\nvar $endsWith = ''[ENDS_WITH];\n\n$export($export.P + $export.F * __webpack_require__(150)(ENDS_WITH), 'String', {\n endsWith: function endsWith(searchString /* , endPosition = @length */) {\n var that = context(this, searchString, ENDS_WITH);\n var endPosition = arguments.length > 1 ? arguments[1] : undefined;\n var len = toLength(that.length);\n var end = endPosition === undefined ? len : Math.min(toLength(endPosition), len);\n var search = String(searchString);\n return $endsWith\n ? $endsWith.call(that, search, end)\n : that.slice(end - search.length, end) === search;\n }\n});\n\n\n/***/ }),\n/* 658 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// 21.1.3.7 String.prototype.includes(searchString, position = 0)\n\nvar $export = __webpack_require__(3);\nvar context = __webpack_require__(148);\nvar INCLUDES = 'includes';\n\n$export($export.P + $export.F * __webpack_require__(150)(INCLUDES), 'String', {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~context(this, searchString, INCLUDES)\n .indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n\n/***/ }),\n/* 659 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(3);\n\n$export($export.P, 'String', {\n // 21.1.3.13 String.prototype.repeat(count)\n repeat: __webpack_require__(241)\n});\n\n\n/***/ }),\n/* 660 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// 21.1.3.18 String.prototype.startsWith(searchString [, position ])\n\nvar $export = __webpack_require__(3);\nvar toLength = __webpack_require__(26);\nvar context = __webpack_require__(148);\nvar STARTS_WITH = 'startsWith';\nvar $startsWith = ''[STARTS_WITH];\n\n$export($export.P + $export.F * __webpack_require__(150)(STARTS_WITH), 'String', {\n startsWith: function startsWith(searchString /* , position = 0 */) {\n var that = context(this, searchString, STARTS_WITH);\n var index = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = String(searchString);\n return $startsWith\n ? $startsWith.call(that, search, index)\n : that.slice(index, index + search.length) === search;\n }\n});\n\n\n/***/ }),\n/* 661 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// B.2.3.2 String.prototype.anchor(name)\n__webpack_require__(32)('anchor', function (createHTML) {\n return function anchor(name) {\n return createHTML(this, 'a', 'name', name);\n };\n});\n\n\n/***/ }),\n/* 662 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// B.2.3.3 String.prototype.big()\n__webpack_require__(32)('big', function (createHTML) {\n return function big() {\n return createHTML(this, 'big', '', '');\n };\n});\n\n\n/***/ }),\n/* 663 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// B.2.3.4 String.prototype.blink()\n__webpack_require__(32)('blink', function (createHTML) {\n return function blink() {\n return createHTML(this, 'blink', '', '');\n };\n});\n\n\n/***/ }),\n/* 664 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// B.2.3.5 String.prototype.bold()\n__webpack_require__(32)('bold', function (createHTML) {\n return function bold() {\n return createHTML(this, 'b', '', '');\n };\n});\n\n\n/***/ }),\n/* 665 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// B.2.3.6 String.prototype.fixed()\n__webpack_require__(32)('fixed', function (createHTML) {\n return function fixed() {\n return createHTML(this, 'tt', '', '');\n };\n});\n\n\n/***/ }),\n/* 666 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// B.2.3.7 String.prototype.fontcolor(color)\n__webpack_require__(32)('fontcolor', function (createHTML) {\n return function fontcolor(color) {\n return createHTML(this, 'font', 'color', color);\n };\n});\n\n\n/***/ }),\n/* 667 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// B.2.3.8 String.prototype.fontsize(size)\n__webpack_require__(32)('fontsize', function (createHTML) {\n return function fontsize(size) {\n return createHTML(this, 'font', 'size', size);\n };\n});\n\n\n/***/ }),\n/* 668 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// B.2.3.9 String.prototype.italics()\n__webpack_require__(32)('italics', function (createHTML) {\n return function italics() {\n return createHTML(this, 'i', '', '');\n };\n});\n\n\n/***/ }),\n/* 669 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// B.2.3.10 String.prototype.link(url)\n__webpack_require__(32)('link', function (createHTML) {\n return function link(url) {\n return createHTML(this, 'a', 'href', url);\n };\n});\n\n\n/***/ }),\n/* 670 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// B.2.3.11 String.prototype.small()\n__webpack_require__(32)('small', function (createHTML) {\n return function small() {\n return createHTML(this, 'small', '', '');\n };\n});\n\n\n/***/ }),\n/* 671 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// B.2.3.12 String.prototype.strike()\n__webpack_require__(32)('strike', function (createHTML) {\n return function strike() {\n return createHTML(this, 'strike', '', '');\n };\n});\n\n\n/***/ }),\n/* 672 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// B.2.3.13 String.prototype.sub()\n__webpack_require__(32)('sub', function (createHTML) {\n return function sub() {\n return createHTML(this, 'sub', '', '');\n };\n});\n\n\n/***/ }),\n/* 673 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// B.2.3.14 String.prototype.sup()\n__webpack_require__(32)('sup', function (createHTML) {\n return function sup() {\n return createHTML(this, 'sup', '', '');\n };\n});\n\n\n/***/ }),\n/* 674 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.3.20 SpeciesConstructor(O, defaultConstructor)\nvar anObject = __webpack_require__(11);\nvar aFunction = __webpack_require__(50);\nvar SPECIES = __webpack_require__(17)('species');\nmodule.exports = function (O, D) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n\n\n/***/ }),\n/* 675 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(243);\n__webpack_require__(245);\n__webpack_require__(244);\n__webpack_require__(676);\n__webpack_require__(677);\nmodule.exports = Date;\n\n\n/***/ }),\n/* 676 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar DateProto = Date.prototype;\nvar INVALID_DATE = 'Invalid Date';\nvar TO_STRING = 'toString';\nvar $toString = DateProto[TO_STRING];\nvar getTime = DateProto.getTime;\nif (new Date(NaN) + '' != INVALID_DATE) {\n __webpack_require__(31)(DateProto, TO_STRING, function toString() {\n var value = getTime.call(this);\n // eslint-disable-next-line no-self-compare\n return value === value ? $toString.call(this) : INVALID_DATE;\n });\n}\n\n\n/***/ }),\n/* 677 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar TO_PRIMITIVE = __webpack_require__(17)('toPrimitive');\nvar proto = Date.prototype;\n\nif (!(TO_PRIMITIVE in proto)) __webpack_require__(43)(proto, TO_PRIMITIVE, __webpack_require__(678));\n\n\n/***/ }),\n/* 678 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar anObject = __webpack_require__(11);\nvar toPrimitive = __webpack_require__(49);\nvar NUMBER = 'number';\n\nmodule.exports = function (hint) {\n if (hint !== 'string' && hint !== NUMBER && hint !== 'default') throw TypeError('Incorrect hint');\n return toPrimitive(anObject(this), hint != NUMBER);\n};\n\n\n/***/ }),\n/* 679 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(109);\n__webpack_require__(225);\n__webpack_require__(680);\n__webpack_require__(681);\n__webpack_require__(226);\n__webpack_require__(227);\n__webpack_require__(228);\n__webpack_require__(229);\n__webpack_require__(230);\n__webpack_require__(231);\n__webpack_require__(232);\n__webpack_require__(233);\n__webpack_require__(234);\n__webpack_require__(236);\n__webpack_require__(237);\n__webpack_require__(238);\n__webpack_require__(682);\n__webpack_require__(684);\n__webpack_require__(686);\n__webpack_require__(687);\n__webpack_require__(688);\n__webpack_require__(153);\nmodule.exports = __webpack_require__(14).Array;\n\n\n/***/ }),\n/* 680 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar ctx = __webpack_require__(66);\nvar $export = __webpack_require__(3);\nvar toObject = __webpack_require__(22);\nvar call = __webpack_require__(255);\nvar isArrayIter = __webpack_require__(256);\nvar toLength = __webpack_require__(26);\nvar createProperty = __webpack_require__(144);\nvar getIterFn = __webpack_require__(257);\n\n$export($export.S + $export.F * !__webpack_require__(259)(function (iter) { Array.from(iter); }), 'Array', {\n // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var index = 0;\n var iterFn = getIterFn(O);\n var length, result, step, iterator;\n if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n // if object isn't iterable or it's array with default iterator - use simple case\n if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n }\n } else {\n length = toLength(O.length);\n for (result = new C(length); length > index; index++) {\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n result.length = index;\n return result;\n }\n});\n\n\n/***/ }),\n/* 681 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(3);\nvar createProperty = __webpack_require__(144);\n\n// WebKit Array.of isn't generic\n$export($export.S + $export.F * __webpack_require__(12)(function () {\n function F() { /* empty */ }\n return !(Array.of.call(F) instanceof F);\n}), 'Array', {\n // 22.1.2.3 Array.of( ...items)\n of: function of(/* ...args */) {\n var index = 0;\n var aLen = arguments.length;\n var result = new (typeof this == 'function' ? this : Array)(aLen);\n while (aLen > index) createProperty(result, index, arguments[index++]);\n result.length = aLen;\n return result;\n }\n});\n\n\n/***/ }),\n/* 682 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)\nvar $export = __webpack_require__(3);\n\n$export($export.P, 'Array', { copyWithin: __webpack_require__(683) });\n\n__webpack_require__(85)('copyWithin');\n\n\n/***/ }),\n/* 683 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)\n\nvar toObject = __webpack_require__(22);\nvar toAbsoluteIndex = __webpack_require__(80);\nvar toLength = __webpack_require__(26);\n\nmodule.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) {\n var O = toObject(this);\n var len = toLength(O.length);\n var to = toAbsoluteIndex(target, len);\n var from = toAbsoluteIndex(start, len);\n var end = arguments.length > 2 ? arguments[2] : undefined;\n var count = Math.min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to);\n var inc = 1;\n if (from < to && to < from + count) {\n inc = -1;\n from += count - 1;\n to += count - 1;\n }\n while (count-- > 0) {\n if (from in O) O[to] = O[from];\n else delete O[to];\n to += inc;\n from += inc;\n } return O;\n};\n\n\n/***/ }),\n/* 684 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)\nvar $export = __webpack_require__(3);\n\n$export($export.P, 'Array', { fill: __webpack_require__(685) });\n\n__webpack_require__(85)('fill');\n\n\n/***/ }),\n/* 685 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)\n\nvar toObject = __webpack_require__(22);\nvar toAbsoluteIndex = __webpack_require__(80);\nvar toLength = __webpack_require__(26);\nmodule.exports = function fill(value /* , start = 0, end = @length */) {\n var O = toObject(this);\n var length = toLength(O.length);\n var aLen = arguments.length;\n var index = toAbsoluteIndex(aLen > 1 ? arguments[1] : undefined, length);\n var end = aLen > 2 ? arguments[2] : undefined;\n var endPos = end === undefined ? length : toAbsoluteIndex(end, length);\n while (endPos > index) O[index++] = value;\n return O;\n};\n\n\n/***/ }),\n/* 686 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined)\nvar $export = __webpack_require__(3);\nvar $find = __webpack_require__(45)(5);\nvar KEY = 'find';\nvar forced = true;\n// Shouldn't skip holes\nif (KEY in []) Array(1)[KEY](function () { forced = false; });\n$export($export.P + $export.F * forced, 'Array', {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n__webpack_require__(85)(KEY);\n\n\n/***/ }),\n/* 687 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined)\nvar $export = __webpack_require__(3);\nvar $find = __webpack_require__(45)(6);\nvar KEY = 'findIndex';\nvar forced = true;\n// Shouldn't skip holes\nif (KEY in []) Array(1)[KEY](function () { forced = false; });\n$export($export.P + $export.F * forced, 'Array', {\n findIndex: function findIndex(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n__webpack_require__(85)(KEY);\n\n\n/***/ }),\n/* 688 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(141)('Array');\n\n\n/***/ }),\n/* 689 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(690);\n__webpack_require__(272);\n__webpack_require__(251);\n__webpack_require__(252);\n__webpack_require__(271);\n__webpack_require__(273);\n__webpack_require__(274);\n__webpack_require__(275);\nmodule.exports = __webpack_require__(14).RegExp;\n\n\n/***/ }),\n/* 690 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(18);\nvar inheritIfRequired = __webpack_require__(143);\nvar dP = __webpack_require__(21).f;\nvar gOPN = __webpack_require__(82).f;\nvar isRegExp = __webpack_require__(149);\nvar $flags = __webpack_require__(104);\nvar $RegExp = global.RegExp;\nvar Base = $RegExp;\nvar proto = $RegExp.prototype;\nvar re1 = /a/g;\nvar re2 = /a/g;\n// \"new\" creates a new object, old webkit buggy here\nvar CORRECT_NEW = new $RegExp(re1) !== re1;\n\nif (__webpack_require__(16) && (!CORRECT_NEW || __webpack_require__(12)(function () {\n re2[__webpack_require__(17)('match')] = false;\n // RegExp constructor can alter flags and IsRegExp works correct with @@match\n return $RegExp(re1) != re1 || $RegExp(re2) == re2 || $RegExp(re1, 'i') != '/a/i';\n}))) {\n $RegExp = function RegExp(p, f) {\n var tiRE = this instanceof $RegExp;\n var piRE = isRegExp(p);\n var fiU = f === undefined;\n return !tiRE && piRE && p.constructor === $RegExp && fiU ? p\n : inheritIfRequired(CORRECT_NEW\n ? new Base(piRE && !fiU ? p.source : p, f)\n : Base((piRE = p instanceof $RegExp) ? p.source : p, piRE && fiU ? $flags.call(p) : f)\n , tiRE ? this : proto, $RegExp);\n };\n var proxy = function (key) {\n key in $RegExp || dP($RegExp, key, {\n configurable: true,\n get: function () { return Base[key]; },\n set: function (it) { Base[key] = it; }\n });\n };\n for (var keys = gOPN(Base), i = 0; keys.length > i;) proxy(keys[i++]);\n proto.constructor = $RegExp;\n $RegExp.prototype = proto;\n __webpack_require__(31)(global, 'RegExp', $RegExp);\n}\n\n__webpack_require__(141)('RegExp');\n\n\n/***/ }),\n/* 691 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(84);\n__webpack_require__(109);\n__webpack_require__(276);\n__webpack_require__(253);\nmodule.exports = __webpack_require__(14).Map;\n\n\n/***/ }),\n/* 692 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(84);\n__webpack_require__(153);\n__webpack_require__(261);\nmodule.exports = __webpack_require__(14).WeakMap;\n\n\n/***/ }),\n/* 693 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(84);\n__webpack_require__(109);\n__webpack_require__(276);\n__webpack_require__(263);\nmodule.exports = __webpack_require__(14).Set;\n\n\n/***/ }),\n/* 694 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(global) {/**\n* @license\n* Copyright Google Inc. All Rights Reserved.\n*\n* Use of this source code is governed by an MIT-style license that can be\n* found in the LICENSE file at https://angular.io/license\n*/\n(function (global, factory) {\n\t true ? factory() :\n\ttypeof define === 'function' && define.amd ? define(factory) :\n\t(factory());\n}(this, (function () { 'use strict';\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar Zone$1 = (function (global) {\n var performance = global['performance'];\n function mark(name) {\n performance && performance['mark'] && performance['mark'](name);\n }\n function performanceMeasure(name, label) {\n performance && performance['measure'] && performance['measure'](name, label);\n }\n mark('Zone');\n var checkDuplicate = global[('__zone_symbol__forceDuplicateZoneCheck')] === true;\n if (global['Zone']) {\n // if global['Zone'] already exists (maybe zone.js was already loaded or\n // some other lib also registered a global object named Zone), we may need\n // to throw an error, but sometimes user may not want this error.\n // For example,\n // we have two web pages, page1 includes zone.js, page2 doesn't.\n // and the 1st time user load page1 and page2, everything work fine,\n // but when user load page2 again, error occurs because global['Zone'] already exists.\n // so we add a flag to let user choose whether to throw this error or not.\n // By default, if existing Zone is from zone.js, we will not throw the error.\n if (checkDuplicate || typeof global['Zone'].__symbol__ !== 'function') {\n throw new Error('Zone already loaded.');\n }\n else {\n return global['Zone'];\n }\n }\n var Zone = /** @class */ (function () {\n function Zone(parent, zoneSpec) {\n this._parent = parent;\n this._name = zoneSpec ? zoneSpec.name || 'unnamed' : '';\n this._properties = zoneSpec && zoneSpec.properties || {};\n this._zoneDelegate =\n new ZoneDelegate(this, this._parent && this._parent._zoneDelegate, zoneSpec);\n }\n Zone.assertZonePatched = function () {\n if (global['Promise'] !== patches['ZoneAwarePromise']) {\n throw new Error('Zone.js has detected that ZoneAwarePromise `(window|global).Promise` ' +\n 'has been overwritten.\\n' +\n 'Most likely cause is that a Promise polyfill has been loaded ' +\n 'after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. ' +\n 'If you must load one, do so before loading zone.js.)');\n }\n };\n Object.defineProperty(Zone, \"root\", {\n get: function () {\n var zone = Zone.current;\n while (zone.parent) {\n zone = zone.parent;\n }\n return zone;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Zone, \"current\", {\n get: function () {\n return _currentZoneFrame.zone;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Zone, \"currentTask\", {\n get: function () {\n return _currentTask;\n },\n enumerable: true,\n configurable: true\n });\n Zone.__load_patch = function (name, fn) {\n if (patches.hasOwnProperty(name)) {\n if (checkDuplicate) {\n throw Error('Already loaded patch: ' + name);\n }\n }\n else if (!global['__Zone_disable_' + name]) {\n var perfName = 'Zone:' + name;\n mark(perfName);\n patches[name] = fn(global, Zone, _api);\n performanceMeasure(perfName, perfName);\n }\n };\n Object.defineProperty(Zone.prototype, \"parent\", {\n get: function () {\n return this._parent;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Zone.prototype, \"name\", {\n get: function () {\n return this._name;\n },\n enumerable: true,\n configurable: true\n });\n Zone.prototype.get = function (key) {\n var zone = this.getZoneWith(key);\n if (zone)\n return zone._properties[key];\n };\n Zone.prototype.getZoneWith = function (key) {\n var current = this;\n while (current) {\n if (current._properties.hasOwnProperty(key)) {\n return current;\n }\n current = current._parent;\n }\n return null;\n };\n Zone.prototype.fork = function (zoneSpec) {\n if (!zoneSpec)\n throw new Error('ZoneSpec required!');\n return this._zoneDelegate.fork(this, zoneSpec);\n };\n Zone.prototype.wrap = function (callback, source) {\n if (typeof callback !== 'function') {\n throw new Error('Expecting function got: ' + callback);\n }\n var _callback = this._zoneDelegate.intercept(this, callback, source);\n var zone = this;\n return function () {\n return zone.runGuarded(_callback, this, arguments, source);\n };\n };\n Zone.prototype.run = function (callback, applyThis, applyArgs, source) {\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source);\n }\n finally {\n _currentZoneFrame = _currentZoneFrame.parent;\n }\n };\n Zone.prototype.runGuarded = function (callback, applyThis, applyArgs, source) {\n if (applyThis === void 0) { applyThis = null; }\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n try {\n return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source);\n }\n catch (error) {\n if (this._zoneDelegate.handleError(this, error)) {\n throw error;\n }\n }\n }\n finally {\n _currentZoneFrame = _currentZoneFrame.parent;\n }\n };\n Zone.prototype.runTask = function (task, applyThis, applyArgs) {\n if (task.zone != this) {\n throw new Error('A task can only be run in the zone of creation! (Creation: ' +\n (task.zone || NO_ZONE).name + '; Execution: ' + this.name + ')');\n }\n // https://github.com/angular/zone.js/issues/778, sometimes eventTask\n // will run in notScheduled(canceled) state, we should not try to\n // run such kind of task but just return\n if (task.state === notScheduled && (task.type === eventTask || task.type === macroTask)) {\n return;\n }\n var reEntryGuard = task.state != running;\n reEntryGuard && task._transitionTo(running, scheduled);\n task.runCount++;\n var previousTask = _currentTask;\n _currentTask = task;\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n if (task.type == macroTask && task.data && !task.data.isPeriodic) {\n task.cancelFn = undefined;\n }\n try {\n return this._zoneDelegate.invokeTask(this, task, applyThis, applyArgs);\n }\n catch (error) {\n if (this._zoneDelegate.handleError(this, error)) {\n throw error;\n }\n }\n }\n finally {\n // if the task's state is notScheduled or unknown, then it has already been cancelled\n // we should not reset the state to scheduled\n if (task.state !== notScheduled && task.state !== unknown) {\n if (task.type == eventTask || (task.data && task.data.isPeriodic)) {\n reEntryGuard && task._transitionTo(scheduled, running);\n }\n else {\n task.runCount = 0;\n this._updateTaskCount(task, -1);\n reEntryGuard &&\n task._transitionTo(notScheduled, running, notScheduled);\n }\n }\n _currentZoneFrame = _currentZoneFrame.parent;\n _currentTask = previousTask;\n }\n };\n Zone.prototype.scheduleTask = function (task) {\n if (task.zone && task.zone !== this) {\n // check if the task was rescheduled, the newZone\n // should not be the children of the original zone\n var newZone = this;\n while (newZone) {\n if (newZone === task.zone) {\n throw Error(\"can not reschedule task to \" + this.name + \" which is descendants of the original zone \" + task.zone.name);\n }\n newZone = newZone.parent;\n }\n }\n task._transitionTo(scheduling, notScheduled);\n var zoneDelegates = [];\n task._zoneDelegates = zoneDelegates;\n task._zone = this;\n try {\n task = this._zoneDelegate.scheduleTask(this, task);\n }\n catch (err) {\n // should set task's state to unknown when scheduleTask throw error\n // because the err may from reschedule, so the fromState maybe notScheduled\n task._transitionTo(unknown, scheduling, notScheduled);\n // TODO: @JiaLiPassion, should we check the result from handleError?\n this._zoneDelegate.handleError(this, err);\n throw err;\n }\n if (task._zoneDelegates === zoneDelegates) {\n // we have to check because internally the delegate can reschedule the task.\n this._updateTaskCount(task, 1);\n }\n if (task.state == scheduling) {\n task._transitionTo(scheduled, scheduling);\n }\n return task;\n };\n Zone.prototype.scheduleMicroTask = function (source, callback, data, customSchedule) {\n return this.scheduleTask(new ZoneTask(microTask, source, callback, data, customSchedule, undefined));\n };\n Zone.prototype.scheduleMacroTask = function (source, callback, data, customSchedule, customCancel) {\n return this.scheduleTask(new ZoneTask(macroTask, source, callback, data, customSchedule, customCancel));\n };\n Zone.prototype.scheduleEventTask = function (source, callback, data, customSchedule, customCancel) {\n return this.scheduleTask(new ZoneTask(eventTask, source, callback, data, customSchedule, customCancel));\n };\n Zone.prototype.cancelTask = function (task) {\n if (task.zone != this)\n throw new Error('A task can only be cancelled in the zone of creation! (Creation: ' +\n (task.zone || NO_ZONE).name + '; Execution: ' + this.name + ')');\n task._transitionTo(canceling, scheduled, running);\n try {\n this._zoneDelegate.cancelTask(this, task);\n }\n catch (err) {\n // if error occurs when cancelTask, transit the state to unknown\n task._transitionTo(unknown, canceling);\n this._zoneDelegate.handleError(this, err);\n throw err;\n }\n this._updateTaskCount(task, -1);\n task._transitionTo(notScheduled, canceling);\n task.runCount = 0;\n return task;\n };\n Zone.prototype._updateTaskCount = function (task, count) {\n var zoneDelegates = task._zoneDelegates;\n if (count == -1) {\n task._zoneDelegates = null;\n }\n for (var i = 0; i < zoneDelegates.length; i++) {\n zoneDelegates[i]._updateTaskCount(task.type, count);\n }\n };\n Zone.__symbol__ = __symbol__;\n return Zone;\n }());\n var DELEGATE_ZS = {\n name: '',\n onHasTask: function (delegate, _, target, hasTaskState) { return delegate.hasTask(target, hasTaskState); },\n onScheduleTask: function (delegate, _, target, task) {\n return delegate.scheduleTask(target, task);\n },\n onInvokeTask: function (delegate, _, target, task, applyThis, applyArgs) {\n return delegate.invokeTask(target, task, applyThis, applyArgs);\n },\n onCancelTask: function (delegate, _, target, task) { return delegate.cancelTask(target, task); }\n };\n var ZoneDelegate = /** @class */ (function () {\n function ZoneDelegate(zone, parentDelegate, zoneSpec) {\n this._taskCounts = { 'microTask': 0, 'macroTask': 0, 'eventTask': 0 };\n this.zone = zone;\n this._parentDelegate = parentDelegate;\n this._forkZS = zoneSpec && (zoneSpec && zoneSpec.onFork ? zoneSpec : parentDelegate._forkZS);\n this._forkDlgt = zoneSpec && (zoneSpec.onFork ? parentDelegate : parentDelegate._forkDlgt);\n this._forkCurrZone = zoneSpec && (zoneSpec.onFork ? this.zone : parentDelegate.zone);\n this._interceptZS =\n zoneSpec && (zoneSpec.onIntercept ? zoneSpec : parentDelegate._interceptZS);\n this._interceptDlgt =\n zoneSpec && (zoneSpec.onIntercept ? parentDelegate : parentDelegate._interceptDlgt);\n this._interceptCurrZone =\n zoneSpec && (zoneSpec.onIntercept ? this.zone : parentDelegate.zone);\n this._invokeZS = zoneSpec && (zoneSpec.onInvoke ? zoneSpec : parentDelegate._invokeZS);\n this._invokeDlgt =\n zoneSpec && (zoneSpec.onInvoke ? parentDelegate : parentDelegate._invokeDlgt);\n this._invokeCurrZone = zoneSpec && (zoneSpec.onInvoke ? this.zone : parentDelegate.zone);\n this._handleErrorZS =\n zoneSpec && (zoneSpec.onHandleError ? zoneSpec : parentDelegate._handleErrorZS);\n this._handleErrorDlgt =\n zoneSpec && (zoneSpec.onHandleError ? parentDelegate : parentDelegate._handleErrorDlgt);\n this._handleErrorCurrZone =\n zoneSpec && (zoneSpec.onHandleError ? this.zone : parentDelegate.zone);\n this._scheduleTaskZS =\n zoneSpec && (zoneSpec.onScheduleTask ? zoneSpec : parentDelegate._scheduleTaskZS);\n this._scheduleTaskDlgt = zoneSpec &&\n (zoneSpec.onScheduleTask ? parentDelegate : parentDelegate._scheduleTaskDlgt);\n this._scheduleTaskCurrZone =\n zoneSpec && (zoneSpec.onScheduleTask ? this.zone : parentDelegate.zone);\n this._invokeTaskZS =\n zoneSpec && (zoneSpec.onInvokeTask ? zoneSpec : parentDelegate._invokeTaskZS);\n this._invokeTaskDlgt =\n zoneSpec && (zoneSpec.onInvokeTask ? parentDelegate : parentDelegate._invokeTaskDlgt);\n this._invokeTaskCurrZone =\n zoneSpec && (zoneSpec.onInvokeTask ? this.zone : parentDelegate.zone);\n this._cancelTaskZS =\n zoneSpec && (zoneSpec.onCancelTask ? zoneSpec : parentDelegate._cancelTaskZS);\n this._cancelTaskDlgt =\n zoneSpec && (zoneSpec.onCancelTask ? parentDelegate : parentDelegate._cancelTaskDlgt);\n this._cancelTaskCurrZone =\n zoneSpec && (zoneSpec.onCancelTask ? this.zone : parentDelegate.zone);\n this._hasTaskZS = null;\n this._hasTaskDlgt = null;\n this._hasTaskDlgtOwner = null;\n this._hasTaskCurrZone = null;\n var zoneSpecHasTask = zoneSpec && zoneSpec.onHasTask;\n var parentHasTask = parentDelegate && parentDelegate._hasTaskZS;\n if (zoneSpecHasTask || parentHasTask) {\n // If we need to report hasTask, than this ZS needs to do ref counting on tasks. In such\n // a case all task related interceptors must go through this ZD. We can't short circuit it.\n this._hasTaskZS = zoneSpecHasTask ? zoneSpec : DELEGATE_ZS;\n this._hasTaskDlgt = parentDelegate;\n this._hasTaskDlgtOwner = this;\n this._hasTaskCurrZone = zone;\n if (!zoneSpec.onScheduleTask) {\n this._scheduleTaskZS = DELEGATE_ZS;\n this._scheduleTaskDlgt = parentDelegate;\n this._scheduleTaskCurrZone = this.zone;\n }\n if (!zoneSpec.onInvokeTask) {\n this._invokeTaskZS = DELEGATE_ZS;\n this._invokeTaskDlgt = parentDelegate;\n this._invokeTaskCurrZone = this.zone;\n }\n if (!zoneSpec.onCancelTask) {\n this._cancelTaskZS = DELEGATE_ZS;\n this._cancelTaskDlgt = parentDelegate;\n this._cancelTaskCurrZone = this.zone;\n }\n }\n }\n ZoneDelegate.prototype.fork = function (targetZone, zoneSpec) {\n return this._forkZS ? this._forkZS.onFork(this._forkDlgt, this.zone, targetZone, zoneSpec) :\n new Zone(targetZone, zoneSpec);\n };\n ZoneDelegate.prototype.intercept = function (targetZone, callback, source) {\n return this._interceptZS ?\n this._interceptZS.onIntercept(this._interceptDlgt, this._interceptCurrZone, targetZone, callback, source) :\n callback;\n };\n ZoneDelegate.prototype.invoke = function (targetZone, callback, applyThis, applyArgs, source) {\n return this._invokeZS ? this._invokeZS.onInvoke(this._invokeDlgt, this._invokeCurrZone, targetZone, callback, applyThis, applyArgs, source) :\n callback.apply(applyThis, applyArgs);\n };\n ZoneDelegate.prototype.handleError = function (targetZone, error) {\n return this._handleErrorZS ?\n this._handleErrorZS.onHandleError(this._handleErrorDlgt, this._handleErrorCurrZone, targetZone, error) :\n true;\n };\n ZoneDelegate.prototype.scheduleTask = function (targetZone, task) {\n var returnTask = task;\n if (this._scheduleTaskZS) {\n if (this._hasTaskZS) {\n returnTask._zoneDelegates.push(this._hasTaskDlgtOwner);\n }\n returnTask = this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt, this._scheduleTaskCurrZone, targetZone, task);\n if (!returnTask)\n returnTask = task;\n }\n else {\n if (task.scheduleFn) {\n task.scheduleFn(task);\n }\n else if (task.type == microTask) {\n scheduleMicroTask(task);\n }\n else {\n throw new Error('Task is missing scheduleFn.');\n }\n }\n return returnTask;\n };\n ZoneDelegate.prototype.invokeTask = function (targetZone, task, applyThis, applyArgs) {\n return this._invokeTaskZS ? this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt, this._invokeTaskCurrZone, targetZone, task, applyThis, applyArgs) :\n task.callback.apply(applyThis, applyArgs);\n };\n ZoneDelegate.prototype.cancelTask = function (targetZone, task) {\n var value;\n if (this._cancelTaskZS) {\n value = this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt, this._cancelTaskCurrZone, targetZone, task);\n }\n else {\n if (!task.cancelFn) {\n throw Error('Task is not cancelable');\n }\n value = task.cancelFn(task);\n }\n return value;\n };\n ZoneDelegate.prototype.hasTask = function (targetZone, isEmpty) {\n // hasTask should not throw error so other ZoneDelegate\n // can still trigger hasTask callback\n try {\n this._hasTaskZS &&\n this._hasTaskZS.onHasTask(this._hasTaskDlgt, this._hasTaskCurrZone, targetZone, isEmpty);\n }\n catch (err) {\n this.handleError(targetZone, err);\n }\n };\n ZoneDelegate.prototype._updateTaskCount = function (type, count) {\n var counts = this._taskCounts;\n var prev = counts[type];\n var next = counts[type] = prev + count;\n if (next < 0) {\n throw new Error('More tasks executed then were scheduled.');\n }\n if (prev == 0 || next == 0) {\n var isEmpty = {\n microTask: counts['microTask'] > 0,\n macroTask: counts['macroTask'] > 0,\n eventTask: counts['eventTask'] > 0,\n change: type\n };\n this.hasTask(this.zone, isEmpty);\n }\n };\n return ZoneDelegate;\n }());\n var ZoneTask = /** @class */ (function () {\n function ZoneTask(type, source, callback, options, scheduleFn, cancelFn) {\n this._zone = null;\n this.runCount = 0;\n this._zoneDelegates = null;\n this._state = 'notScheduled';\n this.type = type;\n this.source = source;\n this.data = options;\n this.scheduleFn = scheduleFn;\n this.cancelFn = cancelFn;\n this.callback = callback;\n var self = this;\n // TODO: @JiaLiPassion options should have interface\n if (type === eventTask && options && options.useG) {\n this.invoke = ZoneTask.invokeTask;\n }\n else {\n this.invoke = function () {\n return ZoneTask.invokeTask.call(global, self, this, arguments);\n };\n }\n }\n ZoneTask.invokeTask = function (task, target, args) {\n if (!task) {\n task = this;\n }\n _numberOfNestedTaskFrames++;\n try {\n task.runCount++;\n return task.zone.runTask(task, target, args);\n }\n finally {\n if (_numberOfNestedTaskFrames == 1) {\n drainMicroTaskQueue();\n }\n _numberOfNestedTaskFrames--;\n }\n };\n Object.defineProperty(ZoneTask.prototype, \"zone\", {\n get: function () {\n return this._zone;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ZoneTask.prototype, \"state\", {\n get: function () {\n return this._state;\n },\n enumerable: true,\n configurable: true\n });\n ZoneTask.prototype.cancelScheduleRequest = function () {\n this._transitionTo(notScheduled, scheduling);\n };\n ZoneTask.prototype._transitionTo = function (toState, fromState1, fromState2) {\n if (this._state === fromState1 || this._state === fromState2) {\n this._state = toState;\n if (toState == notScheduled) {\n this._zoneDelegates = null;\n }\n }\n else {\n throw new Error(this.type + \" '\" + this.source + \"': can not transition to '\" + toState + \"', expecting state '\" + fromState1 + \"'\" + (fromState2 ? ' or \\'' + fromState2 + '\\'' : '') + \", was '\" + this._state + \"'.\");\n }\n };\n ZoneTask.prototype.toString = function () {\n if (this.data && typeof this.data.handleId !== 'undefined') {\n return this.data.handleId.toString();\n }\n else {\n return Object.prototype.toString.call(this);\n }\n };\n // add toJSON method to prevent cyclic error when\n // call JSON.stringify(zoneTask)\n ZoneTask.prototype.toJSON = function () {\n return {\n type: this.type,\n state: this.state,\n source: this.source,\n zone: this.zone.name,\n runCount: this.runCount\n };\n };\n return ZoneTask;\n }());\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n /// MICROTASK QUEUE\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n var symbolSetTimeout = __symbol__('setTimeout');\n var symbolPromise = __symbol__('Promise');\n var symbolThen = __symbol__('then');\n var _microTaskQueue = [];\n var _isDrainingMicrotaskQueue = false;\n var nativeMicroTaskQueuePromise;\n function scheduleMicroTask(task) {\n // if we are not running in any task, and there has not been anything scheduled\n // we must bootstrap the initial task creation by manually scheduling the drain\n if (_numberOfNestedTaskFrames === 0 && _microTaskQueue.length === 0) {\n // We are not running in Task, so we need to kickstart the microtask queue.\n if (!nativeMicroTaskQueuePromise) {\n if (global[symbolPromise]) {\n nativeMicroTaskQueuePromise = global[symbolPromise].resolve(0);\n }\n }\n if (nativeMicroTaskQueuePromise) {\n var nativeThen = nativeMicroTaskQueuePromise[symbolThen];\n if (!nativeThen) {\n // native Promise is not patchable, we need to use `then` directly\n // issue 1078\n nativeThen = nativeMicroTaskQueuePromise['then'];\n }\n nativeThen.call(nativeMicroTaskQueuePromise, drainMicroTaskQueue);\n }\n else {\n global[symbolSetTimeout](drainMicroTaskQueue, 0);\n }\n }\n task && _microTaskQueue.push(task);\n }\n function drainMicroTaskQueue() {\n if (!_isDrainingMicrotaskQueue) {\n _isDrainingMicrotaskQueue = true;\n while (_microTaskQueue.length) {\n var queue = _microTaskQueue;\n _microTaskQueue = [];\n for (var i = 0; i < queue.length; i++) {\n var task = queue[i];\n try {\n task.zone.runTask(task, null, null);\n }\n catch (error) {\n _api.onUnhandledError(error);\n }\n }\n }\n _api.microtaskDrainDone();\n _isDrainingMicrotaskQueue = false;\n }\n }\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n /// BOOTSTRAP\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n var NO_ZONE = { name: 'NO ZONE' };\n var notScheduled = 'notScheduled', scheduling = 'scheduling', scheduled = 'scheduled', running = 'running', canceling = 'canceling', unknown = 'unknown';\n var microTask = 'microTask', macroTask = 'macroTask', eventTask = 'eventTask';\n var patches = {};\n var _api = {\n symbol: __symbol__,\n currentZoneFrame: function () { return _currentZoneFrame; },\n onUnhandledError: noop,\n microtaskDrainDone: noop,\n scheduleMicroTask: scheduleMicroTask,\n showUncaughtError: function () { return !Zone[__symbol__('ignoreConsoleErrorUncaughtError')]; },\n patchEventTarget: function () { return []; },\n patchOnProperties: noop,\n patchMethod: function () { return noop; },\n bindArguments: function () { return []; },\n patchThen: function () { return noop; },\n setNativePromise: function (NativePromise) {\n // sometimes NativePromise.resolve static function\n // is not ready yet, (such as core-js/es6.promise)\n // so we need to check here.\n if (NativePromise && typeof NativePromise.resolve === 'function') {\n nativeMicroTaskQueuePromise = NativePromise.resolve(0);\n }\n },\n };\n var _currentZoneFrame = { parent: null, zone: new Zone(null, null) };\n var _currentTask = null;\n var _numberOfNestedTaskFrames = 0;\n function noop() { }\n function __symbol__(name) {\n return '__zone_symbol__' + name;\n }\n performanceMeasure('Zone', 'Zone');\n return global['Zone'] = Zone;\n})(typeof window !== 'undefined' && window || typeof self !== 'undefined' && self || global);\n\nvar __values = (undefined && undefined.__values) || function (o) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\n if (m) return m.call(o);\n return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n};\nZone.__load_patch('ZoneAwarePromise', function (global, Zone, api) {\n var ObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n var ObjectDefineProperty = Object.defineProperty;\n function readableObjectToString(obj) {\n if (obj && obj.toString === Object.prototype.toString) {\n var className = obj.constructor && obj.constructor.name;\n return (className ? className : '') + ': ' + JSON.stringify(obj);\n }\n return obj ? obj.toString() : Object.prototype.toString.call(obj);\n }\n var __symbol__ = api.symbol;\n var _uncaughtPromiseErrors = [];\n var symbolPromise = __symbol__('Promise');\n var symbolThen = __symbol__('then');\n var creationTrace = '__creationTrace__';\n api.onUnhandledError = function (e) {\n if (api.showUncaughtError()) {\n var rejection = e && e.rejection;\n if (rejection) {\n console.error('Unhandled Promise rejection:', rejection instanceof Error ? rejection.message : rejection, '; Zone:', e.zone.name, '; Task:', e.task && e.task.source, '; Value:', rejection, rejection instanceof Error ? rejection.stack : undefined);\n }\n else {\n console.error(e);\n }\n }\n };\n api.microtaskDrainDone = function () {\n while (_uncaughtPromiseErrors.length) {\n var _loop_1 = function () {\n var uncaughtPromiseError = _uncaughtPromiseErrors.shift();\n try {\n uncaughtPromiseError.zone.runGuarded(function () {\n throw uncaughtPromiseError;\n });\n }\n catch (error) {\n handleUnhandledRejection(error);\n }\n };\n while (_uncaughtPromiseErrors.length) {\n _loop_1();\n }\n }\n };\n var UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL = __symbol__('unhandledPromiseRejectionHandler');\n function handleUnhandledRejection(e) {\n api.onUnhandledError(e);\n try {\n var handler = Zone[UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL];\n if (handler && typeof handler === 'function') {\n handler.call(this, e);\n }\n }\n catch (err) {\n }\n }\n function isThenable(value) {\n return value && value.then;\n }\n function forwardResolution(value) {\n return value;\n }\n function forwardRejection(rejection) {\n return ZoneAwarePromise.reject(rejection);\n }\n var symbolState = __symbol__('state');\n var symbolValue = __symbol__('value');\n var symbolFinally = __symbol__('finally');\n var symbolParentPromiseValue = __symbol__('parentPromiseValue');\n var symbolParentPromiseState = __symbol__('parentPromiseState');\n var source = 'Promise.then';\n var UNRESOLVED = null;\n var RESOLVED = true;\n var REJECTED = false;\n var REJECTED_NO_CATCH = 0;\n function makeResolver(promise, state) {\n return function (v) {\n try {\n resolvePromise(promise, state, v);\n }\n catch (err) {\n resolvePromise(promise, false, err);\n }\n // Do not return value or you will break the Promise spec.\n };\n }\n var once = function () {\n var wasCalled = false;\n return function wrapper(wrappedFunction) {\n return function () {\n if (wasCalled) {\n return;\n }\n wasCalled = true;\n wrappedFunction.apply(null, arguments);\n };\n };\n };\n var TYPE_ERROR = 'Promise resolved with itself';\n var CURRENT_TASK_TRACE_SYMBOL = __symbol__('currentTaskTrace');\n // Promise Resolution\n function resolvePromise(promise, state, value) {\n var onceWrapper = once();\n if (promise === value) {\n throw new TypeError(TYPE_ERROR);\n }\n if (promise[symbolState] === UNRESOLVED) {\n // should only get value.then once based on promise spec.\n var then = null;\n try {\n if (typeof value === 'object' || typeof value === 'function') {\n then = value && value.then;\n }\n }\n catch (err) {\n onceWrapper(function () {\n resolvePromise(promise, false, err);\n })();\n return promise;\n }\n // if (value instanceof ZoneAwarePromise) {\n if (state !== REJECTED && value instanceof ZoneAwarePromise &&\n value.hasOwnProperty(symbolState) && value.hasOwnProperty(symbolValue) &&\n value[symbolState] !== UNRESOLVED) {\n clearRejectedNoCatch(value);\n resolvePromise(promise, value[symbolState], value[symbolValue]);\n }\n else if (state !== REJECTED && typeof then === 'function') {\n try {\n then.call(value, onceWrapper(makeResolver(promise, state)), onceWrapper(makeResolver(promise, false)));\n }\n catch (err) {\n onceWrapper(function () {\n resolvePromise(promise, false, err);\n })();\n }\n }\n else {\n promise[symbolState] = state;\n var queue = promise[symbolValue];\n promise[symbolValue] = value;\n if (promise[symbolFinally] === symbolFinally) {\n // the promise is generated by Promise.prototype.finally\n if (state === RESOLVED) {\n // the state is resolved, should ignore the value\n // and use parent promise value\n promise[symbolState] = promise[symbolParentPromiseState];\n promise[symbolValue] = promise[symbolParentPromiseValue];\n }\n }\n // record task information in value when error occurs, so we can\n // do some additional work such as render longStackTrace\n if (state === REJECTED && value instanceof Error) {\n // check if longStackTraceZone is here\n var trace = Zone.currentTask && Zone.currentTask.data &&\n Zone.currentTask.data[creationTrace];\n if (trace) {\n // only keep the long stack trace into error when in longStackTraceZone\n ObjectDefineProperty(value, CURRENT_TASK_TRACE_SYMBOL, { configurable: true, enumerable: false, writable: true, value: trace });\n }\n }\n for (var i = 0; i < queue.length;) {\n scheduleResolveOrReject(promise, queue[i++], queue[i++], queue[i++], queue[i++]);\n }\n if (queue.length == 0 && state == REJECTED) {\n promise[symbolState] = REJECTED_NO_CATCH;\n try {\n // try to print more readable error log\n throw new Error('Uncaught (in promise): ' + readableObjectToString(value) +\n (value && value.stack ? '\\n' + value.stack : ''));\n }\n catch (err) {\n var error_1 = err;\n error_1.rejection = value;\n error_1.promise = promise;\n error_1.zone = Zone.current;\n error_1.task = Zone.currentTask;\n _uncaughtPromiseErrors.push(error_1);\n api.scheduleMicroTask(); // to make sure that it is running\n }\n }\n }\n }\n // Resolving an already resolved promise is a noop.\n return promise;\n }\n var REJECTION_HANDLED_HANDLER = __symbol__('rejectionHandledHandler');\n function clearRejectedNoCatch(promise) {\n if (promise[symbolState] === REJECTED_NO_CATCH) {\n // if the promise is rejected no catch status\n // and queue.length > 0, means there is a error handler\n // here to handle the rejected promise, we should trigger\n // windows.rejectionhandled eventHandler or nodejs rejectionHandled\n // eventHandler\n try {\n var handler = Zone[REJECTION_HANDLED_HANDLER];\n if (handler && typeof handler === 'function') {\n handler.call(this, { rejection: promise[symbolValue], promise: promise });\n }\n }\n catch (err) {\n }\n promise[symbolState] = REJECTED;\n for (var i = 0; i < _uncaughtPromiseErrors.length; i++) {\n if (promise === _uncaughtPromiseErrors[i].promise) {\n _uncaughtPromiseErrors.splice(i, 1);\n }\n }\n }\n }\n function scheduleResolveOrReject(promise, zone, chainPromise, onFulfilled, onRejected) {\n clearRejectedNoCatch(promise);\n var promiseState = promise[symbolState];\n var delegate = promiseState ?\n (typeof onFulfilled === 'function') ? onFulfilled : forwardResolution :\n (typeof onRejected === 'function') ? onRejected : forwardRejection;\n zone.scheduleMicroTask(source, function () {\n try {\n var parentPromiseValue = promise[symbolValue];\n var isFinallyPromise = chainPromise && symbolFinally === chainPromise[symbolFinally];\n if (isFinallyPromise) {\n // if the promise is generated from finally call, keep parent promise's state and value\n chainPromise[symbolParentPromiseValue] = parentPromiseValue;\n chainPromise[symbolParentPromiseState] = promiseState;\n }\n // should not pass value to finally callback\n var value = zone.run(delegate, undefined, isFinallyPromise && delegate !== forwardRejection && delegate !== forwardResolution ?\n [] :\n [parentPromiseValue]);\n resolvePromise(chainPromise, true, value);\n }\n catch (error) {\n // if error occurs, should always return this error\n resolvePromise(chainPromise, false, error);\n }\n }, chainPromise);\n }\n var ZONE_AWARE_PROMISE_TO_STRING = 'function ZoneAwarePromise() { [native code] }';\n var ZoneAwarePromise = /** @class */ (function () {\n function ZoneAwarePromise(executor) {\n var promise = this;\n if (!(promise instanceof ZoneAwarePromise)) {\n throw new Error('Must be an instanceof Promise.');\n }\n promise[symbolState] = UNRESOLVED;\n promise[symbolValue] = []; // queue;\n try {\n executor && executor(makeResolver(promise, RESOLVED), makeResolver(promise, REJECTED));\n }\n catch (error) {\n resolvePromise(promise, false, error);\n }\n }\n ZoneAwarePromise.toString = function () {\n return ZONE_AWARE_PROMISE_TO_STRING;\n };\n ZoneAwarePromise.resolve = function (value) {\n return resolvePromise(new this(null), RESOLVED, value);\n };\n ZoneAwarePromise.reject = function (error) {\n return resolvePromise(new this(null), REJECTED, error);\n };\n ZoneAwarePromise.race = function (values) {\n var e_1, _a;\n var resolve;\n var reject;\n var promise = new this(function (res, rej) {\n resolve = res;\n reject = rej;\n });\n function onResolve(value) {\n promise && (promise = null || resolve(value));\n }\n function onReject(error) {\n promise && (promise = null || reject(error));\n }\n try {\n for (var values_1 = __values(values), values_1_1 = values_1.next(); !values_1_1.done; values_1_1 = values_1.next()) {\n var value = values_1_1.value;\n if (!isThenable(value)) {\n value = this.resolve(value);\n }\n value.then(onResolve, onReject);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (values_1_1 && !values_1_1.done && (_a = values_1.return)) _a.call(values_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return promise;\n };\n ZoneAwarePromise.all = function (values) {\n var e_2, _a;\n var resolve;\n var reject;\n var promise = new this(function (res, rej) {\n resolve = res;\n reject = rej;\n });\n // Start at 2 to prevent prematurely resolving if .then is called immediately.\n var unresolvedCount = 2;\n var valueIndex = 0;\n var resolvedValues = [];\n var _loop_2 = function (value) {\n if (!isThenable(value)) {\n value = this_1.resolve(value);\n }\n var curValueIndex = valueIndex;\n value.then(function (value) {\n resolvedValues[curValueIndex] = value;\n unresolvedCount--;\n if (unresolvedCount === 0) {\n resolve(resolvedValues);\n }\n }, reject);\n unresolvedCount++;\n valueIndex++;\n };\n var this_1 = this;\n try {\n for (var values_2 = __values(values), values_2_1 = values_2.next(); !values_2_1.done; values_2_1 = values_2.next()) {\n var value = values_2_1.value;\n _loop_2(value);\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (values_2_1 && !values_2_1.done && (_a = values_2.return)) _a.call(values_2);\n }\n finally { if (e_2) throw e_2.error; }\n }\n // Make the unresolvedCount zero-based again.\n unresolvedCount -= 2;\n if (unresolvedCount === 0) {\n resolve(resolvedValues);\n }\n return promise;\n };\n ZoneAwarePromise.prototype.then = function (onFulfilled, onRejected) {\n var chainPromise = new this.constructor(null);\n var zone = Zone.current;\n if (this[symbolState] == UNRESOLVED) {\n this[symbolValue].push(zone, chainPromise, onFulfilled, onRejected);\n }\n else {\n scheduleResolveOrReject(this, zone, chainPromise, onFulfilled, onRejected);\n }\n return chainPromise;\n };\n ZoneAwarePromise.prototype.catch = function (onRejected) {\n return this.then(null, onRejected);\n };\n ZoneAwarePromise.prototype.finally = function (onFinally) {\n var chainPromise = new this.constructor(null);\n chainPromise[symbolFinally] = symbolFinally;\n var zone = Zone.current;\n if (this[symbolState] == UNRESOLVED) {\n this[symbolValue].push(zone, chainPromise, onFinally, onFinally);\n }\n else {\n scheduleResolveOrReject(this, zone, chainPromise, onFinally, onFinally);\n }\n return chainPromise;\n };\n return ZoneAwarePromise;\n }());\n // Protect against aggressive optimizers dropping seemingly unused properties.\n // E.g. Closure Compiler in advanced mode.\n ZoneAwarePromise['resolve'] = ZoneAwarePromise.resolve;\n ZoneAwarePromise['reject'] = ZoneAwarePromise.reject;\n ZoneAwarePromise['race'] = ZoneAwarePromise.race;\n ZoneAwarePromise['all'] = ZoneAwarePromise.all;\n var NativePromise = global[symbolPromise] = global['Promise'];\n var ZONE_AWARE_PROMISE = Zone.__symbol__('ZoneAwarePromise');\n var desc = ObjectGetOwnPropertyDescriptor(global, 'Promise');\n if (!desc || desc.configurable) {\n desc && delete desc.writable;\n desc && delete desc.value;\n if (!desc) {\n desc = { configurable: true, enumerable: true };\n }\n desc.get = function () {\n // if we already set ZoneAwarePromise, use patched one\n // otherwise return native one.\n return global[ZONE_AWARE_PROMISE] ? global[ZONE_AWARE_PROMISE] : global[symbolPromise];\n };\n desc.set = function (NewNativePromise) {\n if (NewNativePromise === ZoneAwarePromise) {\n // if the NewNativePromise is ZoneAwarePromise\n // save to global\n global[ZONE_AWARE_PROMISE] = NewNativePromise;\n }\n else {\n // if the NewNativePromise is not ZoneAwarePromise\n // for example: after load zone.js, some library just\n // set es6-promise to global, if we set it to global\n // directly, assertZonePatched will fail and angular\n // will not loaded, so we just set the NewNativePromise\n // to global[symbolPromise], so the result is just like\n // we load ES6 Promise before zone.js\n global[symbolPromise] = NewNativePromise;\n if (!NewNativePromise.prototype[symbolThen]) {\n patchThen(NewNativePromise);\n }\n api.setNativePromise(NewNativePromise);\n }\n };\n ObjectDefineProperty(global, 'Promise', desc);\n }\n global['Promise'] = ZoneAwarePromise;\n var symbolThenPatched = __symbol__('thenPatched');\n function patchThen(Ctor) {\n var proto = Ctor.prototype;\n var prop = ObjectGetOwnPropertyDescriptor(proto, 'then');\n if (prop && (prop.writable === false || !prop.configurable)) {\n // check Ctor.prototype.then propertyDescriptor is writable or not\n // in meteor env, writable is false, we should ignore such case\n return;\n }\n var originalThen = proto.then;\n // Keep a reference to the original method.\n proto[symbolThen] = originalThen;\n Ctor.prototype.then = function (onResolve, onReject) {\n var _this = this;\n var wrapped = new ZoneAwarePromise(function (resolve, reject) {\n originalThen.call(_this, resolve, reject);\n });\n return wrapped.then(onResolve, onReject);\n };\n Ctor[symbolThenPatched] = true;\n }\n api.patchThen = patchThen;\n if (NativePromise) {\n patchThen(NativePromise);\n }\n // This is not part of public API, but it is useful for tests, so we expose it.\n Promise[Zone.__symbol__('uncaughtPromiseErrors')] = _uncaughtPromiseErrors;\n return ZoneAwarePromise;\n});\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nZone.__load_patch('fetch', function (global, Zone, api) {\n var fetch = global['fetch'];\n var ZoneAwarePromise = global.Promise;\n var symbolThenPatched = api.symbol('thenPatched');\n var fetchTaskScheduling = api.symbol('fetchTaskScheduling');\n var fetchTaskAborting = api.symbol('fetchTaskAborting');\n if (typeof fetch !== 'function') {\n return;\n }\n var OriginalAbortController = global['AbortController'];\n var supportAbort = typeof OriginalAbortController === 'function';\n var abortNative = null;\n if (supportAbort) {\n global['AbortController'] = function () {\n var abortController = new OriginalAbortController();\n var signal = abortController.signal;\n signal.abortController = abortController;\n return abortController;\n };\n abortNative = api.patchMethod(OriginalAbortController.prototype, 'abort', function (delegate) { return function (self, args) {\n if (self.task) {\n return self.task.zone.cancelTask(self.task);\n }\n return delegate.apply(self, args);\n }; });\n }\n var placeholder = function () { };\n global['fetch'] = function () {\n var _this = this;\n var args = Array.prototype.slice.call(arguments);\n var options = args.length > 1 ? args[1] : null;\n var signal = options && options.signal;\n return new Promise(function (res, rej) {\n var task = Zone.current.scheduleMacroTask('fetch', placeholder, args, function () {\n var fetchPromise;\n var zone = Zone.current;\n try {\n zone[fetchTaskScheduling] = true;\n fetchPromise = fetch.apply(_this, args);\n }\n catch (error) {\n rej(error);\n return;\n }\n finally {\n zone[fetchTaskScheduling] = false;\n }\n if (!(fetchPromise instanceof ZoneAwarePromise)) {\n var ctor = fetchPromise.constructor;\n if (!ctor[symbolThenPatched]) {\n api.patchThen(ctor);\n }\n }\n fetchPromise.then(function (resource) {\n if (task.state !== 'notScheduled') {\n task.invoke();\n }\n res(resource);\n }, function (error) {\n if (task.state !== 'notScheduled') {\n task.invoke();\n }\n rej(error);\n });\n }, function () {\n if (!supportAbort) {\n rej('No AbortController supported, can not cancel fetch');\n return;\n }\n if (signal && signal.abortController && !signal.aborted &&\n typeof signal.abortController.abort === 'function' && abortNative) {\n try {\n Zone.current[fetchTaskAborting] = true;\n abortNative.call(signal.abortController);\n }\n finally {\n Zone.current[fetchTaskAborting] = false;\n }\n }\n else {\n rej('cancel fetch need a AbortController.signal');\n }\n });\n if (signal && signal.abortController) {\n signal.abortController.task = task;\n }\n });\n };\n});\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Suppress closure compiler errors about unknown 'Zone' variable\n * @fileoverview\n * @suppress {undefinedVars,globalThis,missingRequire}\n */\n// issue #989, to reduce bundle size, use short name\n/** Object.getOwnPropertyDescriptor */\nvar ObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n/** Object.defineProperty */\nvar ObjectDefineProperty = Object.defineProperty;\n/** Object.getPrototypeOf */\nvar ObjectGetPrototypeOf = Object.getPrototypeOf;\n/** Object.create */\nvar ObjectCreate = Object.create;\n/** Array.prototype.slice */\nvar ArraySlice = Array.prototype.slice;\n/** addEventListener string const */\nvar ADD_EVENT_LISTENER_STR = 'addEventListener';\n/** removeEventListener string const */\nvar REMOVE_EVENT_LISTENER_STR = 'removeEventListener';\n/** zoneSymbol addEventListener */\nvar ZONE_SYMBOL_ADD_EVENT_LISTENER = Zone.__symbol__(ADD_EVENT_LISTENER_STR);\n/** zoneSymbol removeEventListener */\nvar ZONE_SYMBOL_REMOVE_EVENT_LISTENER = Zone.__symbol__(REMOVE_EVENT_LISTENER_STR);\n/** true string const */\nvar TRUE_STR = 'true';\n/** false string const */\nvar FALSE_STR = 'false';\n/** __zone_symbol__ string const */\nvar ZONE_SYMBOL_PREFIX = '__zone_symbol__';\nfunction wrapWithCurrentZone(callback, source) {\n return Zone.current.wrap(callback, source);\n}\nfunction scheduleMacroTaskWithCurrentZone(source, callback, data, customSchedule, customCancel) {\n return Zone.current.scheduleMacroTask(source, callback, data, customSchedule, customCancel);\n}\nvar zoneSymbol = Zone.__symbol__;\nvar isWindowExists = typeof window !== 'undefined';\nvar internalWindow = isWindowExists ? window : undefined;\nvar _global = isWindowExists && internalWindow || typeof self === 'object' && self || global;\nvar REMOVE_ATTRIBUTE = 'removeAttribute';\nvar NULL_ON_PROP_VALUE = [null];\nfunction bindArguments(args, source) {\n for (var i = args.length - 1; i >= 0; i--) {\n if (typeof args[i] === 'function') {\n args[i] = wrapWithCurrentZone(args[i], source + '_' + i);\n }\n }\n return args;\n}\nfunction patchPrototype(prototype, fnNames) {\n var source = prototype.constructor['name'];\n var _loop_1 = function (i) {\n var name_1 = fnNames[i];\n var delegate = prototype[name_1];\n if (delegate) {\n var prototypeDesc = ObjectGetOwnPropertyDescriptor(prototype, name_1);\n if (!isPropertyWritable(prototypeDesc)) {\n return \"continue\";\n }\n prototype[name_1] = (function (delegate) {\n var patched = function () {\n return delegate.apply(this, bindArguments(arguments, source + '.' + name_1));\n };\n attachOriginToPatched(patched, delegate);\n return patched;\n })(delegate);\n }\n };\n for (var i = 0; i < fnNames.length; i++) {\n _loop_1(i);\n }\n}\nfunction isPropertyWritable(propertyDesc) {\n if (!propertyDesc) {\n return true;\n }\n if (propertyDesc.writable === false) {\n return false;\n }\n return !(typeof propertyDesc.get === 'function' && typeof propertyDesc.set === 'undefined');\n}\nvar isWebWorker = (typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope);\n// Make sure to access `process` through `_global` so that WebPack does not accidentally browserify\n// this code.\nvar isNode = (!('nw' in _global) && typeof _global.process !== 'undefined' &&\n {}.toString.call(_global.process) === '[object process]');\nvar isBrowser = !isNode && !isWebWorker && !!(isWindowExists && internalWindow['HTMLElement']);\n// we are in electron of nw, so we are both browser and nodejs\n// Make sure to access `process` through `_global` so that WebPack does not accidentally browserify\n// this code.\nvar isMix = typeof _global.process !== 'undefined' &&\n {}.toString.call(_global.process) === '[object process]' && !isWebWorker &&\n !!(isWindowExists && internalWindow['HTMLElement']);\nvar zoneSymbolEventNames = {};\nvar wrapFn = function (event) {\n // https://github.com/angular/zone.js/issues/911, in IE, sometimes\n // event will be undefined, so we need to use window.event\n event = event || _global.event;\n if (!event) {\n return;\n }\n var eventNameSymbol = zoneSymbolEventNames[event.type];\n if (!eventNameSymbol) {\n eventNameSymbol = zoneSymbolEventNames[event.type] = zoneSymbol('ON_PROPERTY' + event.type);\n }\n var target = this || event.target || _global;\n var listener = target[eventNameSymbol];\n var result;\n if (isBrowser && target === internalWindow && event.type === 'error') {\n // window.onerror have different signiture\n // https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onerror#window.onerror\n // and onerror callback will prevent default when callback return true\n var errorEvent = event;\n result = listener &&\n listener.call(this, errorEvent.message, errorEvent.filename, errorEvent.lineno, errorEvent.colno, errorEvent.error);\n if (result === true) {\n event.preventDefault();\n }\n }\n else {\n result = listener && listener.apply(this, arguments);\n if (result != undefined && !result) {\n event.preventDefault();\n }\n }\n return result;\n};\nfunction patchProperty(obj, prop, prototype) {\n var desc = ObjectGetOwnPropertyDescriptor(obj, prop);\n if (!desc && prototype) {\n // when patch window object, use prototype to check prop exist or not\n var prototypeDesc = ObjectGetOwnPropertyDescriptor(prototype, prop);\n if (prototypeDesc) {\n desc = { enumerable: true, configurable: true };\n }\n }\n // if the descriptor not exists or is not configurable\n // just return\n if (!desc || !desc.configurable) {\n return;\n }\n var onPropPatchedSymbol = zoneSymbol('on' + prop + 'patched');\n if (obj.hasOwnProperty(onPropPatchedSymbol) && obj[onPropPatchedSymbol]) {\n return;\n }\n // A property descriptor cannot have getter/setter and be writable\n // deleting the writable and value properties avoids this error:\n //\n // TypeError: property descriptors must not specify a value or be writable when a\n // getter or setter has been specified\n delete desc.writable;\n delete desc.value;\n var originalDescGet = desc.get;\n var originalDescSet = desc.set;\n // substr(2) cuz 'onclick' -> 'click', etc\n var eventName = prop.substr(2);\n var eventNameSymbol = zoneSymbolEventNames[eventName];\n if (!eventNameSymbol) {\n eventNameSymbol = zoneSymbolEventNames[eventName] = zoneSymbol('ON_PROPERTY' + eventName);\n }\n desc.set = function (newValue) {\n // in some of windows's onproperty callback, this is undefined\n // so we need to check it\n var target = this;\n if (!target && obj === _global) {\n target = _global;\n }\n if (!target) {\n return;\n }\n var previousValue = target[eventNameSymbol];\n if (previousValue) {\n target.removeEventListener(eventName, wrapFn);\n }\n // issue #978, when onload handler was added before loading zone.js\n // we should remove it with originalDescSet\n if (originalDescSet) {\n originalDescSet.apply(target, NULL_ON_PROP_VALUE);\n }\n if (typeof newValue === 'function') {\n target[eventNameSymbol] = newValue;\n target.addEventListener(eventName, wrapFn, false);\n }\n else {\n target[eventNameSymbol] = null;\n }\n };\n // The getter would return undefined for unassigned properties but the default value of an\n // unassigned property is null\n desc.get = function () {\n // in some of windows's onproperty callback, this is undefined\n // so we need to check it\n var target = this;\n if (!target && obj === _global) {\n target = _global;\n }\n if (!target) {\n return null;\n }\n var listener = target[eventNameSymbol];\n if (listener) {\n return listener;\n }\n else if (originalDescGet) {\n // result will be null when use inline event attribute,\n // such as \n // because the onclick function is internal raw uncompiled handler\n // the onclick will be evaluated when first time event was triggered or\n // the property is accessed, https://github.com/angular/zone.js/issues/525\n // so we should use original native get to retrieve the handler\n var value = originalDescGet && originalDescGet.call(this);\n if (value) {\n desc.set.call(this, value);\n if (typeof target[REMOVE_ATTRIBUTE] === 'function') {\n target.removeAttribute(prop);\n }\n return value;\n }\n }\n return null;\n };\n ObjectDefineProperty(obj, prop, desc);\n obj[onPropPatchedSymbol] = true;\n}\nfunction patchOnProperties(obj, properties, prototype) {\n if (properties) {\n for (var i = 0; i < properties.length; i++) {\n patchProperty(obj, 'on' + properties[i], prototype);\n }\n }\n else {\n var onProperties = [];\n for (var prop in obj) {\n if (prop.substr(0, 2) == 'on') {\n onProperties.push(prop);\n }\n }\n for (var j = 0; j < onProperties.length; j++) {\n patchProperty(obj, onProperties[j], prototype);\n }\n }\n}\nvar originalInstanceKey = zoneSymbol('originalInstance');\n// wrap some native API on `window`\nfunction patchClass(className) {\n var OriginalClass = _global[className];\n if (!OriginalClass)\n return;\n // keep original class in global\n _global[zoneSymbol(className)] = OriginalClass;\n _global[className] = function () {\n var a = bindArguments(arguments, className);\n switch (a.length) {\n case 0:\n this[originalInstanceKey] = new OriginalClass();\n break;\n case 1:\n this[originalInstanceKey] = new OriginalClass(a[0]);\n break;\n case 2:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1]);\n break;\n case 3:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2]);\n break;\n case 4:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2], a[3]);\n break;\n default:\n throw new Error('Arg list too long.');\n }\n };\n // attach original delegate to patched function\n attachOriginToPatched(_global[className], OriginalClass);\n var instance = new OriginalClass(function () { });\n var prop;\n for (prop in instance) {\n // https://bugs.webkit.org/show_bug.cgi?id=44721\n if (className === 'XMLHttpRequest' && prop === 'responseBlob')\n continue;\n (function (prop) {\n if (typeof instance[prop] === 'function') {\n _global[className].prototype[prop] = function () {\n return this[originalInstanceKey][prop].apply(this[originalInstanceKey], arguments);\n };\n }\n else {\n ObjectDefineProperty(_global[className].prototype, prop, {\n set: function (fn) {\n if (typeof fn === 'function') {\n this[originalInstanceKey][prop] = wrapWithCurrentZone(fn, className + '.' + prop);\n // keep callback in wrapped function so we can\n // use it in Function.prototype.toString to return\n // the native one.\n attachOriginToPatched(this[originalInstanceKey][prop], fn);\n }\n else {\n this[originalInstanceKey][prop] = fn;\n }\n },\n get: function () {\n return this[originalInstanceKey][prop];\n }\n });\n }\n }(prop));\n }\n for (prop in OriginalClass) {\n if (prop !== 'prototype' && OriginalClass.hasOwnProperty(prop)) {\n _global[className][prop] = OriginalClass[prop];\n }\n }\n}\nfunction copySymbolProperties(src, dest) {\n if (typeof Object.getOwnPropertySymbols !== 'function') {\n return;\n }\n var symbols = Object.getOwnPropertySymbols(src);\n symbols.forEach(function (symbol) {\n var desc = Object.getOwnPropertyDescriptor(src, symbol);\n Object.defineProperty(dest, symbol, {\n get: function () {\n return src[symbol];\n },\n set: function (value) {\n if (desc && (!desc.writable || typeof desc.set !== 'function')) {\n // if src[symbol] is not writable or not have a setter, just return\n return;\n }\n src[symbol] = value;\n },\n enumerable: desc ? desc.enumerable : true,\n configurable: desc ? desc.configurable : true\n });\n });\n}\nvar shouldCopySymbolProperties = false;\n\nfunction patchMethod(target, name, patchFn) {\n var proto = target;\n while (proto && !proto.hasOwnProperty(name)) {\n proto = ObjectGetPrototypeOf(proto);\n }\n if (!proto && target[name]) {\n // somehow we did not find it, but we can see it. This happens on IE for Window properties.\n proto = target;\n }\n var delegateName = zoneSymbol(name);\n var delegate = null;\n if (proto && !(delegate = proto[delegateName])) {\n delegate = proto[delegateName] = proto[name];\n // check whether proto[name] is writable\n // some property is readonly in safari, such as HtmlCanvasElement.prototype.toBlob\n var desc = proto && ObjectGetOwnPropertyDescriptor(proto, name);\n if (isPropertyWritable(desc)) {\n var patchDelegate_1 = patchFn(delegate, delegateName, name);\n proto[name] = function () {\n return patchDelegate_1(this, arguments);\n };\n attachOriginToPatched(proto[name], delegate);\n if (shouldCopySymbolProperties) {\n copySymbolProperties(delegate, proto[name]);\n }\n }\n }\n return delegate;\n}\n// TODO: @JiaLiPassion, support cancel task later if necessary\nfunction patchMacroTask(obj, funcName, metaCreator) {\n var setNative = null;\n function scheduleTask(task) {\n var data = task.data;\n data.args[data.cbIdx] = function () {\n task.invoke.apply(this, arguments);\n };\n setNative.apply(data.target, data.args);\n return task;\n }\n setNative = patchMethod(obj, funcName, function (delegate) { return function (self, args) {\n var meta = metaCreator(self, args);\n if (meta.cbIdx >= 0 && typeof args[meta.cbIdx] === 'function') {\n return scheduleMacroTaskWithCurrentZone(meta.name, args[meta.cbIdx], meta, scheduleTask);\n }\n else {\n // cause an error by calling it directly.\n return delegate.apply(self, args);\n }\n }; });\n}\n\nfunction attachOriginToPatched(patched, original) {\n patched[zoneSymbol('OriginalDelegate')] = original;\n}\nvar isDetectedIEOrEdge = false;\nvar ieOrEdge = false;\nfunction isIE() {\n try {\n var ua = internalWindow.navigator.userAgent;\n if (ua.indexOf('MSIE ') !== -1 || ua.indexOf('Trident/') !== -1) {\n return true;\n }\n }\n catch (error) {\n }\n return false;\n}\nfunction isIEOrEdge() {\n if (isDetectedIEOrEdge) {\n return ieOrEdge;\n }\n isDetectedIEOrEdge = true;\n try {\n var ua = internalWindow.navigator.userAgent;\n if (ua.indexOf('MSIE ') !== -1 || ua.indexOf('Trident/') !== -1 || ua.indexOf('Edge/') !== -1) {\n ieOrEdge = true;\n }\n return ieOrEdge;\n }\n catch (error) {\n }\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// override Function.prototype.toString to make zone.js patched function\n// look like native function\nZone.__load_patch('toString', function (global) {\n // patch Func.prototype.toString to let them look like native\n var originalFunctionToString = Function.prototype.toString;\n var ORIGINAL_DELEGATE_SYMBOL = zoneSymbol('OriginalDelegate');\n var PROMISE_SYMBOL = zoneSymbol('Promise');\n var ERROR_SYMBOL = zoneSymbol('Error');\n var newFunctionToString = function toString() {\n if (typeof this === 'function') {\n var originalDelegate = this[ORIGINAL_DELEGATE_SYMBOL];\n if (originalDelegate) {\n if (typeof originalDelegate === 'function') {\n return originalFunctionToString.apply(this[ORIGINAL_DELEGATE_SYMBOL], arguments);\n }\n else {\n return Object.prototype.toString.call(originalDelegate);\n }\n }\n if (this === Promise) {\n var nativePromise = global[PROMISE_SYMBOL];\n if (nativePromise) {\n return originalFunctionToString.apply(nativePromise, arguments);\n }\n }\n if (this === Error) {\n var nativeError = global[ERROR_SYMBOL];\n if (nativeError) {\n return originalFunctionToString.apply(nativeError, arguments);\n }\n }\n }\n return originalFunctionToString.apply(this, arguments);\n };\n newFunctionToString[ORIGINAL_DELEGATE_SYMBOL] = originalFunctionToString;\n Function.prototype.toString = newFunctionToString;\n // patch Object.prototype.toString to let them look like native\n var originalObjectToString = Object.prototype.toString;\n var PROMISE_OBJECT_TO_STRING = '[object Promise]';\n Object.prototype.toString = function () {\n if (this instanceof Promise) {\n return PROMISE_OBJECT_TO_STRING;\n }\n return originalObjectToString.apply(this, arguments);\n };\n});\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @fileoverview\n * @suppress {missingRequire}\n */\nvar passiveSupported = false;\nif (typeof window !== 'undefined') {\n try {\n var options = Object.defineProperty({}, 'passive', {\n get: function () {\n passiveSupported = true;\n }\n });\n window.addEventListener('test', options, options);\n window.removeEventListener('test', options, options);\n }\n catch (err) {\n passiveSupported = false;\n }\n}\n// an identifier to tell ZoneTask do not create a new invoke closure\nvar OPTIMIZED_ZONE_EVENT_TASK_DATA = {\n useG: true\n};\nvar zoneSymbolEventNames$1 = {};\nvar globalSources = {};\nvar EVENT_NAME_SYMBOL_REGX = /^__zone_symbol__(\\w+)(true|false)$/;\nvar IMMEDIATE_PROPAGATION_SYMBOL = ('__zone_symbol__propagationStopped');\nfunction patchEventTarget(_global, apis, patchOptions) {\n var ADD_EVENT_LISTENER = (patchOptions && patchOptions.add) || ADD_EVENT_LISTENER_STR;\n var REMOVE_EVENT_LISTENER = (patchOptions && patchOptions.rm) || REMOVE_EVENT_LISTENER_STR;\n var LISTENERS_EVENT_LISTENER = (patchOptions && patchOptions.listeners) || 'eventListeners';\n var REMOVE_ALL_LISTENERS_EVENT_LISTENER = (patchOptions && patchOptions.rmAll) || 'removeAllListeners';\n var zoneSymbolAddEventListener = zoneSymbol(ADD_EVENT_LISTENER);\n var ADD_EVENT_LISTENER_SOURCE = '.' + ADD_EVENT_LISTENER + ':';\n var PREPEND_EVENT_LISTENER = 'prependListener';\n var PREPEND_EVENT_LISTENER_SOURCE = '.' + PREPEND_EVENT_LISTENER + ':';\n var invokeTask = function (task, target, event) {\n // for better performance, check isRemoved which is set\n // by removeEventListener\n if (task.isRemoved) {\n return;\n }\n var delegate = task.callback;\n if (typeof delegate === 'object' && delegate.handleEvent) {\n // create the bind version of handleEvent when invoke\n task.callback = function (event) { return delegate.handleEvent(event); };\n task.originalDelegate = delegate;\n }\n // invoke static task.invoke\n task.invoke(task, target, [event]);\n var options = task.options;\n if (options && typeof options === 'object' && options.once) {\n // if options.once is true, after invoke once remove listener here\n // only browser need to do this, nodejs eventEmitter will cal removeListener\n // inside EventEmitter.once\n var delegate_1 = task.originalDelegate ? task.originalDelegate : task.callback;\n target[REMOVE_EVENT_LISTENER].call(target, event.type, delegate_1, options);\n }\n };\n // global shared zoneAwareCallback to handle all event callback with capture = false\n var globalZoneAwareCallback = function (event) {\n // https://github.com/angular/zone.js/issues/911, in IE, sometimes\n // event will be undefined, so we need to use window.event\n event = event || _global.event;\n if (!event) {\n return;\n }\n // event.target is needed for Samsung TV and SourceBuffer\n // || global is needed https://github.com/angular/zone.js/issues/190\n var target = this || event.target || _global;\n var tasks = target[zoneSymbolEventNames$1[event.type][FALSE_STR]];\n if (tasks) {\n // invoke all tasks which attached to current target with given event.type and capture = false\n // for performance concern, if task.length === 1, just invoke\n if (tasks.length === 1) {\n invokeTask(tasks[0], target, event);\n }\n else {\n // https://github.com/angular/zone.js/issues/836\n // copy the tasks array before invoke, to avoid\n // the callback will remove itself or other listener\n var copyTasks = tasks.slice();\n for (var i = 0; i < copyTasks.length; i++) {\n if (event && event[IMMEDIATE_PROPAGATION_SYMBOL] === true) {\n break;\n }\n invokeTask(copyTasks[i], target, event);\n }\n }\n }\n };\n // global shared zoneAwareCallback to handle all event callback with capture = true\n var globalZoneAwareCaptureCallback = function (event) {\n // https://github.com/angular/zone.js/issues/911, in IE, sometimes\n // event will be undefined, so we need to use window.event\n event = event || _global.event;\n if (!event) {\n return;\n }\n // event.target is needed for Samsung TV and SourceBuffer\n // || global is needed https://github.com/angular/zone.js/issues/190\n var target = this || event.target || _global;\n var tasks = target[zoneSymbolEventNames$1[event.type][TRUE_STR]];\n if (tasks) {\n // invoke all tasks which attached to current target with given event.type and capture = false\n // for performance concern, if task.length === 1, just invoke\n if (tasks.length === 1) {\n invokeTask(tasks[0], target, event);\n }\n else {\n // https://github.com/angular/zone.js/issues/836\n // copy the tasks array before invoke, to avoid\n // the callback will remove itself or other listener\n var copyTasks = tasks.slice();\n for (var i = 0; i < copyTasks.length; i++) {\n if (event && event[IMMEDIATE_PROPAGATION_SYMBOL] === true) {\n break;\n }\n invokeTask(copyTasks[i], target, event);\n }\n }\n }\n };\n function patchEventTargetMethods(obj, patchOptions) {\n if (!obj) {\n return false;\n }\n var useGlobalCallback = true;\n if (patchOptions && patchOptions.useG !== undefined) {\n useGlobalCallback = patchOptions.useG;\n }\n var validateHandler = patchOptions && patchOptions.vh;\n var checkDuplicate = true;\n if (patchOptions && patchOptions.chkDup !== undefined) {\n checkDuplicate = patchOptions.chkDup;\n }\n var returnTarget = false;\n if (patchOptions && patchOptions.rt !== undefined) {\n returnTarget = patchOptions.rt;\n }\n var proto = obj;\n while (proto && !proto.hasOwnProperty(ADD_EVENT_LISTENER)) {\n proto = ObjectGetPrototypeOf(proto);\n }\n if (!proto && obj[ADD_EVENT_LISTENER]) {\n // somehow we did not find it, but we can see it. This happens on IE for Window properties.\n proto = obj;\n }\n if (!proto) {\n return false;\n }\n if (proto[zoneSymbolAddEventListener]) {\n return false;\n }\n var eventNameToString = patchOptions && patchOptions.eventNameToString;\n // a shared global taskData to pass data for scheduleEventTask\n // so we do not need to create a new object just for pass some data\n var taskData = {};\n var nativeAddEventListener = proto[zoneSymbolAddEventListener] = proto[ADD_EVENT_LISTENER];\n var nativeRemoveEventListener = proto[zoneSymbol(REMOVE_EVENT_LISTENER)] =\n proto[REMOVE_EVENT_LISTENER];\n var nativeListeners = proto[zoneSymbol(LISTENERS_EVENT_LISTENER)] =\n proto[LISTENERS_EVENT_LISTENER];\n var nativeRemoveAllListeners = proto[zoneSymbol(REMOVE_ALL_LISTENERS_EVENT_LISTENER)] =\n proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER];\n var nativePrependEventListener;\n if (patchOptions && patchOptions.prepend) {\n nativePrependEventListener = proto[zoneSymbol(patchOptions.prepend)] =\n proto[patchOptions.prepend];\n }\n function checkIsPassive(task) {\n if (!passiveSupported && typeof taskData.options !== 'boolean' &&\n typeof taskData.options !== 'undefined' && taskData.options !== null) {\n // options is a non-null non-undefined object\n // passive is not supported\n // don't pass options as object\n // just pass capture as a boolean\n task.options = !!taskData.options.capture;\n taskData.options = task.options;\n }\n }\n var customScheduleGlobal = function (task) {\n // if there is already a task for the eventName + capture,\n // just return, because we use the shared globalZoneAwareCallback here.\n if (taskData.isExisting) {\n return;\n }\n checkIsPassive(task);\n return nativeAddEventListener.call(taskData.target, taskData.eventName, taskData.capture ? globalZoneAwareCaptureCallback : globalZoneAwareCallback, taskData.options);\n };\n var customCancelGlobal = function (task) {\n // if task is not marked as isRemoved, this call is directly\n // from Zone.prototype.cancelTask, we should remove the task\n // from tasksList of target first\n if (!task.isRemoved) {\n var symbolEventNames = zoneSymbolEventNames$1[task.eventName];\n var symbolEventName = void 0;\n if (symbolEventNames) {\n symbolEventName = symbolEventNames[task.capture ? TRUE_STR : FALSE_STR];\n }\n var existingTasks = symbolEventName && task.target[symbolEventName];\n if (existingTasks) {\n for (var i = 0; i < existingTasks.length; i++) {\n var existingTask = existingTasks[i];\n if (existingTask === task) {\n existingTasks.splice(i, 1);\n // set isRemoved to data for faster invokeTask check\n task.isRemoved = true;\n if (existingTasks.length === 0) {\n // all tasks for the eventName + capture have gone,\n // remove globalZoneAwareCallback and remove the task cache from target\n task.allRemoved = true;\n task.target[symbolEventName] = null;\n }\n break;\n }\n }\n }\n }\n // if all tasks for the eventName + capture have gone,\n // we will really remove the global event callback,\n // if not, return\n if (!task.allRemoved) {\n return;\n }\n return nativeRemoveEventListener.call(task.target, task.eventName, task.capture ? globalZoneAwareCaptureCallback : globalZoneAwareCallback, task.options);\n };\n var customScheduleNonGlobal = function (task) {\n checkIsPassive(task);\n return nativeAddEventListener.call(taskData.target, taskData.eventName, task.invoke, taskData.options);\n };\n var customSchedulePrepend = function (task) {\n return nativePrependEventListener.call(taskData.target, taskData.eventName, task.invoke, taskData.options);\n };\n var customCancelNonGlobal = function (task) {\n return nativeRemoveEventListener.call(task.target, task.eventName, task.invoke, task.options);\n };\n var customSchedule = useGlobalCallback ? customScheduleGlobal : customScheduleNonGlobal;\n var customCancel = useGlobalCallback ? customCancelGlobal : customCancelNonGlobal;\n var compareTaskCallbackVsDelegate = function (task, delegate) {\n var typeOfDelegate = typeof delegate;\n return (typeOfDelegate === 'function' && task.callback === delegate) ||\n (typeOfDelegate === 'object' && task.originalDelegate === delegate);\n };\n var compare = (patchOptions && patchOptions.diff) ? patchOptions.diff : compareTaskCallbackVsDelegate;\n var blackListedEvents = Zone[Zone.__symbol__('BLACK_LISTED_EVENTS')];\n var makeAddListener = function (nativeListener, addSource, customScheduleFn, customCancelFn, returnTarget, prepend) {\n if (returnTarget === void 0) { returnTarget = false; }\n if (prepend === void 0) { prepend = false; }\n return function () {\n var target = this || _global;\n var eventName = arguments[0];\n var delegate = arguments[1];\n if (!delegate) {\n return nativeListener.apply(this, arguments);\n }\n if (isNode && eventName === 'uncaughtException') {\n // don't patch uncaughtException of nodejs to prevent endless loop\n return nativeListener.apply(this, arguments);\n }\n // don't create the bind delegate function for handleEvent\n // case here to improve addEventListener performance\n // we will create the bind delegate when invoke\n var isHandleEvent = false;\n if (typeof delegate !== 'function') {\n if (!delegate.handleEvent) {\n return nativeListener.apply(this, arguments);\n }\n isHandleEvent = true;\n }\n if (validateHandler && !validateHandler(nativeListener, delegate, target, arguments)) {\n return;\n }\n var options = arguments[2];\n if (blackListedEvents) {\n // check black list\n for (var i = 0; i < blackListedEvents.length; i++) {\n if (eventName === blackListedEvents[i]) {\n return nativeListener.apply(this, arguments);\n }\n }\n }\n var capture;\n var once = false;\n if (options === undefined) {\n capture = false;\n }\n else if (options === true) {\n capture = true;\n }\n else if (options === false) {\n capture = false;\n }\n else {\n capture = options ? !!options.capture : false;\n once = options ? !!options.once : false;\n }\n var zone = Zone.current;\n var symbolEventNames = zoneSymbolEventNames$1[eventName];\n var symbolEventName;\n if (!symbolEventNames) {\n // the code is duplicate, but I just want to get some better performance\n var falseEventName = (eventNameToString ? eventNameToString(eventName) : eventName) + FALSE_STR;\n var trueEventName = (eventNameToString ? eventNameToString(eventName) : eventName) + TRUE_STR;\n var symbol = ZONE_SYMBOL_PREFIX + falseEventName;\n var symbolCapture = ZONE_SYMBOL_PREFIX + trueEventName;\n zoneSymbolEventNames$1[eventName] = {};\n zoneSymbolEventNames$1[eventName][FALSE_STR] = symbol;\n zoneSymbolEventNames$1[eventName][TRUE_STR] = symbolCapture;\n symbolEventName = capture ? symbolCapture : symbol;\n }\n else {\n symbolEventName = symbolEventNames[capture ? TRUE_STR : FALSE_STR];\n }\n var existingTasks = target[symbolEventName];\n var isExisting = false;\n if (existingTasks) {\n // already have task registered\n isExisting = true;\n if (checkDuplicate) {\n for (var i = 0; i < existingTasks.length; i++) {\n if (compare(existingTasks[i], delegate)) {\n // same callback, same capture, same event name, just return\n return;\n }\n }\n }\n }\n else {\n existingTasks = target[symbolEventName] = [];\n }\n var source;\n var constructorName = target.constructor['name'];\n var targetSource = globalSources[constructorName];\n if (targetSource) {\n source = targetSource[eventName];\n }\n if (!source) {\n source = constructorName + addSource +\n (eventNameToString ? eventNameToString(eventName) : eventName);\n }\n // do not create a new object as task.data to pass those things\n // just use the global shared one\n taskData.options = options;\n if (once) {\n // if addEventListener with once options, we don't pass it to\n // native addEventListener, instead we keep the once setting\n // and handle ourselves.\n taskData.options.once = false;\n }\n taskData.target = target;\n taskData.capture = capture;\n taskData.eventName = eventName;\n taskData.isExisting = isExisting;\n var data = useGlobalCallback ? OPTIMIZED_ZONE_EVENT_TASK_DATA : undefined;\n // keep taskData into data to allow onScheduleEventTask to access the task information\n if (data) {\n data.taskData = taskData;\n }\n var task = zone.scheduleEventTask(source, delegate, data, customScheduleFn, customCancelFn);\n // should clear taskData.target to avoid memory leak\n // issue, https://github.com/angular/angular/issues/20442\n taskData.target = null;\n // need to clear up taskData because it is a global object\n if (data) {\n data.taskData = null;\n }\n // have to save those information to task in case\n // application may call task.zone.cancelTask() directly\n if (once) {\n options.once = true;\n }\n if (!(!passiveSupported && typeof task.options === 'boolean')) {\n // if not support passive, and we pass an option object\n // to addEventListener, we should save the options to task\n task.options = options;\n }\n task.target = target;\n task.capture = capture;\n task.eventName = eventName;\n if (isHandleEvent) {\n // save original delegate for compare to check duplicate\n task.originalDelegate = delegate;\n }\n if (!prepend) {\n existingTasks.push(task);\n }\n else {\n existingTasks.unshift(task);\n }\n if (returnTarget) {\n return target;\n }\n };\n };\n proto[ADD_EVENT_LISTENER] = makeAddListener(nativeAddEventListener, ADD_EVENT_LISTENER_SOURCE, customSchedule, customCancel, returnTarget);\n if (nativePrependEventListener) {\n proto[PREPEND_EVENT_LISTENER] = makeAddListener(nativePrependEventListener, PREPEND_EVENT_LISTENER_SOURCE, customSchedulePrepend, customCancel, returnTarget, true);\n }\n proto[REMOVE_EVENT_LISTENER] = function () {\n var target = this || _global;\n var eventName = arguments[0];\n var options = arguments[2];\n var capture;\n if (options === undefined) {\n capture = false;\n }\n else if (options === true) {\n capture = true;\n }\n else if (options === false) {\n capture = false;\n }\n else {\n capture = options ? !!options.capture : false;\n }\n var delegate = arguments[1];\n if (!delegate) {\n return nativeRemoveEventListener.apply(this, arguments);\n }\n if (validateHandler &&\n !validateHandler(nativeRemoveEventListener, delegate, target, arguments)) {\n return;\n }\n var symbolEventNames = zoneSymbolEventNames$1[eventName];\n var symbolEventName;\n if (symbolEventNames) {\n symbolEventName = symbolEventNames[capture ? TRUE_STR : FALSE_STR];\n }\n var existingTasks = symbolEventName && target[symbolEventName];\n if (existingTasks) {\n for (var i = 0; i < existingTasks.length; i++) {\n var existingTask = existingTasks[i];\n if (compare(existingTask, delegate)) {\n existingTasks.splice(i, 1);\n // set isRemoved to data for faster invokeTask check\n existingTask.isRemoved = true;\n if (existingTasks.length === 0) {\n // all tasks for the eventName + capture have gone,\n // remove globalZoneAwareCallback and remove the task cache from target\n existingTask.allRemoved = true;\n target[symbolEventName] = null;\n }\n existingTask.zone.cancelTask(existingTask);\n if (returnTarget) {\n return target;\n }\n return;\n }\n }\n }\n // issue 930, didn't find the event name or callback\n // from zone kept existingTasks, the callback maybe\n // added outside of zone, we need to call native removeEventListener\n // to try to remove it.\n return nativeRemoveEventListener.apply(this, arguments);\n };\n proto[LISTENERS_EVENT_LISTENER] = function () {\n var target = this || _global;\n var eventName = arguments[0];\n var listeners = [];\n var tasks = findEventTasks(target, eventNameToString ? eventNameToString(eventName) : eventName);\n for (var i = 0; i < tasks.length; i++) {\n var task = tasks[i];\n var delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n listeners.push(delegate);\n }\n return listeners;\n };\n proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER] = function () {\n var target = this || _global;\n var eventName = arguments[0];\n if (!eventName) {\n var keys = Object.keys(target);\n for (var i = 0; i < keys.length; i++) {\n var prop = keys[i];\n var match = EVENT_NAME_SYMBOL_REGX.exec(prop);\n var evtName = match && match[1];\n // in nodejs EventEmitter, removeListener event is\n // used for monitoring the removeListener call,\n // so just keep removeListener eventListener until\n // all other eventListeners are removed\n if (evtName && evtName !== 'removeListener') {\n this[REMOVE_ALL_LISTENERS_EVENT_LISTENER].call(this, evtName);\n }\n }\n // remove removeListener listener finally\n this[REMOVE_ALL_LISTENERS_EVENT_LISTENER].call(this, 'removeListener');\n }\n else {\n var symbolEventNames = zoneSymbolEventNames$1[eventName];\n if (symbolEventNames) {\n var symbolEventName = symbolEventNames[FALSE_STR];\n var symbolCaptureEventName = symbolEventNames[TRUE_STR];\n var tasks = target[symbolEventName];\n var captureTasks = target[symbolCaptureEventName];\n if (tasks) {\n var removeTasks = tasks.slice();\n for (var i = 0; i < removeTasks.length; i++) {\n var task = removeTasks[i];\n var delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n this[REMOVE_EVENT_LISTENER].call(this, eventName, delegate, task.options);\n }\n }\n if (captureTasks) {\n var removeTasks = captureTasks.slice();\n for (var i = 0; i < removeTasks.length; i++) {\n var task = removeTasks[i];\n var delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n this[REMOVE_EVENT_LISTENER].call(this, eventName, delegate, task.options);\n }\n }\n }\n }\n if (returnTarget) {\n return this;\n }\n };\n // for native toString patch\n attachOriginToPatched(proto[ADD_EVENT_LISTENER], nativeAddEventListener);\n attachOriginToPatched(proto[REMOVE_EVENT_LISTENER], nativeRemoveEventListener);\n if (nativeRemoveAllListeners) {\n attachOriginToPatched(proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER], nativeRemoveAllListeners);\n }\n if (nativeListeners) {\n attachOriginToPatched(proto[LISTENERS_EVENT_LISTENER], nativeListeners);\n }\n return true;\n }\n var results = [];\n for (var i = 0; i < apis.length; i++) {\n results[i] = patchEventTargetMethods(apis[i], patchOptions);\n }\n return results;\n}\nfunction findEventTasks(target, eventName) {\n var foundTasks = [];\n for (var prop in target) {\n var match = EVENT_NAME_SYMBOL_REGX.exec(prop);\n var evtName = match && match[1];\n if (evtName && (!eventName || evtName === eventName)) {\n var tasks = target[prop];\n if (tasks) {\n for (var i = 0; i < tasks.length; i++) {\n foundTasks.push(tasks[i]);\n }\n }\n }\n }\n return foundTasks;\n}\nfunction patchEventPrototype(global, api) {\n var Event = global['Event'];\n if (Event && Event.prototype) {\n api.patchMethod(Event.prototype, 'stopImmediatePropagation', function (delegate) { return function (self, args) {\n self[IMMEDIATE_PROPAGATION_SYMBOL] = true;\n // we need to call the native stopImmediatePropagation\n // in case in some hybrid application, some part of\n // application will be controlled by zone, some are not\n delegate && delegate.apply(self, args);\n }; });\n }\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @fileoverview\n * @suppress {missingRequire}\n */\nvar taskSymbol = zoneSymbol('zoneTask');\nfunction patchTimer(window, setName, cancelName, nameSuffix) {\n var setNative = null;\n var clearNative = null;\n setName += nameSuffix;\n cancelName += nameSuffix;\n var tasksByHandleId = {};\n function scheduleTask(task) {\n var data = task.data;\n function timer() {\n try {\n task.invoke.apply(this, arguments);\n }\n finally {\n // issue-934, task will be cancelled\n // even it is a periodic task such as\n // setInterval\n if (!(task.data && task.data.isPeriodic)) {\n if (typeof data.handleId === 'number') {\n // in non-nodejs env, we remove timerId\n // from local cache\n delete tasksByHandleId[data.handleId];\n }\n else if (data.handleId) {\n // Node returns complex objects as handleIds\n // we remove task reference from timer object\n data.handleId[taskSymbol] = null;\n }\n }\n }\n }\n data.args[0] = timer;\n data.handleId = setNative.apply(window, data.args);\n return task;\n }\n function clearTask(task) {\n return clearNative(task.data.handleId);\n }\n setNative =\n patchMethod(window, setName, function (delegate) { return function (self, args) {\n if (typeof args[0] === 'function') {\n var options = {\n isPeriodic: nameSuffix === 'Interval',\n delay: (nameSuffix === 'Timeout' || nameSuffix === 'Interval') ? args[1] || 0 :\n undefined,\n args: args\n };\n var task = scheduleMacroTaskWithCurrentZone(setName, args[0], options, scheduleTask, clearTask);\n if (!task) {\n return task;\n }\n // Node.js must additionally support the ref and unref functions.\n var handle = task.data.handleId;\n if (typeof handle === 'number') {\n // for non nodejs env, we save handleId: task\n // mapping in local cache for clearTimeout\n tasksByHandleId[handle] = task;\n }\n else if (handle) {\n // for nodejs env, we save task\n // reference in timerId Object for clearTimeout\n handle[taskSymbol] = task;\n }\n // check whether handle is null, because some polyfill or browser\n // may return undefined from setTimeout/setInterval/setImmediate/requestAnimationFrame\n if (handle && handle.ref && handle.unref && typeof handle.ref === 'function' &&\n typeof handle.unref === 'function') {\n task.ref = handle.ref.bind(handle);\n task.unref = handle.unref.bind(handle);\n }\n if (typeof handle === 'number' || handle) {\n return handle;\n }\n return task;\n }\n else {\n // cause an error by calling it directly.\n return delegate.apply(window, args);\n }\n }; });\n clearNative =\n patchMethod(window, cancelName, function (delegate) { return function (self, args) {\n var id = args[0];\n var task;\n if (typeof id === 'number') {\n // non nodejs env.\n task = tasksByHandleId[id];\n }\n else {\n // nodejs env.\n task = id && id[taskSymbol];\n // other environments.\n if (!task) {\n task = id;\n }\n }\n if (task && typeof task.type === 'string') {\n if (task.state !== 'notScheduled' &&\n (task.cancelFn && task.data.isPeriodic || task.runCount === 0)) {\n if (typeof id === 'number') {\n delete tasksByHandleId[id];\n }\n else if (id) {\n id[taskSymbol] = null;\n }\n // Do not cancel already canceled functions\n task.zone.cancelTask(task);\n }\n }\n else {\n // cause an error by calling it directly.\n delegate.apply(window, args);\n }\n }; });\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/*\n * This is necessary for Chrome and Chrome mobile, to enable\n * things like redefining `createdCallback` on an element.\n */\nvar _defineProperty = Object[zoneSymbol('defineProperty')] = Object.defineProperty;\nvar _getOwnPropertyDescriptor = Object[zoneSymbol('getOwnPropertyDescriptor')] =\n Object.getOwnPropertyDescriptor;\nvar _create = Object.create;\nvar unconfigurablesKey = zoneSymbol('unconfigurables');\nfunction propertyPatch() {\n Object.defineProperty = function (obj, prop, desc) {\n if (isUnconfigurable(obj, prop)) {\n throw new TypeError('Cannot assign to read only property \\'' + prop + '\\' of ' + obj);\n }\n var originalConfigurableFlag = desc.configurable;\n if (prop !== 'prototype') {\n desc = rewriteDescriptor(obj, prop, desc);\n }\n return _tryDefineProperty(obj, prop, desc, originalConfigurableFlag);\n };\n Object.defineProperties = function (obj, props) {\n Object.keys(props).forEach(function (prop) {\n Object.defineProperty(obj, prop, props[prop]);\n });\n return obj;\n };\n Object.create = function (obj, proto) {\n if (typeof proto === 'object' && !Object.isFrozen(proto)) {\n Object.keys(proto).forEach(function (prop) {\n proto[prop] = rewriteDescriptor(obj, prop, proto[prop]);\n });\n }\n return _create(obj, proto);\n };\n Object.getOwnPropertyDescriptor = function (obj, prop) {\n var desc = _getOwnPropertyDescriptor(obj, prop);\n if (desc && isUnconfigurable(obj, prop)) {\n desc.configurable = false;\n }\n return desc;\n };\n}\nfunction _redefineProperty(obj, prop, desc) {\n var originalConfigurableFlag = desc.configurable;\n desc = rewriteDescriptor(obj, prop, desc);\n return _tryDefineProperty(obj, prop, desc, originalConfigurableFlag);\n}\nfunction isUnconfigurable(obj, prop) {\n return obj && obj[unconfigurablesKey] && obj[unconfigurablesKey][prop];\n}\nfunction rewriteDescriptor(obj, prop, desc) {\n // issue-927, if the desc is frozen, don't try to change the desc\n if (!Object.isFrozen(desc)) {\n desc.configurable = true;\n }\n if (!desc.configurable) {\n // issue-927, if the obj is frozen, don't try to set the desc to obj\n if (!obj[unconfigurablesKey] && !Object.isFrozen(obj)) {\n _defineProperty(obj, unconfigurablesKey, { writable: true, value: {} });\n }\n if (obj[unconfigurablesKey]) {\n obj[unconfigurablesKey][prop] = true;\n }\n }\n return desc;\n}\nfunction _tryDefineProperty(obj, prop, desc, originalConfigurableFlag) {\n try {\n return _defineProperty(obj, prop, desc);\n }\n catch (error) {\n if (desc.configurable) {\n // In case of errors, when the configurable flag was likely set by rewriteDescriptor(), let's\n // retry with the original flag value\n if (typeof originalConfigurableFlag == 'undefined') {\n delete desc.configurable;\n }\n else {\n desc.configurable = originalConfigurableFlag;\n }\n try {\n return _defineProperty(obj, prop, desc);\n }\n catch (error) {\n var descJson = null;\n try {\n descJson = JSON.stringify(desc);\n }\n catch (error) {\n descJson = desc.toString();\n }\n console.log(\"Attempting to configure '\" + prop + \"' with descriptor '\" + descJson + \"' on object '\" + obj + \"' and got error, giving up: \" + error);\n }\n }\n else {\n throw error;\n }\n }\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// we have to patch the instance since the proto is non-configurable\nfunction apply(api, _global) {\n var WS = _global.WebSocket;\n // On Safari window.EventTarget doesn't exist so need to patch WS add/removeEventListener\n // On older Chrome, no need since EventTarget was already patched\n if (!_global.EventTarget) {\n patchEventTarget(_global, [WS.prototype]);\n }\n _global.WebSocket = function (x, y) {\n var socket = arguments.length > 1 ? new WS(x, y) : new WS(x);\n var proxySocket;\n var proxySocketProto;\n // Safari 7.0 has non-configurable own 'onmessage' and friends properties on the socket instance\n var onmessageDesc = ObjectGetOwnPropertyDescriptor(socket, 'onmessage');\n if (onmessageDesc && onmessageDesc.configurable === false) {\n proxySocket = ObjectCreate(socket);\n // socket have own property descriptor 'onopen', 'onmessage', 'onclose', 'onerror'\n // but proxySocket not, so we will keep socket as prototype and pass it to\n // patchOnProperties method\n proxySocketProto = socket;\n [ADD_EVENT_LISTENER_STR, REMOVE_EVENT_LISTENER_STR, 'send', 'close'].forEach(function (propName) {\n proxySocket[propName] = function () {\n var args = ArraySlice.call(arguments);\n if (propName === ADD_EVENT_LISTENER_STR || propName === REMOVE_EVENT_LISTENER_STR) {\n var eventName = args.length > 0 ? args[0] : undefined;\n if (eventName) {\n var propertySymbol = Zone.__symbol__('ON_PROPERTY' + eventName);\n socket[propertySymbol] = proxySocket[propertySymbol];\n }\n }\n return socket[propName].apply(socket, args);\n };\n });\n }\n else {\n // we can patch the real socket\n proxySocket = socket;\n }\n patchOnProperties(proxySocket, ['close', 'error', 'message', 'open'], proxySocketProto);\n return proxySocket;\n };\n var globalWebSocket = _global['WebSocket'];\n for (var prop in WS) {\n globalWebSocket[prop] = WS[prop];\n }\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @fileoverview\n * @suppress {globalThis}\n */\nvar globalEventHandlersEventNames = [\n 'abort',\n 'animationcancel',\n 'animationend',\n 'animationiteration',\n 'auxclick',\n 'beforeinput',\n 'blur',\n 'cancel',\n 'canplay',\n 'canplaythrough',\n 'change',\n 'compositionstart',\n 'compositionupdate',\n 'compositionend',\n 'cuechange',\n 'click',\n 'close',\n 'contextmenu',\n 'curechange',\n 'dblclick',\n 'drag',\n 'dragend',\n 'dragenter',\n 'dragexit',\n 'dragleave',\n 'dragover',\n 'drop',\n 'durationchange',\n 'emptied',\n 'ended',\n 'error',\n 'focus',\n 'focusin',\n 'focusout',\n 'gotpointercapture',\n 'input',\n 'invalid',\n 'keydown',\n 'keypress',\n 'keyup',\n 'load',\n 'loadstart',\n 'loadeddata',\n 'loadedmetadata',\n 'lostpointercapture',\n 'mousedown',\n 'mouseenter',\n 'mouseleave',\n 'mousemove',\n 'mouseout',\n 'mouseover',\n 'mouseup',\n 'mousewheel',\n 'orientationchange',\n 'pause',\n 'play',\n 'playing',\n 'pointercancel',\n 'pointerdown',\n 'pointerenter',\n 'pointerleave',\n 'pointerlockchange',\n 'mozpointerlockchange',\n 'webkitpointerlockerchange',\n 'pointerlockerror',\n 'mozpointerlockerror',\n 'webkitpointerlockerror',\n 'pointermove',\n 'pointout',\n 'pointerover',\n 'pointerup',\n 'progress',\n 'ratechange',\n 'reset',\n 'resize',\n 'scroll',\n 'seeked',\n 'seeking',\n 'select',\n 'selectionchange',\n 'selectstart',\n 'show',\n 'sort',\n 'stalled',\n 'submit',\n 'suspend',\n 'timeupdate',\n 'volumechange',\n 'touchcancel',\n 'touchmove',\n 'touchstart',\n 'touchend',\n 'transitioncancel',\n 'transitionend',\n 'waiting',\n 'wheel'\n];\nvar documentEventNames = [\n 'afterscriptexecute', 'beforescriptexecute', 'DOMContentLoaded', 'freeze', 'fullscreenchange',\n 'mozfullscreenchange', 'webkitfullscreenchange', 'msfullscreenchange', 'fullscreenerror',\n 'mozfullscreenerror', 'webkitfullscreenerror', 'msfullscreenerror', 'readystatechange',\n 'visibilitychange', 'resume'\n];\nvar windowEventNames = [\n 'absolutedeviceorientation',\n 'afterinput',\n 'afterprint',\n 'appinstalled',\n 'beforeinstallprompt',\n 'beforeprint',\n 'beforeunload',\n 'devicelight',\n 'devicemotion',\n 'deviceorientation',\n 'deviceorientationabsolute',\n 'deviceproximity',\n 'hashchange',\n 'languagechange',\n 'message',\n 'mozbeforepaint',\n 'offline',\n 'online',\n 'paint',\n 'pageshow',\n 'pagehide',\n 'popstate',\n 'rejectionhandled',\n 'storage',\n 'unhandledrejection',\n 'unload',\n 'userproximity',\n 'vrdisplyconnected',\n 'vrdisplaydisconnected',\n 'vrdisplaypresentchange'\n];\nvar htmlElementEventNames = [\n 'beforecopy', 'beforecut', 'beforepaste', 'copy', 'cut', 'paste', 'dragstart', 'loadend',\n 'animationstart', 'search', 'transitionrun', 'transitionstart', 'webkitanimationend',\n 'webkitanimationiteration', 'webkitanimationstart', 'webkittransitionend'\n];\nvar mediaElementEventNames = ['encrypted', 'waitingforkey', 'msneedkey', 'mozinterruptbegin', 'mozinterruptend'];\nvar ieElementEventNames = [\n 'activate',\n 'afterupdate',\n 'ariarequest',\n 'beforeactivate',\n 'beforedeactivate',\n 'beforeeditfocus',\n 'beforeupdate',\n 'cellchange',\n 'controlselect',\n 'dataavailable',\n 'datasetchanged',\n 'datasetcomplete',\n 'errorupdate',\n 'filterchange',\n 'layoutcomplete',\n 'losecapture',\n 'move',\n 'moveend',\n 'movestart',\n 'propertychange',\n 'resizeend',\n 'resizestart',\n 'rowenter',\n 'rowexit',\n 'rowsdelete',\n 'rowsinserted',\n 'command',\n 'compassneedscalibration',\n 'deactivate',\n 'help',\n 'mscontentzoom',\n 'msmanipulationstatechanged',\n 'msgesturechange',\n 'msgesturedoubletap',\n 'msgestureend',\n 'msgesturehold',\n 'msgesturestart',\n 'msgesturetap',\n 'msgotpointercapture',\n 'msinertiastart',\n 'mslostpointercapture',\n 'mspointercancel',\n 'mspointerdown',\n 'mspointerenter',\n 'mspointerhover',\n 'mspointerleave',\n 'mspointermove',\n 'mspointerout',\n 'mspointerover',\n 'mspointerup',\n 'pointerout',\n 'mssitemodejumplistitemremoved',\n 'msthumbnailclick',\n 'stop',\n 'storagecommit'\n];\nvar webglEventNames = ['webglcontextrestored', 'webglcontextlost', 'webglcontextcreationerror'];\nvar formEventNames = ['autocomplete', 'autocompleteerror'];\nvar detailEventNames = ['toggle'];\nvar frameEventNames = ['load'];\nvar frameSetEventNames = ['blur', 'error', 'focus', 'load', 'resize', 'scroll', 'messageerror'];\nvar marqueeEventNames = ['bounce', 'finish', 'start'];\nvar XMLHttpRequestEventNames = [\n 'loadstart', 'progress', 'abort', 'error', 'load', 'progress', 'timeout', 'loadend',\n 'readystatechange'\n];\nvar IDBIndexEventNames = ['upgradeneeded', 'complete', 'abort', 'success', 'error', 'blocked', 'versionchange', 'close'];\nvar websocketEventNames = ['close', 'error', 'open', 'message'];\nvar workerEventNames = ['error', 'message'];\nvar eventNames = globalEventHandlersEventNames.concat(webglEventNames, formEventNames, detailEventNames, documentEventNames, windowEventNames, htmlElementEventNames, ieElementEventNames);\nfunction filterProperties(target, onProperties, ignoreProperties) {\n if (!ignoreProperties || ignoreProperties.length === 0) {\n return onProperties;\n }\n var tip = ignoreProperties.filter(function (ip) { return ip.target === target; });\n if (!tip || tip.length === 0) {\n return onProperties;\n }\n var targetIgnoreProperties = tip[0].ignoreProperties;\n return onProperties.filter(function (op) { return targetIgnoreProperties.indexOf(op) === -1; });\n}\nfunction patchFilteredProperties(target, onProperties, ignoreProperties, prototype) {\n // check whether target is available, sometimes target will be undefined\n // because different browser or some 3rd party plugin.\n if (!target) {\n return;\n }\n var filteredProperties = filterProperties(target, onProperties, ignoreProperties);\n patchOnProperties(target, filteredProperties, prototype);\n}\nfunction propertyDescriptorPatch(api, _global) {\n if (isNode && !isMix) {\n return;\n }\n var supportsWebSocket = typeof WebSocket !== 'undefined';\n if (canPatchViaPropertyDescriptor()) {\n var ignoreProperties = _global['__Zone_ignore_on_properties'];\n // for browsers that we can patch the descriptor: Chrome & Firefox\n if (isBrowser) {\n var internalWindow = window;\n var ignoreErrorProperties = isIE ? [{ target: internalWindow, ignoreProperties: ['error'] }] : [];\n // in IE/Edge, onProp not exist in window object, but in WindowPrototype\n // so we need to pass WindowPrototype to check onProp exist or not\n patchFilteredProperties(internalWindow, eventNames.concat(['messageerror']), ignoreProperties ? ignoreProperties.concat(ignoreErrorProperties) : ignoreProperties, ObjectGetPrototypeOf(internalWindow));\n patchFilteredProperties(Document.prototype, eventNames, ignoreProperties);\n if (typeof internalWindow['SVGElement'] !== 'undefined') {\n patchFilteredProperties(internalWindow['SVGElement'].prototype, eventNames, ignoreProperties);\n }\n patchFilteredProperties(Element.prototype, eventNames, ignoreProperties);\n patchFilteredProperties(HTMLElement.prototype, eventNames, ignoreProperties);\n patchFilteredProperties(HTMLMediaElement.prototype, mediaElementEventNames, ignoreProperties);\n patchFilteredProperties(HTMLFrameSetElement.prototype, windowEventNames.concat(frameSetEventNames), ignoreProperties);\n patchFilteredProperties(HTMLBodyElement.prototype, windowEventNames.concat(frameSetEventNames), ignoreProperties);\n patchFilteredProperties(HTMLFrameElement.prototype, frameEventNames, ignoreProperties);\n patchFilteredProperties(HTMLIFrameElement.prototype, frameEventNames, ignoreProperties);\n var HTMLMarqueeElement_1 = internalWindow['HTMLMarqueeElement'];\n if (HTMLMarqueeElement_1) {\n patchFilteredProperties(HTMLMarqueeElement_1.prototype, marqueeEventNames, ignoreProperties);\n }\n var Worker_1 = internalWindow['Worker'];\n if (Worker_1) {\n patchFilteredProperties(Worker_1.prototype, workerEventNames, ignoreProperties);\n }\n }\n patchFilteredProperties(XMLHttpRequest.prototype, XMLHttpRequestEventNames, ignoreProperties);\n var XMLHttpRequestEventTarget_1 = _global['XMLHttpRequestEventTarget'];\n if (XMLHttpRequestEventTarget_1) {\n patchFilteredProperties(XMLHttpRequestEventTarget_1 && XMLHttpRequestEventTarget_1.prototype, XMLHttpRequestEventNames, ignoreProperties);\n }\n if (typeof IDBIndex !== 'undefined') {\n patchFilteredProperties(IDBIndex.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBRequest.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBOpenDBRequest.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBDatabase.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBTransaction.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBCursor.prototype, IDBIndexEventNames, ignoreProperties);\n }\n if (supportsWebSocket) {\n patchFilteredProperties(WebSocket.prototype, websocketEventNames, ignoreProperties);\n }\n }\n else {\n // Safari, Android browsers (Jelly Bean)\n patchViaCapturingAllTheEvents();\n patchClass('XMLHttpRequest');\n if (supportsWebSocket) {\n apply(api, _global);\n }\n }\n}\nfunction canPatchViaPropertyDescriptor() {\n if ((isBrowser || isMix) && !ObjectGetOwnPropertyDescriptor(HTMLElement.prototype, 'onclick') &&\n typeof Element !== 'undefined') {\n // WebKit https://bugs.webkit.org/show_bug.cgi?id=134364\n // IDL interface attributes are not configurable\n var desc = ObjectGetOwnPropertyDescriptor(Element.prototype, 'onclick');\n if (desc && !desc.configurable)\n return false;\n }\n var ON_READY_STATE_CHANGE = 'onreadystatechange';\n var XMLHttpRequestPrototype = XMLHttpRequest.prototype;\n var xhrDesc = ObjectGetOwnPropertyDescriptor(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE);\n // add enumerable and configurable here because in opera\n // by default XMLHttpRequest.prototype.onreadystatechange is undefined\n // without adding enumerable and configurable will cause onreadystatechange\n // non-configurable\n // and if XMLHttpRequest.prototype.onreadystatechange is undefined,\n // we should set a real desc instead a fake one\n if (xhrDesc) {\n ObjectDefineProperty(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE, {\n enumerable: true,\n configurable: true,\n get: function () {\n return true;\n }\n });\n var req = new XMLHttpRequest();\n var result = !!req.onreadystatechange;\n // restore original desc\n ObjectDefineProperty(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE, xhrDesc || {});\n return result;\n }\n else {\n var SYMBOL_FAKE_ONREADYSTATECHANGE_1 = zoneSymbol('fake');\n ObjectDefineProperty(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE, {\n enumerable: true,\n configurable: true,\n get: function () {\n return this[SYMBOL_FAKE_ONREADYSTATECHANGE_1];\n },\n set: function (value) {\n this[SYMBOL_FAKE_ONREADYSTATECHANGE_1] = value;\n }\n });\n var req = new XMLHttpRequest();\n var detectFunc = function () { };\n req.onreadystatechange = detectFunc;\n var result = req[SYMBOL_FAKE_ONREADYSTATECHANGE_1] === detectFunc;\n req.onreadystatechange = null;\n return result;\n }\n}\nvar unboundKey = zoneSymbol('unbound');\n// Whenever any eventListener fires, we check the eventListener target and all parents\n// for `onwhatever` properties and replace them with zone-bound functions\n// - Chrome (for now)\nfunction patchViaCapturingAllTheEvents() {\n var _loop_1 = function (i) {\n var property = eventNames[i];\n var onproperty = 'on' + property;\n self.addEventListener(property, function (event) {\n var elt = event.target, bound, source;\n if (elt) {\n source = elt.constructor['name'] + '.' + onproperty;\n }\n else {\n source = 'unknown.' + onproperty;\n }\n while (elt) {\n if (elt[onproperty] && !elt[onproperty][unboundKey]) {\n bound = wrapWithCurrentZone(elt[onproperty], source);\n bound[unboundKey] = elt[onproperty];\n elt[onproperty] = bound;\n }\n elt = elt.parentElement;\n }\n }, true);\n };\n for (var i = 0; i < eventNames.length; i++) {\n _loop_1(i);\n }\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction eventTargetPatch(_global, api) {\n var WTF_ISSUE_555 = 'Anchor,Area,Audio,BR,Base,BaseFont,Body,Button,Canvas,Content,DList,Directory,Div,Embed,FieldSet,Font,Form,Frame,FrameSet,HR,Head,Heading,Html,IFrame,Image,Input,Keygen,LI,Label,Legend,Link,Map,Marquee,Media,Menu,Meta,Meter,Mod,OList,Object,OptGroup,Option,Output,Paragraph,Pre,Progress,Quote,Script,Select,Source,Span,Style,TableCaption,TableCell,TableCol,Table,TableRow,TableSection,TextArea,Title,Track,UList,Unknown,Video';\n var NO_EVENT_TARGET = 'ApplicationCache,EventSource,FileReader,InputMethodContext,MediaController,MessagePort,Node,Performance,SVGElementInstance,SharedWorker,TextTrack,TextTrackCue,TextTrackList,WebKitNamedFlow,Window,Worker,WorkerGlobalScope,XMLHttpRequest,XMLHttpRequestEventTarget,XMLHttpRequestUpload,IDBRequest,IDBOpenDBRequest,IDBDatabase,IDBTransaction,IDBCursor,DBIndex,WebSocket'\n .split(',');\n var EVENT_TARGET = 'EventTarget';\n var apis = [];\n var isWtf = _global['wtf'];\n var WTF_ISSUE_555_ARRAY = WTF_ISSUE_555.split(',');\n if (isWtf) {\n // Workaround for: https://github.com/google/tracing-framework/issues/555\n apis = WTF_ISSUE_555_ARRAY.map(function (v) { return 'HTML' + v + 'Element'; }).concat(NO_EVENT_TARGET);\n }\n else if (_global[EVENT_TARGET]) {\n apis.push(EVENT_TARGET);\n }\n else {\n // Note: EventTarget is not available in all browsers,\n // if it's not available, we instead patch the APIs in the IDL that inherit from EventTarget\n apis = NO_EVENT_TARGET;\n }\n var isDisableIECheck = _global['__Zone_disable_IE_check'] || false;\n var isEnableCrossContextCheck = _global['__Zone_enable_cross_context_check'] || false;\n var ieOrEdge = isIEOrEdge();\n var ADD_EVENT_LISTENER_SOURCE = '.addEventListener:';\n var FUNCTION_WRAPPER = '[object FunctionWrapper]';\n var BROWSER_TOOLS = 'function __BROWSERTOOLS_CONSOLE_SAFEFUNC() { [native code] }';\n // predefine all __zone_symbol__ + eventName + true/false string\n for (var i = 0; i < eventNames.length; i++) {\n var eventName = eventNames[i];\n var falseEventName = eventName + FALSE_STR;\n var trueEventName = eventName + TRUE_STR;\n var symbol = ZONE_SYMBOL_PREFIX + falseEventName;\n var symbolCapture = ZONE_SYMBOL_PREFIX + trueEventName;\n zoneSymbolEventNames$1[eventName] = {};\n zoneSymbolEventNames$1[eventName][FALSE_STR] = symbol;\n zoneSymbolEventNames$1[eventName][TRUE_STR] = symbolCapture;\n }\n // predefine all task.source string\n for (var i = 0; i < WTF_ISSUE_555.length; i++) {\n var target = WTF_ISSUE_555_ARRAY[i];\n var targets = globalSources[target] = {};\n for (var j = 0; j < eventNames.length; j++) {\n var eventName = eventNames[j];\n targets[eventName] = target + ADD_EVENT_LISTENER_SOURCE + eventName;\n }\n }\n var checkIEAndCrossContext = function (nativeDelegate, delegate, target, args) {\n if (!isDisableIECheck && ieOrEdge) {\n if (isEnableCrossContextCheck) {\n try {\n var testString = delegate.toString();\n if ((testString === FUNCTION_WRAPPER || testString == BROWSER_TOOLS)) {\n nativeDelegate.apply(target, args);\n return false;\n }\n }\n catch (error) {\n nativeDelegate.apply(target, args);\n return false;\n }\n }\n else {\n var testString = delegate.toString();\n if ((testString === FUNCTION_WRAPPER || testString == BROWSER_TOOLS)) {\n nativeDelegate.apply(target, args);\n return false;\n }\n }\n }\n else if (isEnableCrossContextCheck) {\n try {\n delegate.toString();\n }\n catch (error) {\n nativeDelegate.apply(target, args);\n return false;\n }\n }\n return true;\n };\n var apiTypes = [];\n for (var i = 0; i < apis.length; i++) {\n var type = _global[apis[i]];\n apiTypes.push(type && type.prototype);\n }\n // vh is validateHandler to check event handler\n // is valid or not(for security check)\n patchEventTarget(_global, apiTypes, { vh: checkIEAndCrossContext });\n api.patchEventTarget = patchEventTarget;\n return true;\n}\nfunction patchEvent(global, api) {\n patchEventPrototype(global, api);\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction patchCallbacks(target, targetName, method, callbacks) {\n var symbol = Zone.__symbol__(method);\n if (target[symbol]) {\n return;\n }\n var nativeDelegate = target[symbol] = target[method];\n target[method] = function (name, opts, options) {\n if (opts && opts.prototype) {\n callbacks.forEach(function (callback) {\n var source = targetName + \".\" + method + \"::\" + callback;\n var prototype = opts.prototype;\n if (prototype.hasOwnProperty(callback)) {\n var descriptor = ObjectGetOwnPropertyDescriptor(prototype, callback);\n if (descriptor && descriptor.value) {\n descriptor.value = wrapWithCurrentZone(descriptor.value, source);\n _redefineProperty(opts.prototype, callback, descriptor);\n }\n else if (prototype[callback]) {\n prototype[callback] = wrapWithCurrentZone(prototype[callback], source);\n }\n }\n else if (prototype[callback]) {\n prototype[callback] = wrapWithCurrentZone(prototype[callback], source);\n }\n });\n }\n return nativeDelegate.call(target, name, opts, options);\n };\n attachOriginToPatched(target[method], nativeDelegate);\n}\nfunction registerElementPatch(_global) {\n if ((!isBrowser && !isMix) || !('registerElement' in _global.document)) {\n return;\n }\n var callbacks = ['createdCallback', 'attachedCallback', 'detachedCallback', 'attributeChangedCallback'];\n patchCallbacks(document, 'Document', 'registerElement', callbacks);\n}\nfunction patchCustomElements(_global) {\n if ((!isBrowser && !isMix) || !('customElements' in _global)) {\n return;\n }\n var callbacks = ['connectedCallback', 'disconnectedCallback', 'adoptedCallback', 'attributeChangedCallback'];\n patchCallbacks(_global.customElements, 'customElements', 'define', callbacks);\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @fileoverview\n * @suppress {missingRequire}\n */\nZone.__load_patch('util', function (global, Zone, api) {\n api.patchOnProperties = patchOnProperties;\n api.patchMethod = patchMethod;\n api.bindArguments = bindArguments;\n});\nZone.__load_patch('timers', function (global) {\n var set = 'set';\n var clear = 'clear';\n patchTimer(global, set, clear, 'Timeout');\n patchTimer(global, set, clear, 'Interval');\n patchTimer(global, set, clear, 'Immediate');\n});\nZone.__load_patch('requestAnimationFrame', function (global) {\n patchTimer(global, 'request', 'cancel', 'AnimationFrame');\n patchTimer(global, 'mozRequest', 'mozCancel', 'AnimationFrame');\n patchTimer(global, 'webkitRequest', 'webkitCancel', 'AnimationFrame');\n});\nZone.__load_patch('blocking', function (global, Zone) {\n var blockingMethods = ['alert', 'prompt', 'confirm'];\n for (var i = 0; i < blockingMethods.length; i++) {\n var name_1 = blockingMethods[i];\n patchMethod(global, name_1, function (delegate, symbol, name) {\n return function (s, args) {\n return Zone.current.run(delegate, global, args, name);\n };\n });\n }\n});\nZone.__load_patch('EventTarget', function (global, Zone, api) {\n // load blackListEvents from global\n var SYMBOL_BLACK_LISTED_EVENTS = Zone.__symbol__('BLACK_LISTED_EVENTS');\n if (global[SYMBOL_BLACK_LISTED_EVENTS]) {\n Zone[SYMBOL_BLACK_LISTED_EVENTS] = global[SYMBOL_BLACK_LISTED_EVENTS];\n }\n patchEvent(global, api);\n eventTargetPatch(global, api);\n // patch XMLHttpRequestEventTarget's addEventListener/removeEventListener\n var XMLHttpRequestEventTarget = global['XMLHttpRequestEventTarget'];\n if (XMLHttpRequestEventTarget && XMLHttpRequestEventTarget.prototype) {\n api.patchEventTarget(global, [XMLHttpRequestEventTarget.prototype]);\n }\n patchClass('MutationObserver');\n patchClass('WebKitMutationObserver');\n patchClass('IntersectionObserver');\n patchClass('FileReader');\n});\nZone.__load_patch('on_property', function (global, Zone, api) {\n propertyDescriptorPatch(api, global);\n propertyPatch();\n});\nZone.__load_patch('customElements', function (global, Zone, api) {\n registerElementPatch(global);\n patchCustomElements(global);\n});\nZone.__load_patch('canvas', function (global) {\n var HTMLCanvasElement = global['HTMLCanvasElement'];\n if (typeof HTMLCanvasElement !== 'undefined' && HTMLCanvasElement.prototype &&\n HTMLCanvasElement.prototype.toBlob) {\n patchMacroTask(HTMLCanvasElement.prototype, 'toBlob', function (self, args) {\n return { name: 'HTMLCanvasElement.toBlob', target: self, cbIdx: 0, args: args };\n });\n }\n});\nZone.__load_patch('XHR', function (global, Zone) {\n // Treat XMLHttpRequest as a macrotask.\n patchXHR(global);\n var XHR_TASK = zoneSymbol('xhrTask');\n var XHR_SYNC = zoneSymbol('xhrSync');\n var XHR_LISTENER = zoneSymbol('xhrListener');\n var XHR_SCHEDULED = zoneSymbol('xhrScheduled');\n var XHR_URL = zoneSymbol('xhrURL');\n var XHR_ERROR_BEFORE_SCHEDULED = zoneSymbol('xhrErrorBeforeScheduled');\n function patchXHR(window) {\n var XMLHttpRequestPrototype = XMLHttpRequest.prototype;\n function findPendingTask(target) {\n return target[XHR_TASK];\n }\n var oriAddListener = XMLHttpRequestPrototype[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n var oriRemoveListener = XMLHttpRequestPrototype[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n if (!oriAddListener) {\n var XMLHttpRequestEventTarget_1 = window['XMLHttpRequestEventTarget'];\n if (XMLHttpRequestEventTarget_1) {\n var XMLHttpRequestEventTargetPrototype = XMLHttpRequestEventTarget_1.prototype;\n oriAddListener = XMLHttpRequestEventTargetPrototype[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n oriRemoveListener = XMLHttpRequestEventTargetPrototype[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n }\n }\n var READY_STATE_CHANGE = 'readystatechange';\n var SCHEDULED = 'scheduled';\n function scheduleTask(task) {\n var data = task.data;\n var target = data.target;\n target[XHR_SCHEDULED] = false;\n target[XHR_ERROR_BEFORE_SCHEDULED] = false;\n // remove existing event listener\n var listener = target[XHR_LISTENER];\n if (!oriAddListener) {\n oriAddListener = target[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n oriRemoveListener = target[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n }\n if (listener) {\n oriRemoveListener.call(target, READY_STATE_CHANGE, listener);\n }\n var newListener = target[XHR_LISTENER] = function () {\n if (target.readyState === target.DONE) {\n // sometimes on some browsers XMLHttpRequest will fire onreadystatechange with\n // readyState=4 multiple times, so we need to check task state here\n if (!data.aborted && target[XHR_SCHEDULED] && task.state === SCHEDULED) {\n // check whether the xhr has registered onload listener\n // if that is the case, the task should invoke after all\n // onload listeners finish.\n var loadTasks = target['__zone_symbol__loadfalse'];\n if (loadTasks && loadTasks.length > 0) {\n var oriInvoke_1 = task.invoke;\n task.invoke = function () {\n // need to load the tasks again, because in other\n // load listener, they may remove themselves\n var loadTasks = target['__zone_symbol__loadfalse'];\n for (var i = 0; i < loadTasks.length; i++) {\n if (loadTasks[i] === task) {\n loadTasks.splice(i, 1);\n }\n }\n if (!data.aborted && task.state === SCHEDULED) {\n oriInvoke_1.call(task);\n }\n };\n loadTasks.push(task);\n }\n else {\n task.invoke();\n }\n }\n else if (!data.aborted && target[XHR_SCHEDULED] === false) {\n // error occurs when xhr.send()\n target[XHR_ERROR_BEFORE_SCHEDULED] = true;\n }\n }\n };\n oriAddListener.call(target, READY_STATE_CHANGE, newListener);\n var storedTask = target[XHR_TASK];\n if (!storedTask) {\n target[XHR_TASK] = task;\n }\n sendNative.apply(target, data.args);\n target[XHR_SCHEDULED] = true;\n return task;\n }\n function placeholderCallback() { }\n function clearTask(task) {\n var data = task.data;\n // Note - ideally, we would call data.target.removeEventListener here, but it's too late\n // to prevent it from firing. So instead, we store info for the event listener.\n data.aborted = true;\n return abortNative.apply(data.target, data.args);\n }\n var openNative = patchMethod(XMLHttpRequestPrototype, 'open', function () { return function (self, args) {\n self[XHR_SYNC] = args[2] == false;\n self[XHR_URL] = args[1];\n return openNative.apply(self, args);\n }; });\n var XMLHTTPREQUEST_SOURCE = 'XMLHttpRequest.send';\n var fetchTaskAborting = zoneSymbol('fetchTaskAborting');\n var fetchTaskScheduling = zoneSymbol('fetchTaskScheduling');\n var sendNative = patchMethod(XMLHttpRequestPrototype, 'send', function () { return function (self, args) {\n if (Zone.current[fetchTaskScheduling] === true) {\n // a fetch is scheduling, so we are using xhr to polyfill fetch\n // and because we already schedule macroTask for fetch, we should\n // not schedule a macroTask for xhr again\n return sendNative.apply(self, args);\n }\n if (self[XHR_SYNC]) {\n // if the XHR is sync there is no task to schedule, just execute the code.\n return sendNative.apply(self, args);\n }\n else {\n var options = { target: self, url: self[XHR_URL], isPeriodic: false, args: args, aborted: false };\n var task = scheduleMacroTaskWithCurrentZone(XMLHTTPREQUEST_SOURCE, placeholderCallback, options, scheduleTask, clearTask);\n if (self && self[XHR_ERROR_BEFORE_SCHEDULED] === true && !options.aborted &&\n task.state === SCHEDULED) {\n // xhr request throw error when send\n // we should invoke task instead of leaving a scheduled\n // pending macroTask\n task.invoke();\n }\n }\n }; });\n var abortNative = patchMethod(XMLHttpRequestPrototype, 'abort', function () { return function (self, args) {\n var task = findPendingTask(self);\n if (task && typeof task.type == 'string') {\n // If the XHR has already completed, do nothing.\n // If the XHR has already been aborted, do nothing.\n // Fix #569, call abort multiple times before done will cause\n // macroTask task count be negative number\n if (task.cancelFn == null || (task.data && task.data.aborted)) {\n return;\n }\n task.zone.cancelTask(task);\n }\n else if (Zone.current[fetchTaskAborting] === true) {\n // the abort is called from fetch polyfill, we need to call native abort of XHR.\n return abortNative.apply(self, args);\n }\n // Otherwise, we are trying to abort an XHR which has not yet been sent, so there is no\n // task\n // to cancel. Do nothing.\n }; });\n }\n});\nZone.__load_patch('geolocation', function (global) {\n /// GEO_LOCATION\n if (global['navigator'] && global['navigator'].geolocation) {\n patchPrototype(global['navigator'].geolocation, ['getCurrentPosition', 'watchPosition']);\n }\n});\nZone.__load_patch('PromiseRejectionEvent', function (global, Zone) {\n // handle unhandled promise rejection\n function findPromiseRejectionHandler(evtName) {\n return function (e) {\n var eventTasks = findEventTasks(global, evtName);\n eventTasks.forEach(function (eventTask) {\n // windows has added unhandledrejection event listener\n // trigger the event listener\n var PromiseRejectionEvent = global['PromiseRejectionEvent'];\n if (PromiseRejectionEvent) {\n var evt = new PromiseRejectionEvent(evtName, { promise: e.promise, reason: e.rejection });\n eventTask.invoke(evt);\n }\n });\n };\n }\n if (global['PromiseRejectionEvent']) {\n Zone[zoneSymbol('unhandledPromiseRejectionHandler')] =\n findPromiseRejectionHandler('unhandledrejection');\n Zone[zoneSymbol('rejectionHandledHandler')] =\n findPromiseRejectionHandler('rejectionhandled');\n }\n});\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n})));\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(68)))\n\n/***/ })\n/******/ ]);\n\n\n// WEBPACK FOOTER //\n// polyfills.js"," \t// install a JSONP callback for chunk loading\n \tvar parentJsonpFunction = window[\"webpackJsonp\"];\n \twindow[\"webpackJsonp\"] = function webpackJsonpCallback(chunkIds, moreModules, executeModules) {\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [], result;\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(chunkIds, moreModules, executeModules);\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n \t\tif(executeModules) {\n \t\t\tfor(i=0; i < executeModules.length; i++) {\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = executeModules[i]);\n \t\t\t}\n \t\t}\n \t\treturn result;\n \t};\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// objects to store loaded and loading chunks\n \tvar installedChunks = {\n \t\t3: 0\n \t};\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, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\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 \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 581);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 74a49a4962f0d7b2a0f8","var global = require('./_global');\nvar core = require('./_core');\nvar hide = require('./_hide');\nvar redefine = require('./_redefine');\nvar ctx = require('./_ctx');\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE];\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});\n var key, own, out, exp;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n // export native or passed\n out = (own ? target : source)[key];\n // bind timers to global for call from export context\n exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // extend global\n if (target) redefine(target, key, out, type & $export.U);\n // export\n if (exports[key] != out) hide(exports, key, exp);\n if (IS_PROTO && expProto[key] != out) expProto[key] = out;\n }\n};\nglobal.core = core;\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_export.js\n// module id = 3\n// module chunks = 3","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_an-object.js\n// module id = 11\n// module chunks = 3","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_fails.js\n// module id = 12\n// module chunks = 3","var core = module.exports = { version: '2.6.12' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_core.js\n// module id = 14\n// module chunks = 3","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_is-object.js\n// module id = 15\n// module chunks = 3","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_descriptors.js\n// module id = 16\n// module chunks = 3","var store = require('./_shared')('wks');\nvar uid = require('./_uid');\nvar Symbol = require('./_global').Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_wks.js\n// module id = 17\n// module chunks = 3","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_global.js\n// module id = 18\n// module chunks = 3","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_object-dp.js\n// module id = 21\n// module chunks = 3","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_to-object.js\n// module id = 22\n// module chunks = 3","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_to-length.js\n// module id = 26\n// module chunks = 3","var global = require('./_global');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar SRC = require('./_uid')('src');\nvar $toString = require('./_function-to-string');\nvar TO_STRING = 'toString';\nvar TPL = ('' + $toString).split(TO_STRING);\n\nrequire('./_core').inspectSource = function (it) {\n return $toString.call(it);\n};\n\n(module.exports = function (O, key, val, safe) {\n var isFunction = typeof val == 'function';\n if (isFunction) has(val, 'name') || hide(val, 'name', key);\n if (O[key] === val) return;\n if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n if (O === global) {\n O[key] = val;\n } else if (!safe) {\n delete O[key];\n hide(O, key, val);\n } else if (O[key]) {\n O[key] = val;\n } else {\n hide(O, key, val);\n }\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, TO_STRING, function toString() {\n return typeof this == 'function' && this[SRC] || $toString.call(this);\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_redefine.js\n// module id = 31\n// module chunks = 3","var $export = require('./_export');\nvar fails = require('./_fails');\nvar defined = require('./_defined');\nvar quot = /\"/g;\n// B.2.3.2.1 CreateHTML(string, tag, attribute, value)\nvar createHTML = function (string, tag, attribute, value) {\n var S = String(defined(string));\n var p1 = '<' + tag;\n if (attribute !== '') p1 += ' ' + attribute + '=\"' + String(value).replace(quot, '"') + '\"';\n return p1 + '>' + S + '';\n};\nmodule.exports = function (NAME, exec) {\n var O = {};\n O[NAME] = exec(createHTML);\n $export($export.P + $export.F * fails(function () {\n var test = ''[NAME]('\"');\n return test !== test.toLowerCase() || test.split('\"').length > 3;\n }), 'String', O);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_string-html.js\n// module id = 32\n// module chunks = 3","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_to-iobject.js\n// module id = 34\n// module chunks = 3","'use strict';\nvar fails = require('./_fails');\n\nmodule.exports = function (method, arg) {\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call\n arg ? method.call(null, function () { /* empty */ }, 1) : method.call(null);\n });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_strict-method.js\n// module id = 38\n// module chunks = 3","// most Object methods by ES6 should accept primitives\nvar $export = require('./_export');\nvar core = require('./_core');\nvar fails = require('./_fails');\nmodule.exports = function (KEY, exec) {\n var fn = (core.Object || {})[KEY] || Object[KEY];\n var exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_object-sap.js\n// module id = 40\n// module chunks = 3","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_hide.js\n// module id = 43\n// module chunks = 3","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_has.js\n// module id = 44\n// module chunks = 3","// 0 -> Array#forEach\n// 1 -> Array#map\n// 2 -> Array#filter\n// 3 -> Array#some\n// 4 -> Array#every\n// 5 -> Array#find\n// 6 -> Array#findIndex\nvar ctx = require('./_ctx');\nvar IObject = require('./_iobject');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar asc = require('./_array-species-create');\nmodule.exports = function (TYPE, $create) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n var create = $create || asc;\n return function ($this, callbackfn, that) {\n var O = toObject($this);\n var self = IObject(O);\n var f = ctx(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var val, res;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n val = self[index];\n res = f(val, index, O);\n if (TYPE) {\n if (IS_MAP) result[index] = res; // map\n else if (res) switch (TYPE) {\n case 3: return true; // some\n case 5: return val; // find\n case 6: return index; // findIndex\n case 2: result.push(val); // filter\n } else if (IS_EVERY) return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_array-methods.js\n// module id = 45\n// module chunks = 3","var Map = require('./es6.map');\nvar $export = require('./_export');\nvar shared = require('./_shared')('metadata');\nvar store = shared.store || (shared.store = new (require('./es6.weak-map'))());\n\nvar getOrCreateMetadataMap = function (target, targetKey, create) {\n var targetMetadata = store.get(target);\n if (!targetMetadata) {\n if (!create) return undefined;\n store.set(target, targetMetadata = new Map());\n }\n var keyMetadata = targetMetadata.get(targetKey);\n if (!keyMetadata) {\n if (!create) return undefined;\n targetMetadata.set(targetKey, keyMetadata = new Map());\n } return keyMetadata;\n};\nvar ordinaryHasOwnMetadata = function (MetadataKey, O, P) {\n var metadataMap = getOrCreateMetadataMap(O, P, false);\n return metadataMap === undefined ? false : metadataMap.has(MetadataKey);\n};\nvar ordinaryGetOwnMetadata = function (MetadataKey, O, P) {\n var metadataMap = getOrCreateMetadataMap(O, P, false);\n return metadataMap === undefined ? undefined : metadataMap.get(MetadataKey);\n};\nvar ordinaryDefineOwnMetadata = function (MetadataKey, MetadataValue, O, P) {\n getOrCreateMetadataMap(O, P, true).set(MetadataKey, MetadataValue);\n};\nvar ordinaryOwnMetadataKeys = function (target, targetKey) {\n var metadataMap = getOrCreateMetadataMap(target, targetKey, false);\n var keys = [];\n if (metadataMap) metadataMap.forEach(function (_, key) { keys.push(key); });\n return keys;\n};\nvar toMetaKey = function (it) {\n return it === undefined || typeof it == 'symbol' ? it : String(it);\n};\nvar exp = function (O) {\n $export($export.S, 'Reflect', O);\n};\n\nmodule.exports = {\n store: store,\n map: getOrCreateMetadataMap,\n has: ordinaryHasOwnMetadata,\n get: ordinaryGetOwnMetadata,\n set: ordinaryDefineOwnMetadata,\n keys: ordinaryOwnMetadataKeys,\n key: toMetaKey,\n exp: exp\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_metadata.js\n// module id = 46\n// module chunks = 3","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_to-primitive.js\n// module id = 49\n// module chunks = 3","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_a-function.js\n// module id = 50\n// module chunks = 3","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_defined.js\n// module id = 51\n// module chunks = 3","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_object-gpo.js\n// module id = 52\n// module chunks = 3","var META = require('./_uid')('meta');\nvar isObject = require('./_is-object');\nvar has = require('./_has');\nvar setDesc = require('./_object-dp').f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar FREEZE = !require('./_fails')(function () {\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n setDesc(it, META, { value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n } });\n};\nvar fastKey = function (it, create) {\n // return primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function (it, create) {\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_meta.js\n// module id = 53\n// module chunks = 3","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_object-keys.js\n// module id = 56\n// module chunks = 3","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_cof.js\n// module id = 57\n// module chunks = 3","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_to-integer.js\n// module id = 58\n// module chunks = 3","var pIE = require('./_object-pie');\nvar createDesc = require('./_property-desc');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar has = require('./_has');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) { /* empty */ }\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_object-gopd.js\n// module id = 59\n// module chunks = 3","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_ctx.js\n// module id = 66\n// module chunks = 3","var isObject = require('./_is-object');\nmodule.exports = function (it, TYPE) {\n if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!');\n return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_validate-collection.js\n// module id = 67\n// module chunks = 3","var g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/global.js\n// module id = 68\n// module chunks = 3","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_property-desc.js\n// module id = 74\n// module chunks = 3","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_uid.js\n// module id = 75\n// module chunks = 3","var core = require('./_core');\nvar global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: core.version,\n mode: require('./_library') ? 'pure' : 'global',\n copyright: '© 2020 Denis Pushkarev (zloirock.ru)'\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_shared.js\n// module id = 76\n// module chunks = 3","module.exports = false;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_library.js\n// module id = 77\n// module chunks = 3","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_object-create.js\n// module id = 78\n// module chunks = 3","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_iobject.js\n// module id = 79\n// module chunks = 3","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_to-absolute-index.js\n// module id = 80\n// module chunks = 3","exports.f = {}.propertyIsEnumerable;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_object-pie.js\n// module id = 81\n// module chunks = 3","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal');\nvar hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_object-gopn.js\n// module id = 82\n// module chunks = 3","module.exports = {};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_iterators.js\n// module id = 83\n// module chunks = 3","'use strict';\n// 19.1.3.6 Object.prototype.toString()\nvar classof = require('./_classof');\nvar test = {};\ntest[require('./_wks')('toStringTag')] = 'z';\nif (test + '' != '[object z]') {\n require('./_redefine')(Object.prototype, 'toString', function toString() {\n return '[object ' + classof(this) + ']';\n }, true);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.object.to-string.js\n// module id = 84\n// module chunks = 3","// 22.1.3.31 Array.prototype[@@unscopables]\nvar UNSCOPABLES = require('./_wks')('unscopables');\nvar ArrayProto = Array.prototype;\nif (ArrayProto[UNSCOPABLES] == undefined) require('./_hide')(ArrayProto, UNSCOPABLES, {});\nmodule.exports = function (key) {\n ArrayProto[UNSCOPABLES][key] = true;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_add-to-unscopables.js\n// module id = 85\n// module chunks = 3","/*! Hammer.JS - v2.0.7 - 2016-04-22\n * http://hammerjs.github.io/\n *\n * Copyright (c) 2016 Jorik Tangelder;\n * Licensed under the MIT license */\n(function(window, document, exportName, undefined) {\n 'use strict';\n\nvar VENDOR_PREFIXES = ['', 'webkit', 'Moz', 'MS', 'ms', 'o'];\nvar TEST_ELEMENT = document.createElement('div');\n\nvar TYPE_FUNCTION = 'function';\n\nvar round = Math.round;\nvar abs = Math.abs;\nvar now = Date.now;\n\n/**\n * set a timeout with a given scope\n * @param {Function} fn\n * @param {Number} timeout\n * @param {Object} context\n * @returns {number}\n */\nfunction setTimeoutContext(fn, timeout, context) {\n return setTimeout(bindFn(fn, context), timeout);\n}\n\n/**\n * if the argument is an array, we want to execute the fn on each entry\n * if it aint an array we don't want to do a thing.\n * this is used by all the methods that accept a single and array argument.\n * @param {*|Array} arg\n * @param {String} fn\n * @param {Object} [context]\n * @returns {Boolean}\n */\nfunction invokeArrayArg(arg, fn, context) {\n if (Array.isArray(arg)) {\n each(arg, context[fn], context);\n return true;\n }\n return false;\n}\n\n/**\n * walk objects and arrays\n * @param {Object} obj\n * @param {Function} iterator\n * @param {Object} context\n */\nfunction each(obj, iterator, context) {\n var i;\n\n if (!obj) {\n return;\n }\n\n if (obj.forEach) {\n obj.forEach(iterator, context);\n } else if (obj.length !== undefined) {\n i = 0;\n while (i < obj.length) {\n iterator.call(context, obj[i], i, obj);\n i++;\n }\n } else {\n for (i in obj) {\n obj.hasOwnProperty(i) && iterator.call(context, obj[i], i, obj);\n }\n }\n}\n\n/**\n * wrap a method with a deprecation warning and stack trace\n * @param {Function} method\n * @param {String} name\n * @param {String} message\n * @returns {Function} A new function wrapping the supplied method.\n */\nfunction deprecate(method, name, message) {\n var deprecationMessage = 'DEPRECATED METHOD: ' + name + '\\n' + message + ' AT \\n';\n return function() {\n var e = new Error('get-stack-trace');\n var stack = e && e.stack ? e.stack.replace(/^[^\\(]+?[\\n$]/gm, '')\n .replace(/^\\s+at\\s+/gm, '')\n .replace(/^Object.\\s*\\(/gm, '{anonymous}()@') : 'Unknown Stack Trace';\n\n var log = window.console && (window.console.warn || window.console.log);\n if (log) {\n log.call(window.console, deprecationMessage, stack);\n }\n return method.apply(this, arguments);\n };\n}\n\n/**\n * extend object.\n * means that properties in dest will be overwritten by the ones in src.\n * @param {Object} target\n * @param {...Object} objects_to_assign\n * @returns {Object} target\n */\nvar assign;\nif (typeof Object.assign !== 'function') {\n assign = function assign(target) {\n if (target === undefined || target === null) {\n throw new TypeError('Cannot convert undefined or null to object');\n }\n\n var output = Object(target);\n for (var index = 1; index < arguments.length; index++) {\n var source = arguments[index];\n if (source !== undefined && source !== null) {\n for (var nextKey in source) {\n if (source.hasOwnProperty(nextKey)) {\n output[nextKey] = source[nextKey];\n }\n }\n }\n }\n return output;\n };\n} else {\n assign = Object.assign;\n}\n\n/**\n * extend object.\n * means that properties in dest will be overwritten by the ones in src.\n * @param {Object} dest\n * @param {Object} src\n * @param {Boolean} [merge=false]\n * @returns {Object} dest\n */\nvar extend = deprecate(function extend(dest, src, merge) {\n var keys = Object.keys(src);\n var i = 0;\n while (i < keys.length) {\n if (!merge || (merge && dest[keys[i]] === undefined)) {\n dest[keys[i]] = src[keys[i]];\n }\n i++;\n }\n return dest;\n}, 'extend', 'Use `assign`.');\n\n/**\n * merge the values from src in the dest.\n * means that properties that exist in dest will not be overwritten by src\n * @param {Object} dest\n * @param {Object} src\n * @returns {Object} dest\n */\nvar merge = deprecate(function merge(dest, src) {\n return extend(dest, src, true);\n}, 'merge', 'Use `assign`.');\n\n/**\n * simple class inheritance\n * @param {Function} child\n * @param {Function} base\n * @param {Object} [properties]\n */\nfunction inherit(child, base, properties) {\n var baseP = base.prototype,\n childP;\n\n childP = child.prototype = Object.create(baseP);\n childP.constructor = child;\n childP._super = baseP;\n\n if (properties) {\n assign(childP, properties);\n }\n}\n\n/**\n * simple function bind\n * @param {Function} fn\n * @param {Object} context\n * @returns {Function}\n */\nfunction bindFn(fn, context) {\n return function boundFn() {\n return fn.apply(context, arguments);\n };\n}\n\n/**\n * let a boolean value also be a function that must return a boolean\n * this first item in args will be used as the context\n * @param {Boolean|Function} val\n * @param {Array} [args]\n * @returns {Boolean}\n */\nfunction boolOrFn(val, args) {\n if (typeof val == TYPE_FUNCTION) {\n return val.apply(args ? args[0] || undefined : undefined, args);\n }\n return val;\n}\n\n/**\n * use the val2 when val1 is undefined\n * @param {*} val1\n * @param {*} val2\n * @returns {*}\n */\nfunction ifUndefined(val1, val2) {\n return (val1 === undefined) ? val2 : val1;\n}\n\n/**\n * addEventListener with multiple events at once\n * @param {EventTarget} target\n * @param {String} types\n * @param {Function} handler\n */\nfunction addEventListeners(target, types, handler) {\n each(splitStr(types), function(type) {\n target.addEventListener(type, handler, false);\n });\n}\n\n/**\n * removeEventListener with multiple events at once\n * @param {EventTarget} target\n * @param {String} types\n * @param {Function} handler\n */\nfunction removeEventListeners(target, types, handler) {\n each(splitStr(types), function(type) {\n target.removeEventListener(type, handler, false);\n });\n}\n\n/**\n * find if a node is in the given parent\n * @method hasParent\n * @param {HTMLElement} node\n * @param {HTMLElement} parent\n * @return {Boolean} found\n */\nfunction hasParent(node, parent) {\n while (node) {\n if (node == parent) {\n return true;\n }\n node = node.parentNode;\n }\n return false;\n}\n\n/**\n * small indexOf wrapper\n * @param {String} str\n * @param {String} find\n * @returns {Boolean} found\n */\nfunction inStr(str, find) {\n return str.indexOf(find) > -1;\n}\n\n/**\n * split string on whitespace\n * @param {String} str\n * @returns {Array} words\n */\nfunction splitStr(str) {\n return str.trim().split(/\\s+/g);\n}\n\n/**\n * find if a array contains the object using indexOf or a simple polyFill\n * @param {Array} src\n * @param {String} find\n * @param {String} [findByKey]\n * @return {Boolean|Number} false when not found, or the index\n */\nfunction inArray(src, find, findByKey) {\n if (src.indexOf && !findByKey) {\n return src.indexOf(find);\n } else {\n var i = 0;\n while (i < src.length) {\n if ((findByKey && src[i][findByKey] == find) || (!findByKey && src[i] === find)) {\n return i;\n }\n i++;\n }\n return -1;\n }\n}\n\n/**\n * convert array-like objects to real arrays\n * @param {Object} obj\n * @returns {Array}\n */\nfunction toArray(obj) {\n return Array.prototype.slice.call(obj, 0);\n}\n\n/**\n * unique array with objects based on a key (like 'id') or just by the array's value\n * @param {Array} src [{id:1},{id:2},{id:1}]\n * @param {String} [key]\n * @param {Boolean} [sort=False]\n * @returns {Array} [{id:1},{id:2}]\n */\nfunction uniqueArray(src, key, sort) {\n var results = [];\n var values = [];\n var i = 0;\n\n while (i < src.length) {\n var val = key ? src[i][key] : src[i];\n if (inArray(values, val) < 0) {\n results.push(src[i]);\n }\n values[i] = val;\n i++;\n }\n\n if (sort) {\n if (!key) {\n results = results.sort();\n } else {\n results = results.sort(function sortUniqueArray(a, b) {\n return a[key] > b[key];\n });\n }\n }\n\n return results;\n}\n\n/**\n * get the prefixed property\n * @param {Object} obj\n * @param {String} property\n * @returns {String|Undefined} prefixed\n */\nfunction prefixed(obj, property) {\n var prefix, prop;\n var camelProp = property[0].toUpperCase() + property.slice(1);\n\n var i = 0;\n while (i < VENDOR_PREFIXES.length) {\n prefix = VENDOR_PREFIXES[i];\n prop = (prefix) ? prefix + camelProp : property;\n\n if (prop in obj) {\n return prop;\n }\n i++;\n }\n return undefined;\n}\n\n/**\n * get a unique id\n * @returns {number} uniqueId\n */\nvar _uniqueId = 1;\nfunction uniqueId() {\n return _uniqueId++;\n}\n\n/**\n * get the window object of an element\n * @param {HTMLElement} element\n * @returns {DocumentView|Window}\n */\nfunction getWindowForElement(element) {\n var doc = element.ownerDocument || element;\n return (doc.defaultView || doc.parentWindow || window);\n}\n\nvar MOBILE_REGEX = /mobile|tablet|ip(ad|hone|od)|android/i;\n\nvar SUPPORT_TOUCH = ('ontouchstart' in window);\nvar SUPPORT_POINTER_EVENTS = prefixed(window, 'PointerEvent') !== undefined;\nvar SUPPORT_ONLY_TOUCH = SUPPORT_TOUCH && MOBILE_REGEX.test(navigator.userAgent);\n\nvar INPUT_TYPE_TOUCH = 'touch';\nvar INPUT_TYPE_PEN = 'pen';\nvar INPUT_TYPE_MOUSE = 'mouse';\nvar INPUT_TYPE_KINECT = 'kinect';\n\nvar COMPUTE_INTERVAL = 25;\n\nvar INPUT_START = 1;\nvar INPUT_MOVE = 2;\nvar INPUT_END = 4;\nvar INPUT_CANCEL = 8;\n\nvar DIRECTION_NONE = 1;\nvar DIRECTION_LEFT = 2;\nvar DIRECTION_RIGHT = 4;\nvar DIRECTION_UP = 8;\nvar DIRECTION_DOWN = 16;\n\nvar DIRECTION_HORIZONTAL = DIRECTION_LEFT | DIRECTION_RIGHT;\nvar DIRECTION_VERTICAL = DIRECTION_UP | DIRECTION_DOWN;\nvar DIRECTION_ALL = DIRECTION_HORIZONTAL | DIRECTION_VERTICAL;\n\nvar PROPS_XY = ['x', 'y'];\nvar PROPS_CLIENT_XY = ['clientX', 'clientY'];\n\n/**\n * create new input type manager\n * @param {Manager} manager\n * @param {Function} callback\n * @returns {Input}\n * @constructor\n */\nfunction Input(manager, callback) {\n var self = this;\n this.manager = manager;\n this.callback = callback;\n this.element = manager.element;\n this.target = manager.options.inputTarget;\n\n // smaller wrapper around the handler, for the scope and the enabled state of the manager,\n // so when disabled the input events are completely bypassed.\n this.domHandler = function(ev) {\n if (boolOrFn(manager.options.enable, [manager])) {\n self.handler(ev);\n }\n };\n\n this.init();\n\n}\n\nInput.prototype = {\n /**\n * should handle the inputEvent data and trigger the callback\n * @virtual\n */\n handler: function() { },\n\n /**\n * bind the events\n */\n init: function() {\n this.evEl && addEventListeners(this.element, this.evEl, this.domHandler);\n this.evTarget && addEventListeners(this.target, this.evTarget, this.domHandler);\n this.evWin && addEventListeners(getWindowForElement(this.element), this.evWin, this.domHandler);\n },\n\n /**\n * unbind the events\n */\n destroy: function() {\n this.evEl && removeEventListeners(this.element, this.evEl, this.domHandler);\n this.evTarget && removeEventListeners(this.target, this.evTarget, this.domHandler);\n this.evWin && removeEventListeners(getWindowForElement(this.element), this.evWin, this.domHandler);\n }\n};\n\n/**\n * create new input type manager\n * called by the Manager constructor\n * @param {Hammer} manager\n * @returns {Input}\n */\nfunction createInputInstance(manager) {\n var Type;\n var inputClass = manager.options.inputClass;\n\n if (inputClass) {\n Type = inputClass;\n } else if (SUPPORT_POINTER_EVENTS) {\n Type = PointerEventInput;\n } else if (SUPPORT_ONLY_TOUCH) {\n Type = TouchInput;\n } else if (!SUPPORT_TOUCH) {\n Type = MouseInput;\n } else {\n Type = TouchMouseInput;\n }\n return new (Type)(manager, inputHandler);\n}\n\n/**\n * handle input events\n * @param {Manager} manager\n * @param {String} eventType\n * @param {Object} input\n */\nfunction inputHandler(manager, eventType, input) {\n var pointersLen = input.pointers.length;\n var changedPointersLen = input.changedPointers.length;\n var isFirst = (eventType & INPUT_START && (pointersLen - changedPointersLen === 0));\n var isFinal = (eventType & (INPUT_END | INPUT_CANCEL) && (pointersLen - changedPointersLen === 0));\n\n input.isFirst = !!isFirst;\n input.isFinal = !!isFinal;\n\n if (isFirst) {\n manager.session = {};\n }\n\n // source event is the normalized value of the domEvents\n // like 'touchstart, mouseup, pointerdown'\n input.eventType = eventType;\n\n // compute scale, rotation etc\n computeInputData(manager, input);\n\n // emit secret event\n manager.emit('hammer.input', input);\n\n manager.recognize(input);\n manager.session.prevInput = input;\n}\n\n/**\n * extend the data with some usable properties like scale, rotate, velocity etc\n * @param {Object} manager\n * @param {Object} input\n */\nfunction computeInputData(manager, input) {\n var session = manager.session;\n var pointers = input.pointers;\n var pointersLength = pointers.length;\n\n // store the first input to calculate the distance and direction\n if (!session.firstInput) {\n session.firstInput = simpleCloneInputData(input);\n }\n\n // to compute scale and rotation we need to store the multiple touches\n if (pointersLength > 1 && !session.firstMultiple) {\n session.firstMultiple = simpleCloneInputData(input);\n } else if (pointersLength === 1) {\n session.firstMultiple = false;\n }\n\n var firstInput = session.firstInput;\n var firstMultiple = session.firstMultiple;\n var offsetCenter = firstMultiple ? firstMultiple.center : firstInput.center;\n\n var center = input.center = getCenter(pointers);\n input.timeStamp = now();\n input.deltaTime = input.timeStamp - firstInput.timeStamp;\n\n input.angle = getAngle(offsetCenter, center);\n input.distance = getDistance(offsetCenter, center);\n\n computeDeltaXY(session, input);\n input.offsetDirection = getDirection(input.deltaX, input.deltaY);\n\n var overallVelocity = getVelocity(input.deltaTime, input.deltaX, input.deltaY);\n input.overallVelocityX = overallVelocity.x;\n input.overallVelocityY = overallVelocity.y;\n input.overallVelocity = (abs(overallVelocity.x) > abs(overallVelocity.y)) ? overallVelocity.x : overallVelocity.y;\n\n input.scale = firstMultiple ? getScale(firstMultiple.pointers, pointers) : 1;\n input.rotation = firstMultiple ? getRotation(firstMultiple.pointers, pointers) : 0;\n\n input.maxPointers = !session.prevInput ? input.pointers.length : ((input.pointers.length >\n session.prevInput.maxPointers) ? input.pointers.length : session.prevInput.maxPointers);\n\n computeIntervalInputData(session, input);\n\n // find the correct target\n var target = manager.element;\n if (hasParent(input.srcEvent.target, target)) {\n target = input.srcEvent.target;\n }\n input.target = target;\n}\n\nfunction computeDeltaXY(session, input) {\n var center = input.center;\n var offset = session.offsetDelta || {};\n var prevDelta = session.prevDelta || {};\n var prevInput = session.prevInput || {};\n\n if (input.eventType === INPUT_START || prevInput.eventType === INPUT_END) {\n prevDelta = session.prevDelta = {\n x: prevInput.deltaX || 0,\n y: prevInput.deltaY || 0\n };\n\n offset = session.offsetDelta = {\n x: center.x,\n y: center.y\n };\n }\n\n input.deltaX = prevDelta.x + (center.x - offset.x);\n input.deltaY = prevDelta.y + (center.y - offset.y);\n}\n\n/**\n * velocity is calculated every x ms\n * @param {Object} session\n * @param {Object} input\n */\nfunction computeIntervalInputData(session, input) {\n var last = session.lastInterval || input,\n deltaTime = input.timeStamp - last.timeStamp,\n velocity, velocityX, velocityY, direction;\n\n if (input.eventType != INPUT_CANCEL && (deltaTime > COMPUTE_INTERVAL || last.velocity === undefined)) {\n var deltaX = input.deltaX - last.deltaX;\n var deltaY = input.deltaY - last.deltaY;\n\n var v = getVelocity(deltaTime, deltaX, deltaY);\n velocityX = v.x;\n velocityY = v.y;\n velocity = (abs(v.x) > abs(v.y)) ? v.x : v.y;\n direction = getDirection(deltaX, deltaY);\n\n session.lastInterval = input;\n } else {\n // use latest velocity info if it doesn't overtake a minimum period\n velocity = last.velocity;\n velocityX = last.velocityX;\n velocityY = last.velocityY;\n direction = last.direction;\n }\n\n input.velocity = velocity;\n input.velocityX = velocityX;\n input.velocityY = velocityY;\n input.direction = direction;\n}\n\n/**\n * create a simple clone from the input used for storage of firstInput and firstMultiple\n * @param {Object} input\n * @returns {Object} clonedInputData\n */\nfunction simpleCloneInputData(input) {\n // make a simple copy of the pointers because we will get a reference if we don't\n // we only need clientXY for the calculations\n var pointers = [];\n var i = 0;\n while (i < input.pointers.length) {\n pointers[i] = {\n clientX: round(input.pointers[i].clientX),\n clientY: round(input.pointers[i].clientY)\n };\n i++;\n }\n\n return {\n timeStamp: now(),\n pointers: pointers,\n center: getCenter(pointers),\n deltaX: input.deltaX,\n deltaY: input.deltaY\n };\n}\n\n/**\n * get the center of all the pointers\n * @param {Array} pointers\n * @return {Object} center contains `x` and `y` properties\n */\nfunction getCenter(pointers) {\n var pointersLength = pointers.length;\n\n // no need to loop when only one touch\n if (pointersLength === 1) {\n return {\n x: round(pointers[0].clientX),\n y: round(pointers[0].clientY)\n };\n }\n\n var x = 0, y = 0, i = 0;\n while (i < pointersLength) {\n x += pointers[i].clientX;\n y += pointers[i].clientY;\n i++;\n }\n\n return {\n x: round(x / pointersLength),\n y: round(y / pointersLength)\n };\n}\n\n/**\n * calculate the velocity between two points. unit is in px per ms.\n * @param {Number} deltaTime\n * @param {Number} x\n * @param {Number} y\n * @return {Object} velocity `x` and `y`\n */\nfunction getVelocity(deltaTime, x, y) {\n return {\n x: x / deltaTime || 0,\n y: y / deltaTime || 0\n };\n}\n\n/**\n * get the direction between two points\n * @param {Number} x\n * @param {Number} y\n * @return {Number} direction\n */\nfunction getDirection(x, y) {\n if (x === y) {\n return DIRECTION_NONE;\n }\n\n if (abs(x) >= abs(y)) {\n return x < 0 ? DIRECTION_LEFT : DIRECTION_RIGHT;\n }\n return y < 0 ? DIRECTION_UP : DIRECTION_DOWN;\n}\n\n/**\n * calculate the absolute distance between two points\n * @param {Object} p1 {x, y}\n * @param {Object} p2 {x, y}\n * @param {Array} [props] containing x and y keys\n * @return {Number} distance\n */\nfunction getDistance(p1, p2, props) {\n if (!props) {\n props = PROPS_XY;\n }\n var x = p2[props[0]] - p1[props[0]],\n y = p2[props[1]] - p1[props[1]];\n\n return Math.sqrt((x * x) + (y * y));\n}\n\n/**\n * calculate the angle between two coordinates\n * @param {Object} p1\n * @param {Object} p2\n * @param {Array} [props] containing x and y keys\n * @return {Number} angle\n */\nfunction getAngle(p1, p2, props) {\n if (!props) {\n props = PROPS_XY;\n }\n var x = p2[props[0]] - p1[props[0]],\n y = p2[props[1]] - p1[props[1]];\n return Math.atan2(y, x) * 180 / Math.PI;\n}\n\n/**\n * calculate the rotation degrees between two pointersets\n * @param {Array} start array of pointers\n * @param {Array} end array of pointers\n * @return {Number} rotation\n */\nfunction getRotation(start, end) {\n return getAngle(end[1], end[0], PROPS_CLIENT_XY) + getAngle(start[1], start[0], PROPS_CLIENT_XY);\n}\n\n/**\n * calculate the scale factor between two pointersets\n * no scale is 1, and goes down to 0 when pinched together, and bigger when pinched out\n * @param {Array} start array of pointers\n * @param {Array} end array of pointers\n * @return {Number} scale\n */\nfunction getScale(start, end) {\n return getDistance(end[0], end[1], PROPS_CLIENT_XY) / getDistance(start[0], start[1], PROPS_CLIENT_XY);\n}\n\nvar MOUSE_INPUT_MAP = {\n mousedown: INPUT_START,\n mousemove: INPUT_MOVE,\n mouseup: INPUT_END\n};\n\nvar MOUSE_ELEMENT_EVENTS = 'mousedown';\nvar MOUSE_WINDOW_EVENTS = 'mousemove mouseup';\n\n/**\n * Mouse events input\n * @constructor\n * @extends Input\n */\nfunction MouseInput() {\n this.evEl = MOUSE_ELEMENT_EVENTS;\n this.evWin = MOUSE_WINDOW_EVENTS;\n\n this.pressed = false; // mousedown state\n\n Input.apply(this, arguments);\n}\n\ninherit(MouseInput, Input, {\n /**\n * handle mouse events\n * @param {Object} ev\n */\n handler: function MEhandler(ev) {\n var eventType = MOUSE_INPUT_MAP[ev.type];\n\n // on start we want to have the left mouse button down\n if (eventType & INPUT_START && ev.button === 0) {\n this.pressed = true;\n }\n\n if (eventType & INPUT_MOVE && ev.which !== 1) {\n eventType = INPUT_END;\n }\n\n // mouse must be down\n if (!this.pressed) {\n return;\n }\n\n if (eventType & INPUT_END) {\n this.pressed = false;\n }\n\n this.callback(this.manager, eventType, {\n pointers: [ev],\n changedPointers: [ev],\n pointerType: INPUT_TYPE_MOUSE,\n srcEvent: ev\n });\n }\n});\n\nvar POINTER_INPUT_MAP = {\n pointerdown: INPUT_START,\n pointermove: INPUT_MOVE,\n pointerup: INPUT_END,\n pointercancel: INPUT_CANCEL,\n pointerout: INPUT_CANCEL\n};\n\n// in IE10 the pointer types is defined as an enum\nvar IE10_POINTER_TYPE_ENUM = {\n 2: INPUT_TYPE_TOUCH,\n 3: INPUT_TYPE_PEN,\n 4: INPUT_TYPE_MOUSE,\n 5: INPUT_TYPE_KINECT // see https://twitter.com/jacobrossi/status/480596438489890816\n};\n\nvar POINTER_ELEMENT_EVENTS = 'pointerdown';\nvar POINTER_WINDOW_EVENTS = 'pointermove pointerup pointercancel';\n\n// IE10 has prefixed support, and case-sensitive\nif (window.MSPointerEvent && !window.PointerEvent) {\n POINTER_ELEMENT_EVENTS = 'MSPointerDown';\n POINTER_WINDOW_EVENTS = 'MSPointerMove MSPointerUp MSPointerCancel';\n}\n\n/**\n * Pointer events input\n * @constructor\n * @extends Input\n */\nfunction PointerEventInput() {\n this.evEl = POINTER_ELEMENT_EVENTS;\n this.evWin = POINTER_WINDOW_EVENTS;\n\n Input.apply(this, arguments);\n\n this.store = (this.manager.session.pointerEvents = []);\n}\n\ninherit(PointerEventInput, Input, {\n /**\n * handle mouse events\n * @param {Object} ev\n */\n handler: function PEhandler(ev) {\n var store = this.store;\n var removePointer = false;\n\n var eventTypeNormalized = ev.type.toLowerCase().replace('ms', '');\n var eventType = POINTER_INPUT_MAP[eventTypeNormalized];\n var pointerType = IE10_POINTER_TYPE_ENUM[ev.pointerType] || ev.pointerType;\n\n var isTouch = (pointerType == INPUT_TYPE_TOUCH);\n\n // get index of the event in the store\n var storeIndex = inArray(store, ev.pointerId, 'pointerId');\n\n // start and mouse must be down\n if (eventType & INPUT_START && (ev.button === 0 || isTouch)) {\n if (storeIndex < 0) {\n store.push(ev);\n storeIndex = store.length - 1;\n }\n } else if (eventType & (INPUT_END | INPUT_CANCEL)) {\n removePointer = true;\n }\n\n // it not found, so the pointer hasn't been down (so it's probably a hover)\n if (storeIndex < 0) {\n return;\n }\n\n // update the event in the store\n store[storeIndex] = ev;\n\n this.callback(this.manager, eventType, {\n pointers: store,\n changedPointers: [ev],\n pointerType: pointerType,\n srcEvent: ev\n });\n\n if (removePointer) {\n // remove from the store\n store.splice(storeIndex, 1);\n }\n }\n});\n\nvar SINGLE_TOUCH_INPUT_MAP = {\n touchstart: INPUT_START,\n touchmove: INPUT_MOVE,\n touchend: INPUT_END,\n touchcancel: INPUT_CANCEL\n};\n\nvar SINGLE_TOUCH_TARGET_EVENTS = 'touchstart';\nvar SINGLE_TOUCH_WINDOW_EVENTS = 'touchstart touchmove touchend touchcancel';\n\n/**\n * Touch events input\n * @constructor\n * @extends Input\n */\nfunction SingleTouchInput() {\n this.evTarget = SINGLE_TOUCH_TARGET_EVENTS;\n this.evWin = SINGLE_TOUCH_WINDOW_EVENTS;\n this.started = false;\n\n Input.apply(this, arguments);\n}\n\ninherit(SingleTouchInput, Input, {\n handler: function TEhandler(ev) {\n var type = SINGLE_TOUCH_INPUT_MAP[ev.type];\n\n // should we handle the touch events?\n if (type === INPUT_START) {\n this.started = true;\n }\n\n if (!this.started) {\n return;\n }\n\n var touches = normalizeSingleTouches.call(this, ev, type);\n\n // when done, reset the started state\n if (type & (INPUT_END | INPUT_CANCEL) && touches[0].length - touches[1].length === 0) {\n this.started = false;\n }\n\n this.callback(this.manager, type, {\n pointers: touches[0],\n changedPointers: touches[1],\n pointerType: INPUT_TYPE_TOUCH,\n srcEvent: ev\n });\n }\n});\n\n/**\n * @this {TouchInput}\n * @param {Object} ev\n * @param {Number} type flag\n * @returns {undefined|Array} [all, changed]\n */\nfunction normalizeSingleTouches(ev, type) {\n var all = toArray(ev.touches);\n var changed = toArray(ev.changedTouches);\n\n if (type & (INPUT_END | INPUT_CANCEL)) {\n all = uniqueArray(all.concat(changed), 'identifier', true);\n }\n\n return [all, changed];\n}\n\nvar TOUCH_INPUT_MAP = {\n touchstart: INPUT_START,\n touchmove: INPUT_MOVE,\n touchend: INPUT_END,\n touchcancel: INPUT_CANCEL\n};\n\nvar TOUCH_TARGET_EVENTS = 'touchstart touchmove touchend touchcancel';\n\n/**\n * Multi-user touch events input\n * @constructor\n * @extends Input\n */\nfunction TouchInput() {\n this.evTarget = TOUCH_TARGET_EVENTS;\n this.targetIds = {};\n\n Input.apply(this, arguments);\n}\n\ninherit(TouchInput, Input, {\n handler: function MTEhandler(ev) {\n var type = TOUCH_INPUT_MAP[ev.type];\n var touches = getTouches.call(this, ev, type);\n if (!touches) {\n return;\n }\n\n this.callback(this.manager, type, {\n pointers: touches[0],\n changedPointers: touches[1],\n pointerType: INPUT_TYPE_TOUCH,\n srcEvent: ev\n });\n }\n});\n\n/**\n * @this {TouchInput}\n * @param {Object} ev\n * @param {Number} type flag\n * @returns {undefined|Array} [all, changed]\n */\nfunction getTouches(ev, type) {\n var allTouches = toArray(ev.touches);\n var targetIds = this.targetIds;\n\n // when there is only one touch, the process can be simplified\n if (type & (INPUT_START | INPUT_MOVE) && allTouches.length === 1) {\n targetIds[allTouches[0].identifier] = true;\n return [allTouches, allTouches];\n }\n\n var i,\n targetTouches,\n changedTouches = toArray(ev.changedTouches),\n changedTargetTouches = [],\n target = this.target;\n\n // get target touches from touches\n targetTouches = allTouches.filter(function(touch) {\n return hasParent(touch.target, target);\n });\n\n // collect touches\n if (type === INPUT_START) {\n i = 0;\n while (i < targetTouches.length) {\n targetIds[targetTouches[i].identifier] = true;\n i++;\n }\n }\n\n // filter changed touches to only contain touches that exist in the collected target ids\n i = 0;\n while (i < changedTouches.length) {\n if (targetIds[changedTouches[i].identifier]) {\n changedTargetTouches.push(changedTouches[i]);\n }\n\n // cleanup removed touches\n if (type & (INPUT_END | INPUT_CANCEL)) {\n delete targetIds[changedTouches[i].identifier];\n }\n i++;\n }\n\n if (!changedTargetTouches.length) {\n return;\n }\n\n return [\n // merge targetTouches with changedTargetTouches so it contains ALL touches, including 'end' and 'cancel'\n uniqueArray(targetTouches.concat(changedTargetTouches), 'identifier', true),\n changedTargetTouches\n ];\n}\n\n/**\n * Combined touch and mouse input\n *\n * Touch has a higher priority then mouse, and while touching no mouse events are allowed.\n * This because touch devices also emit mouse events while doing a touch.\n *\n * @constructor\n * @extends Input\n */\n\nvar DEDUP_TIMEOUT = 2500;\nvar DEDUP_DISTANCE = 25;\n\nfunction TouchMouseInput() {\n Input.apply(this, arguments);\n\n var handler = bindFn(this.handler, this);\n this.touch = new TouchInput(this.manager, handler);\n this.mouse = new MouseInput(this.manager, handler);\n\n this.primaryTouch = null;\n this.lastTouches = [];\n}\n\ninherit(TouchMouseInput, Input, {\n /**\n * handle mouse and touch events\n * @param {Hammer} manager\n * @param {String} inputEvent\n * @param {Object} inputData\n */\n handler: function TMEhandler(manager, inputEvent, inputData) {\n var isTouch = (inputData.pointerType == INPUT_TYPE_TOUCH),\n isMouse = (inputData.pointerType == INPUT_TYPE_MOUSE);\n\n if (isMouse && inputData.sourceCapabilities && inputData.sourceCapabilities.firesTouchEvents) {\n return;\n }\n\n // when we're in a touch event, record touches to de-dupe synthetic mouse event\n if (isTouch) {\n recordTouches.call(this, inputEvent, inputData);\n } else if (isMouse && isSyntheticEvent.call(this, inputData)) {\n return;\n }\n\n this.callback(manager, inputEvent, inputData);\n },\n\n /**\n * remove the event listeners\n */\n destroy: function destroy() {\n this.touch.destroy();\n this.mouse.destroy();\n }\n});\n\nfunction recordTouches(eventType, eventData) {\n if (eventType & INPUT_START) {\n this.primaryTouch = eventData.changedPointers[0].identifier;\n setLastTouch.call(this, eventData);\n } else if (eventType & (INPUT_END | INPUT_CANCEL)) {\n setLastTouch.call(this, eventData);\n }\n}\n\nfunction setLastTouch(eventData) {\n var touch = eventData.changedPointers[0];\n\n if (touch.identifier === this.primaryTouch) {\n var lastTouch = {x: touch.clientX, y: touch.clientY};\n this.lastTouches.push(lastTouch);\n var lts = this.lastTouches;\n var removeLastTouch = function() {\n var i = lts.indexOf(lastTouch);\n if (i > -1) {\n lts.splice(i, 1);\n }\n };\n setTimeout(removeLastTouch, DEDUP_TIMEOUT);\n }\n}\n\nfunction isSyntheticEvent(eventData) {\n var x = eventData.srcEvent.clientX, y = eventData.srcEvent.clientY;\n for (var i = 0; i < this.lastTouches.length; i++) {\n var t = this.lastTouches[i];\n var dx = Math.abs(x - t.x), dy = Math.abs(y - t.y);\n if (dx <= DEDUP_DISTANCE && dy <= DEDUP_DISTANCE) {\n return true;\n }\n }\n return false;\n}\n\nvar PREFIXED_TOUCH_ACTION = prefixed(TEST_ELEMENT.style, 'touchAction');\nvar NATIVE_TOUCH_ACTION = PREFIXED_TOUCH_ACTION !== undefined;\n\n// magical touchAction value\nvar TOUCH_ACTION_COMPUTE = 'compute';\nvar TOUCH_ACTION_AUTO = 'auto';\nvar TOUCH_ACTION_MANIPULATION = 'manipulation'; // not implemented\nvar TOUCH_ACTION_NONE = 'none';\nvar TOUCH_ACTION_PAN_X = 'pan-x';\nvar TOUCH_ACTION_PAN_Y = 'pan-y';\nvar TOUCH_ACTION_MAP = getTouchActionProps();\n\n/**\n * Touch Action\n * sets the touchAction property or uses the js alternative\n * @param {Manager} manager\n * @param {String} value\n * @constructor\n */\nfunction TouchAction(manager, value) {\n this.manager = manager;\n this.set(value);\n}\n\nTouchAction.prototype = {\n /**\n * set the touchAction value on the element or enable the polyfill\n * @param {String} value\n */\n set: function(value) {\n // find out the touch-action by the event handlers\n if (value == TOUCH_ACTION_COMPUTE) {\n value = this.compute();\n }\n\n if (NATIVE_TOUCH_ACTION && this.manager.element.style && TOUCH_ACTION_MAP[value]) {\n this.manager.element.style[PREFIXED_TOUCH_ACTION] = value;\n }\n this.actions = value.toLowerCase().trim();\n },\n\n /**\n * just re-set the touchAction value\n */\n update: function() {\n this.set(this.manager.options.touchAction);\n },\n\n /**\n * compute the value for the touchAction property based on the recognizer's settings\n * @returns {String} value\n */\n compute: function() {\n var actions = [];\n each(this.manager.recognizers, function(recognizer) {\n if (boolOrFn(recognizer.options.enable, [recognizer])) {\n actions = actions.concat(recognizer.getTouchAction());\n }\n });\n return cleanTouchActions(actions.join(' '));\n },\n\n /**\n * this method is called on each input cycle and provides the preventing of the browser behavior\n * @param {Object} input\n */\n preventDefaults: function(input) {\n var srcEvent = input.srcEvent;\n var direction = input.offsetDirection;\n\n // if the touch action did prevented once this session\n if (this.manager.session.prevented) {\n srcEvent.preventDefault();\n return;\n }\n\n var actions = this.actions;\n var hasNone = inStr(actions, TOUCH_ACTION_NONE) && !TOUCH_ACTION_MAP[TOUCH_ACTION_NONE];\n var hasPanY = inStr(actions, TOUCH_ACTION_PAN_Y) && !TOUCH_ACTION_MAP[TOUCH_ACTION_PAN_Y];\n var hasPanX = inStr(actions, TOUCH_ACTION_PAN_X) && !TOUCH_ACTION_MAP[TOUCH_ACTION_PAN_X];\n\n if (hasNone) {\n //do not prevent defaults if this is a tap gesture\n\n var isTapPointer = input.pointers.length === 1;\n var isTapMovement = input.distance < 2;\n var isTapTouchTime = input.deltaTime < 250;\n\n if (isTapPointer && isTapMovement && isTapTouchTime) {\n return;\n }\n }\n\n if (hasPanX && hasPanY) {\n // `pan-x pan-y` means browser handles all scrolling/panning, do not prevent\n return;\n }\n\n if (hasNone ||\n (hasPanY && direction & DIRECTION_HORIZONTAL) ||\n (hasPanX && direction & DIRECTION_VERTICAL)) {\n return this.preventSrc(srcEvent);\n }\n },\n\n /**\n * call preventDefault to prevent the browser's default behavior (scrolling in most cases)\n * @param {Object} srcEvent\n */\n preventSrc: function(srcEvent) {\n this.manager.session.prevented = true;\n srcEvent.preventDefault();\n }\n};\n\n/**\n * when the touchActions are collected they are not a valid value, so we need to clean things up. *\n * @param {String} actions\n * @returns {*}\n */\nfunction cleanTouchActions(actions) {\n // none\n if (inStr(actions, TOUCH_ACTION_NONE)) {\n return TOUCH_ACTION_NONE;\n }\n\n var hasPanX = inStr(actions, TOUCH_ACTION_PAN_X);\n var hasPanY = inStr(actions, TOUCH_ACTION_PAN_Y);\n\n // if both pan-x and pan-y are set (different recognizers\n // for different directions, e.g. horizontal pan but vertical swipe?)\n // we need none (as otherwise with pan-x pan-y combined none of these\n // recognizers will work, since the browser would handle all panning\n if (hasPanX && hasPanY) {\n return TOUCH_ACTION_NONE;\n }\n\n // pan-x OR pan-y\n if (hasPanX || hasPanY) {\n return hasPanX ? TOUCH_ACTION_PAN_X : TOUCH_ACTION_PAN_Y;\n }\n\n // manipulation\n if (inStr(actions, TOUCH_ACTION_MANIPULATION)) {\n return TOUCH_ACTION_MANIPULATION;\n }\n\n return TOUCH_ACTION_AUTO;\n}\n\nfunction getTouchActionProps() {\n if (!NATIVE_TOUCH_ACTION) {\n return false;\n }\n var touchMap = {};\n var cssSupports = window.CSS && window.CSS.supports;\n ['auto', 'manipulation', 'pan-y', 'pan-x', 'pan-x pan-y', 'none'].forEach(function(val) {\n\n // If css.supports is not supported but there is native touch-action assume it supports\n // all values. This is the case for IE 10 and 11.\n touchMap[val] = cssSupports ? window.CSS.supports('touch-action', val) : true;\n });\n return touchMap;\n}\n\n/**\n * Recognizer flow explained; *\n * All recognizers have the initial state of POSSIBLE when a input session starts.\n * The definition of a input session is from the first input until the last input, with all it's movement in it. *\n * Example session for mouse-input: mousedown -> mousemove -> mouseup\n *\n * On each recognizing cycle (see Manager.recognize) the .recognize() method is executed\n * which determines with state it should be.\n *\n * If the recognizer has the state FAILED, CANCELLED or RECOGNIZED (equals ENDED), it is reset to\n * POSSIBLE to give it another change on the next cycle.\n *\n * Possible\n * |\n * +-----+---------------+\n * | |\n * +-----+-----+ |\n * | | |\n * Failed Cancelled |\n * +-------+------+\n * | |\n * Recognized Began\n * |\n * Changed\n * |\n * Ended/Recognized\n */\nvar STATE_POSSIBLE = 1;\nvar STATE_BEGAN = 2;\nvar STATE_CHANGED = 4;\nvar STATE_ENDED = 8;\nvar STATE_RECOGNIZED = STATE_ENDED;\nvar STATE_CANCELLED = 16;\nvar STATE_FAILED = 32;\n\n/**\n * Recognizer\n * Every recognizer needs to extend from this class.\n * @constructor\n * @param {Object} options\n */\nfunction Recognizer(options) {\n this.options = assign({}, this.defaults, options || {});\n\n this.id = uniqueId();\n\n this.manager = null;\n\n // default is enable true\n this.options.enable = ifUndefined(this.options.enable, true);\n\n this.state = STATE_POSSIBLE;\n\n this.simultaneous = {};\n this.requireFail = [];\n}\n\nRecognizer.prototype = {\n /**\n * @virtual\n * @type {Object}\n */\n defaults: {},\n\n /**\n * set options\n * @param {Object} options\n * @return {Recognizer}\n */\n set: function(options) {\n assign(this.options, options);\n\n // also update the touchAction, in case something changed about the directions/enabled state\n this.manager && this.manager.touchAction.update();\n return this;\n },\n\n /**\n * recognize simultaneous with an other recognizer.\n * @param {Recognizer} otherRecognizer\n * @returns {Recognizer} this\n */\n recognizeWith: function(otherRecognizer) {\n if (invokeArrayArg(otherRecognizer, 'recognizeWith', this)) {\n return this;\n }\n\n var simultaneous = this.simultaneous;\n otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this);\n if (!simultaneous[otherRecognizer.id]) {\n simultaneous[otherRecognizer.id] = otherRecognizer;\n otherRecognizer.recognizeWith(this);\n }\n return this;\n },\n\n /**\n * drop the simultaneous link. it doesnt remove the link on the other recognizer.\n * @param {Recognizer} otherRecognizer\n * @returns {Recognizer} this\n */\n dropRecognizeWith: function(otherRecognizer) {\n if (invokeArrayArg(otherRecognizer, 'dropRecognizeWith', this)) {\n return this;\n }\n\n otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this);\n delete this.simultaneous[otherRecognizer.id];\n return this;\n },\n\n /**\n * recognizer can only run when an other is failing\n * @param {Recognizer} otherRecognizer\n * @returns {Recognizer} this\n */\n requireFailure: function(otherRecognizer) {\n if (invokeArrayArg(otherRecognizer, 'requireFailure', this)) {\n return this;\n }\n\n var requireFail = this.requireFail;\n otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this);\n if (inArray(requireFail, otherRecognizer) === -1) {\n requireFail.push(otherRecognizer);\n otherRecognizer.requireFailure(this);\n }\n return this;\n },\n\n /**\n * drop the requireFailure link. it does not remove the link on the other recognizer.\n * @param {Recognizer} otherRecognizer\n * @returns {Recognizer} this\n */\n dropRequireFailure: function(otherRecognizer) {\n if (invokeArrayArg(otherRecognizer, 'dropRequireFailure', this)) {\n return this;\n }\n\n otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this);\n var index = inArray(this.requireFail, otherRecognizer);\n if (index > -1) {\n this.requireFail.splice(index, 1);\n }\n return this;\n },\n\n /**\n * has require failures boolean\n * @returns {boolean}\n */\n hasRequireFailures: function() {\n return this.requireFail.length > 0;\n },\n\n /**\n * if the recognizer can recognize simultaneous with an other recognizer\n * @param {Recognizer} otherRecognizer\n * @returns {Boolean}\n */\n canRecognizeWith: function(otherRecognizer) {\n return !!this.simultaneous[otherRecognizer.id];\n },\n\n /**\n * You should use `tryEmit` instead of `emit` directly to check\n * that all the needed recognizers has failed before emitting.\n * @param {Object} input\n */\n emit: function(input) {\n var self = this;\n var state = this.state;\n\n function emit(event) {\n self.manager.emit(event, input);\n }\n\n // 'panstart' and 'panmove'\n if (state < STATE_ENDED) {\n emit(self.options.event + stateStr(state));\n }\n\n emit(self.options.event); // simple 'eventName' events\n\n if (input.additionalEvent) { // additional event(panleft, panright, pinchin, pinchout...)\n emit(input.additionalEvent);\n }\n\n // panend and pancancel\n if (state >= STATE_ENDED) {\n emit(self.options.event + stateStr(state));\n }\n },\n\n /**\n * Check that all the require failure recognizers has failed,\n * if true, it emits a gesture event,\n * otherwise, setup the state to FAILED.\n * @param {Object} input\n */\n tryEmit: function(input) {\n if (this.canEmit()) {\n return this.emit(input);\n }\n // it's failing anyway\n this.state = STATE_FAILED;\n },\n\n /**\n * can we emit?\n * @returns {boolean}\n */\n canEmit: function() {\n var i = 0;\n while (i < this.requireFail.length) {\n if (!(this.requireFail[i].state & (STATE_FAILED | STATE_POSSIBLE))) {\n return false;\n }\n i++;\n }\n return true;\n },\n\n /**\n * update the recognizer\n * @param {Object} inputData\n */\n recognize: function(inputData) {\n // make a new copy of the inputData\n // so we can change the inputData without messing up the other recognizers\n var inputDataClone = assign({}, inputData);\n\n // is is enabled and allow recognizing?\n if (!boolOrFn(this.options.enable, [this, inputDataClone])) {\n this.reset();\n this.state = STATE_FAILED;\n return;\n }\n\n // reset when we've reached the end\n if (this.state & (STATE_RECOGNIZED | STATE_CANCELLED | STATE_FAILED)) {\n this.state = STATE_POSSIBLE;\n }\n\n this.state = this.process(inputDataClone);\n\n // the recognizer has recognized a gesture\n // so trigger an event\n if (this.state & (STATE_BEGAN | STATE_CHANGED | STATE_ENDED | STATE_CANCELLED)) {\n this.tryEmit(inputDataClone);\n }\n },\n\n /**\n * return the state of the recognizer\n * the actual recognizing happens in this method\n * @virtual\n * @param {Object} inputData\n * @returns {Const} STATE\n */\n process: function(inputData) { }, // jshint ignore:line\n\n /**\n * return the preferred touch-action\n * @virtual\n * @returns {Array}\n */\n getTouchAction: function() { },\n\n /**\n * called when the gesture isn't allowed to recognize\n * like when another is being recognized or it is disabled\n * @virtual\n */\n reset: function() { }\n};\n\n/**\n * get a usable string, used as event postfix\n * @param {Const} state\n * @returns {String} state\n */\nfunction stateStr(state) {\n if (state & STATE_CANCELLED) {\n return 'cancel';\n } else if (state & STATE_ENDED) {\n return 'end';\n } else if (state & STATE_CHANGED) {\n return 'move';\n } else if (state & STATE_BEGAN) {\n return 'start';\n }\n return '';\n}\n\n/**\n * direction cons to string\n * @param {Const} direction\n * @returns {String}\n */\nfunction directionStr(direction) {\n if (direction == DIRECTION_DOWN) {\n return 'down';\n } else if (direction == DIRECTION_UP) {\n return 'up';\n } else if (direction == DIRECTION_LEFT) {\n return 'left';\n } else if (direction == DIRECTION_RIGHT) {\n return 'right';\n }\n return '';\n}\n\n/**\n * get a recognizer by name if it is bound to a manager\n * @param {Recognizer|String} otherRecognizer\n * @param {Recognizer} recognizer\n * @returns {Recognizer}\n */\nfunction getRecognizerByNameIfManager(otherRecognizer, recognizer) {\n var manager = recognizer.manager;\n if (manager) {\n return manager.get(otherRecognizer);\n }\n return otherRecognizer;\n}\n\n/**\n * This recognizer is just used as a base for the simple attribute recognizers.\n * @constructor\n * @extends Recognizer\n */\nfunction AttrRecognizer() {\n Recognizer.apply(this, arguments);\n}\n\ninherit(AttrRecognizer, Recognizer, {\n /**\n * @namespace\n * @memberof AttrRecognizer\n */\n defaults: {\n /**\n * @type {Number}\n * @default 1\n */\n pointers: 1\n },\n\n /**\n * Used to check if it the recognizer receives valid input, like input.distance > 10.\n * @memberof AttrRecognizer\n * @param {Object} input\n * @returns {Boolean} recognized\n */\n attrTest: function(input) {\n var optionPointers = this.options.pointers;\n return optionPointers === 0 || input.pointers.length === optionPointers;\n },\n\n /**\n * Process the input and return the state for the recognizer\n * @memberof AttrRecognizer\n * @param {Object} input\n * @returns {*} State\n */\n process: function(input) {\n var state = this.state;\n var eventType = input.eventType;\n\n var isRecognized = state & (STATE_BEGAN | STATE_CHANGED);\n var isValid = this.attrTest(input);\n\n // on cancel input and we've recognized before, return STATE_CANCELLED\n if (isRecognized && (eventType & INPUT_CANCEL || !isValid)) {\n return state | STATE_CANCELLED;\n } else if (isRecognized || isValid) {\n if (eventType & INPUT_END) {\n return state | STATE_ENDED;\n } else if (!(state & STATE_BEGAN)) {\n return STATE_BEGAN;\n }\n return state | STATE_CHANGED;\n }\n return STATE_FAILED;\n }\n});\n\n/**\n * Pan\n * Recognized when the pointer is down and moved in the allowed direction.\n * @constructor\n * @extends AttrRecognizer\n */\nfunction PanRecognizer() {\n AttrRecognizer.apply(this, arguments);\n\n this.pX = null;\n this.pY = null;\n}\n\ninherit(PanRecognizer, AttrRecognizer, {\n /**\n * @namespace\n * @memberof PanRecognizer\n */\n defaults: {\n event: 'pan',\n threshold: 10,\n pointers: 1,\n direction: DIRECTION_ALL\n },\n\n getTouchAction: function() {\n var direction = this.options.direction;\n var actions = [];\n if (direction & DIRECTION_HORIZONTAL) {\n actions.push(TOUCH_ACTION_PAN_Y);\n }\n if (direction & DIRECTION_VERTICAL) {\n actions.push(TOUCH_ACTION_PAN_X);\n }\n return actions;\n },\n\n directionTest: function(input) {\n var options = this.options;\n var hasMoved = true;\n var distance = input.distance;\n var direction = input.direction;\n var x = input.deltaX;\n var y = input.deltaY;\n\n // lock to axis?\n if (!(direction & options.direction)) {\n if (options.direction & DIRECTION_HORIZONTAL) {\n direction = (x === 0) ? DIRECTION_NONE : (x < 0) ? DIRECTION_LEFT : DIRECTION_RIGHT;\n hasMoved = x != this.pX;\n distance = Math.abs(input.deltaX);\n } else {\n direction = (y === 0) ? DIRECTION_NONE : (y < 0) ? DIRECTION_UP : DIRECTION_DOWN;\n hasMoved = y != this.pY;\n distance = Math.abs(input.deltaY);\n }\n }\n input.direction = direction;\n return hasMoved && distance > options.threshold && direction & options.direction;\n },\n\n attrTest: function(input) {\n return AttrRecognizer.prototype.attrTest.call(this, input) &&\n (this.state & STATE_BEGAN || (!(this.state & STATE_BEGAN) && this.directionTest(input)));\n },\n\n emit: function(input) {\n\n this.pX = input.deltaX;\n this.pY = input.deltaY;\n\n var direction = directionStr(input.direction);\n\n if (direction) {\n input.additionalEvent = this.options.event + direction;\n }\n this._super.emit.call(this, input);\n }\n});\n\n/**\n * Pinch\n * Recognized when two or more pointers are moving toward (zoom-in) or away from each other (zoom-out).\n * @constructor\n * @extends AttrRecognizer\n */\nfunction PinchRecognizer() {\n AttrRecognizer.apply(this, arguments);\n}\n\ninherit(PinchRecognizer, AttrRecognizer, {\n /**\n * @namespace\n * @memberof PinchRecognizer\n */\n defaults: {\n event: 'pinch',\n threshold: 0,\n pointers: 2\n },\n\n getTouchAction: function() {\n return [TOUCH_ACTION_NONE];\n },\n\n attrTest: function(input) {\n return this._super.attrTest.call(this, input) &&\n (Math.abs(input.scale - 1) > this.options.threshold || this.state & STATE_BEGAN);\n },\n\n emit: function(input) {\n if (input.scale !== 1) {\n var inOut = input.scale < 1 ? 'in' : 'out';\n input.additionalEvent = this.options.event + inOut;\n }\n this._super.emit.call(this, input);\n }\n});\n\n/**\n * Press\n * Recognized when the pointer is down for x ms without any movement.\n * @constructor\n * @extends Recognizer\n */\nfunction PressRecognizer() {\n Recognizer.apply(this, arguments);\n\n this._timer = null;\n this._input = null;\n}\n\ninherit(PressRecognizer, Recognizer, {\n /**\n * @namespace\n * @memberof PressRecognizer\n */\n defaults: {\n event: 'press',\n pointers: 1,\n time: 251, // minimal time of the pointer to be pressed\n threshold: 9 // a minimal movement is ok, but keep it low\n },\n\n getTouchAction: function() {\n return [TOUCH_ACTION_AUTO];\n },\n\n process: function(input) {\n var options = this.options;\n var validPointers = input.pointers.length === options.pointers;\n var validMovement = input.distance < options.threshold;\n var validTime = input.deltaTime > options.time;\n\n this._input = input;\n\n // we only allow little movement\n // and we've reached an end event, so a tap is possible\n if (!validMovement || !validPointers || (input.eventType & (INPUT_END | INPUT_CANCEL) && !validTime)) {\n this.reset();\n } else if (input.eventType & INPUT_START) {\n this.reset();\n this._timer = setTimeoutContext(function() {\n this.state = STATE_RECOGNIZED;\n this.tryEmit();\n }, options.time, this);\n } else if (input.eventType & INPUT_END) {\n return STATE_RECOGNIZED;\n }\n return STATE_FAILED;\n },\n\n reset: function() {\n clearTimeout(this._timer);\n },\n\n emit: function(input) {\n if (this.state !== STATE_RECOGNIZED) {\n return;\n }\n\n if (input && (input.eventType & INPUT_END)) {\n this.manager.emit(this.options.event + 'up', input);\n } else {\n this._input.timeStamp = now();\n this.manager.emit(this.options.event, this._input);\n }\n }\n});\n\n/**\n * Rotate\n * Recognized when two or more pointer are moving in a circular motion.\n * @constructor\n * @extends AttrRecognizer\n */\nfunction RotateRecognizer() {\n AttrRecognizer.apply(this, arguments);\n}\n\ninherit(RotateRecognizer, AttrRecognizer, {\n /**\n * @namespace\n * @memberof RotateRecognizer\n */\n defaults: {\n event: 'rotate',\n threshold: 0,\n pointers: 2\n },\n\n getTouchAction: function() {\n return [TOUCH_ACTION_NONE];\n },\n\n attrTest: function(input) {\n return this._super.attrTest.call(this, input) &&\n (Math.abs(input.rotation) > this.options.threshold || this.state & STATE_BEGAN);\n }\n});\n\n/**\n * Swipe\n * Recognized when the pointer is moving fast (velocity), with enough distance in the allowed direction.\n * @constructor\n * @extends AttrRecognizer\n */\nfunction SwipeRecognizer() {\n AttrRecognizer.apply(this, arguments);\n}\n\ninherit(SwipeRecognizer, AttrRecognizer, {\n /**\n * @namespace\n * @memberof SwipeRecognizer\n */\n defaults: {\n event: 'swipe',\n threshold: 10,\n velocity: 0.3,\n direction: DIRECTION_HORIZONTAL | DIRECTION_VERTICAL,\n pointers: 1\n },\n\n getTouchAction: function() {\n return PanRecognizer.prototype.getTouchAction.call(this);\n },\n\n attrTest: function(input) {\n var direction = this.options.direction;\n var velocity;\n\n if (direction & (DIRECTION_HORIZONTAL | DIRECTION_VERTICAL)) {\n velocity = input.overallVelocity;\n } else if (direction & DIRECTION_HORIZONTAL) {\n velocity = input.overallVelocityX;\n } else if (direction & DIRECTION_VERTICAL) {\n velocity = input.overallVelocityY;\n }\n\n return this._super.attrTest.call(this, input) &&\n direction & input.offsetDirection &&\n input.distance > this.options.threshold &&\n input.maxPointers == this.options.pointers &&\n abs(velocity) > this.options.velocity && input.eventType & INPUT_END;\n },\n\n emit: function(input) {\n var direction = directionStr(input.offsetDirection);\n if (direction) {\n this.manager.emit(this.options.event + direction, input);\n }\n\n this.manager.emit(this.options.event, input);\n }\n});\n\n/**\n * A tap is ecognized when the pointer is doing a small tap/click. Multiple taps are recognized if they occur\n * between the given interval and position. The delay option can be used to recognize multi-taps without firing\n * a single tap.\n *\n * The eventData from the emitted event contains the property `tapCount`, which contains the amount of\n * multi-taps being recognized.\n * @constructor\n * @extends Recognizer\n */\nfunction TapRecognizer() {\n Recognizer.apply(this, arguments);\n\n // previous time and center,\n // used for tap counting\n this.pTime = false;\n this.pCenter = false;\n\n this._timer = null;\n this._input = null;\n this.count = 0;\n}\n\ninherit(TapRecognizer, Recognizer, {\n /**\n * @namespace\n * @memberof PinchRecognizer\n */\n defaults: {\n event: 'tap',\n pointers: 1,\n taps: 1,\n interval: 300, // max time between the multi-tap taps\n time: 250, // max time of the pointer to be down (like finger on the screen)\n threshold: 9, // a minimal movement is ok, but keep it low\n posThreshold: 10 // a multi-tap can be a bit off the initial position\n },\n\n getTouchAction: function() {\n return [TOUCH_ACTION_MANIPULATION];\n },\n\n process: function(input) {\n var options = this.options;\n\n var validPointers = input.pointers.length === options.pointers;\n var validMovement = input.distance < options.threshold;\n var validTouchTime = input.deltaTime < options.time;\n\n this.reset();\n\n if ((input.eventType & INPUT_START) && (this.count === 0)) {\n return this.failTimeout();\n }\n\n // we only allow little movement\n // and we've reached an end event, so a tap is possible\n if (validMovement && validTouchTime && validPointers) {\n if (input.eventType != INPUT_END) {\n return this.failTimeout();\n }\n\n var validInterval = this.pTime ? (input.timeStamp - this.pTime < options.interval) : true;\n var validMultiTap = !this.pCenter || getDistance(this.pCenter, input.center) < options.posThreshold;\n\n this.pTime = input.timeStamp;\n this.pCenter = input.center;\n\n if (!validMultiTap || !validInterval) {\n this.count = 1;\n } else {\n this.count += 1;\n }\n\n this._input = input;\n\n // if tap count matches we have recognized it,\n // else it has began recognizing...\n var tapCount = this.count % options.taps;\n if (tapCount === 0) {\n // no failing requirements, immediately trigger the tap event\n // or wait as long as the multitap interval to trigger\n if (!this.hasRequireFailures()) {\n return STATE_RECOGNIZED;\n } else {\n this._timer = setTimeoutContext(function() {\n this.state = STATE_RECOGNIZED;\n this.tryEmit();\n }, options.interval, this);\n return STATE_BEGAN;\n }\n }\n }\n return STATE_FAILED;\n },\n\n failTimeout: function() {\n this._timer = setTimeoutContext(function() {\n this.state = STATE_FAILED;\n }, this.options.interval, this);\n return STATE_FAILED;\n },\n\n reset: function() {\n clearTimeout(this._timer);\n },\n\n emit: function() {\n if (this.state == STATE_RECOGNIZED) {\n this._input.tapCount = this.count;\n this.manager.emit(this.options.event, this._input);\n }\n }\n});\n\n/**\n * Simple way to create a manager with a default set of recognizers.\n * @param {HTMLElement} element\n * @param {Object} [options]\n * @constructor\n */\nfunction Hammer(element, options) {\n options = options || {};\n options.recognizers = ifUndefined(options.recognizers, Hammer.defaults.preset);\n return new Manager(element, options);\n}\n\n/**\n * @const {string}\n */\nHammer.VERSION = '2.0.7';\n\n/**\n * default settings\n * @namespace\n */\nHammer.defaults = {\n /**\n * set if DOM events are being triggered.\n * But this is slower and unused by simple implementations, so disabled by default.\n * @type {Boolean}\n * @default false\n */\n domEvents: false,\n\n /**\n * The value for the touchAction property/fallback.\n * When set to `compute` it will magically set the correct value based on the added recognizers.\n * @type {String}\n * @default compute\n */\n touchAction: TOUCH_ACTION_COMPUTE,\n\n /**\n * @type {Boolean}\n * @default true\n */\n enable: true,\n\n /**\n * EXPERIMENTAL FEATURE -- can be removed/changed\n * Change the parent input target element.\n * If Null, then it is being set the to main element.\n * @type {Null|EventTarget}\n * @default null\n */\n inputTarget: null,\n\n /**\n * force an input class\n * @type {Null|Function}\n * @default null\n */\n inputClass: null,\n\n /**\n * Default recognizer setup when calling `Hammer()`\n * When creating a new Manager these will be skipped.\n * @type {Array}\n */\n preset: [\n // RecognizerClass, options, [recognizeWith, ...], [requireFailure, ...]\n [RotateRecognizer, {enable: false}],\n [PinchRecognizer, {enable: false}, ['rotate']],\n [SwipeRecognizer, {direction: DIRECTION_HORIZONTAL}],\n [PanRecognizer, {direction: DIRECTION_HORIZONTAL}, ['swipe']],\n [TapRecognizer],\n [TapRecognizer, {event: 'doubletap', taps: 2}, ['tap']],\n [PressRecognizer]\n ],\n\n /**\n * Some CSS properties can be used to improve the working of Hammer.\n * Add them to this method and they will be set when creating a new Manager.\n * @namespace\n */\n cssProps: {\n /**\n * Disables text selection to improve the dragging gesture. Mainly for desktop browsers.\n * @type {String}\n * @default 'none'\n */\n userSelect: 'none',\n\n /**\n * Disable the Windows Phone grippers when pressing an element.\n * @type {String}\n * @default 'none'\n */\n touchSelect: 'none',\n\n /**\n * Disables the default callout shown when you touch and hold a touch target.\n * On iOS, when you touch and hold a touch target such as a link, Safari displays\n * a callout containing information about the link. This property allows you to disable that callout.\n * @type {String}\n * @default 'none'\n */\n touchCallout: 'none',\n\n /**\n * Specifies whether zooming is enabled. Used by IE10>\n * @type {String}\n * @default 'none'\n */\n contentZooming: 'none',\n\n /**\n * Specifies that an entire element should be draggable instead of its contents. Mainly for desktop browsers.\n * @type {String}\n * @default 'none'\n */\n userDrag: 'none',\n\n /**\n * Overrides the highlight color shown when the user taps a link or a JavaScript\n * clickable element in iOS. This property obeys the alpha value, if specified.\n * @type {String}\n * @default 'rgba(0,0,0,0)'\n */\n tapHighlightColor: 'rgba(0,0,0,0)'\n }\n};\n\nvar STOP = 1;\nvar FORCED_STOP = 2;\n\n/**\n * Manager\n * @param {HTMLElement} element\n * @param {Object} [options]\n * @constructor\n */\nfunction Manager(element, options) {\n this.options = assign({}, Hammer.defaults, options || {});\n\n this.options.inputTarget = this.options.inputTarget || element;\n\n this.handlers = {};\n this.session = {};\n this.recognizers = [];\n this.oldCssProps = {};\n\n this.element = element;\n this.input = createInputInstance(this);\n this.touchAction = new TouchAction(this, this.options.touchAction);\n\n toggleCssProps(this, true);\n\n each(this.options.recognizers, function(item) {\n var recognizer = this.add(new (item[0])(item[1]));\n item[2] && recognizer.recognizeWith(item[2]);\n item[3] && recognizer.requireFailure(item[3]);\n }, this);\n}\n\nManager.prototype = {\n /**\n * set options\n * @param {Object} options\n * @returns {Manager}\n */\n set: function(options) {\n assign(this.options, options);\n\n // Options that need a little more setup\n if (options.touchAction) {\n this.touchAction.update();\n }\n if (options.inputTarget) {\n // Clean up existing event listeners and reinitialize\n this.input.destroy();\n this.input.target = options.inputTarget;\n this.input.init();\n }\n return this;\n },\n\n /**\n * stop recognizing for this session.\n * This session will be discarded, when a new [input]start event is fired.\n * When forced, the recognizer cycle is stopped immediately.\n * @param {Boolean} [force]\n */\n stop: function(force) {\n this.session.stopped = force ? FORCED_STOP : STOP;\n },\n\n /**\n * run the recognizers!\n * called by the inputHandler function on every movement of the pointers (touches)\n * it walks through all the recognizers and tries to detect the gesture that is being made\n * @param {Object} inputData\n */\n recognize: function(inputData) {\n var session = this.session;\n if (session.stopped) {\n return;\n }\n\n // run the touch-action polyfill\n this.touchAction.preventDefaults(inputData);\n\n var recognizer;\n var recognizers = this.recognizers;\n\n // this holds the recognizer that is being recognized.\n // so the recognizer's state needs to be BEGAN, CHANGED, ENDED or RECOGNIZED\n // if no recognizer is detecting a thing, it is set to `null`\n var curRecognizer = session.curRecognizer;\n\n // reset when the last recognizer is recognized\n // or when we're in a new session\n if (!curRecognizer || (curRecognizer && curRecognizer.state & STATE_RECOGNIZED)) {\n curRecognizer = session.curRecognizer = null;\n }\n\n var i = 0;\n while (i < recognizers.length) {\n recognizer = recognizers[i];\n\n // find out if we are allowed try to recognize the input for this one.\n // 1. allow if the session is NOT forced stopped (see the .stop() method)\n // 2. allow if we still haven't recognized a gesture in this session, or the this recognizer is the one\n // that is being recognized.\n // 3. allow if the recognizer is allowed to run simultaneous with the current recognized recognizer.\n // this can be setup with the `recognizeWith()` method on the recognizer.\n if (session.stopped !== FORCED_STOP && ( // 1\n !curRecognizer || recognizer == curRecognizer || // 2\n recognizer.canRecognizeWith(curRecognizer))) { // 3\n recognizer.recognize(inputData);\n } else {\n recognizer.reset();\n }\n\n // if the recognizer has been recognizing the input as a valid gesture, we want to store this one as the\n // current active recognizer. but only if we don't already have an active recognizer\n if (!curRecognizer && recognizer.state & (STATE_BEGAN | STATE_CHANGED | STATE_ENDED)) {\n curRecognizer = session.curRecognizer = recognizer;\n }\n i++;\n }\n },\n\n /**\n * get a recognizer by its event name.\n * @param {Recognizer|String} recognizer\n * @returns {Recognizer|Null}\n */\n get: function(recognizer) {\n if (recognizer instanceof Recognizer) {\n return recognizer;\n }\n\n var recognizers = this.recognizers;\n for (var i = 0; i < recognizers.length; i++) {\n if (recognizers[i].options.event == recognizer) {\n return recognizers[i];\n }\n }\n return null;\n },\n\n /**\n * add a recognizer to the manager\n * existing recognizers with the same event name will be removed\n * @param {Recognizer} recognizer\n * @returns {Recognizer|Manager}\n */\n add: function(recognizer) {\n if (invokeArrayArg(recognizer, 'add', this)) {\n return this;\n }\n\n // remove existing\n var existing = this.get(recognizer.options.event);\n if (existing) {\n this.remove(existing);\n }\n\n this.recognizers.push(recognizer);\n recognizer.manager = this;\n\n this.touchAction.update();\n return recognizer;\n },\n\n /**\n * remove a recognizer by name or instance\n * @param {Recognizer|String} recognizer\n * @returns {Manager}\n */\n remove: function(recognizer) {\n if (invokeArrayArg(recognizer, 'remove', this)) {\n return this;\n }\n\n recognizer = this.get(recognizer);\n\n // let's make sure this recognizer exists\n if (recognizer) {\n var recognizers = this.recognizers;\n var index = inArray(recognizers, recognizer);\n\n if (index !== -1) {\n recognizers.splice(index, 1);\n this.touchAction.update();\n }\n }\n\n return this;\n },\n\n /**\n * bind event\n * @param {String} events\n * @param {Function} handler\n * @returns {EventEmitter} this\n */\n on: function(events, handler) {\n if (events === undefined) {\n return;\n }\n if (handler === undefined) {\n return;\n }\n\n var handlers = this.handlers;\n each(splitStr(events), function(event) {\n handlers[event] = handlers[event] || [];\n handlers[event].push(handler);\n });\n return this;\n },\n\n /**\n * unbind event, leave emit blank to remove all handlers\n * @param {String} events\n * @param {Function} [handler]\n * @returns {EventEmitter} this\n */\n off: function(events, handler) {\n if (events === undefined) {\n return;\n }\n\n var handlers = this.handlers;\n each(splitStr(events), function(event) {\n if (!handler) {\n delete handlers[event];\n } else {\n handlers[event] && handlers[event].splice(inArray(handlers[event], handler), 1);\n }\n });\n return this;\n },\n\n /**\n * emit event to the listeners\n * @param {String} event\n * @param {Object} data\n */\n emit: function(event, data) {\n // we also want to trigger dom events\n if (this.options.domEvents) {\n triggerDomEvent(event, data);\n }\n\n // no handlers, so skip it all\n var handlers = this.handlers[event] && this.handlers[event].slice();\n if (!handlers || !handlers.length) {\n return;\n }\n\n data.type = event;\n data.preventDefault = function() {\n data.srcEvent.preventDefault();\n };\n\n var i = 0;\n while (i < handlers.length) {\n handlers[i](data);\n i++;\n }\n },\n\n /**\n * destroy the manager and unbinds all events\n * it doesn't unbind dom events, that is the user own responsibility\n */\n destroy: function() {\n this.element && toggleCssProps(this, false);\n\n this.handlers = {};\n this.session = {};\n this.input.destroy();\n this.element = null;\n }\n};\n\n/**\n * add/remove the css properties as defined in manager.options.cssProps\n * @param {Manager} manager\n * @param {Boolean} add\n */\nfunction toggleCssProps(manager, add) {\n var element = manager.element;\n if (!element.style) {\n return;\n }\n var prop;\n each(manager.options.cssProps, function(value, name) {\n prop = prefixed(element.style, name);\n if (add) {\n manager.oldCssProps[prop] = element.style[prop];\n element.style[prop] = value;\n } else {\n element.style[prop] = manager.oldCssProps[prop] || '';\n }\n });\n if (!add) {\n manager.oldCssProps = {};\n }\n}\n\n/**\n * trigger dom event\n * @param {String} event\n * @param {Object} data\n */\nfunction triggerDomEvent(event, data) {\n var gestureEvent = document.createEvent('Event');\n gestureEvent.initEvent(event, true, true);\n gestureEvent.gesture = data;\n data.target.dispatchEvent(gestureEvent);\n}\n\nassign(Hammer, {\n INPUT_START: INPUT_START,\n INPUT_MOVE: INPUT_MOVE,\n INPUT_END: INPUT_END,\n INPUT_CANCEL: INPUT_CANCEL,\n\n STATE_POSSIBLE: STATE_POSSIBLE,\n STATE_BEGAN: STATE_BEGAN,\n STATE_CHANGED: STATE_CHANGED,\n STATE_ENDED: STATE_ENDED,\n STATE_RECOGNIZED: STATE_RECOGNIZED,\n STATE_CANCELLED: STATE_CANCELLED,\n STATE_FAILED: STATE_FAILED,\n\n DIRECTION_NONE: DIRECTION_NONE,\n DIRECTION_LEFT: DIRECTION_LEFT,\n DIRECTION_RIGHT: DIRECTION_RIGHT,\n DIRECTION_UP: DIRECTION_UP,\n DIRECTION_DOWN: DIRECTION_DOWN,\n DIRECTION_HORIZONTAL: DIRECTION_HORIZONTAL,\n DIRECTION_VERTICAL: DIRECTION_VERTICAL,\n DIRECTION_ALL: DIRECTION_ALL,\n\n Manager: Manager,\n Input: Input,\n TouchAction: TouchAction,\n\n TouchInput: TouchInput,\n MouseInput: MouseInput,\n PointerEventInput: PointerEventInput,\n TouchMouseInput: TouchMouseInput,\n SingleTouchInput: SingleTouchInput,\n\n Recognizer: Recognizer,\n AttrRecognizer: AttrRecognizer,\n Tap: TapRecognizer,\n Pan: PanRecognizer,\n Swipe: SwipeRecognizer,\n Pinch: PinchRecognizer,\n Rotate: RotateRecognizer,\n Press: PressRecognizer,\n\n on: addEventListeners,\n off: removeEventListeners,\n each: each,\n merge: merge,\n extend: extend,\n assign: assign,\n inherit: inherit,\n bindFn: bindFn,\n prefixed: prefixed\n});\n\n// this prevents errors when Hammer is loaded in the presence of an AMD\n// style loader but by script tag, not by the loader.\nvar freeGlobal = (typeof window !== 'undefined' ? window : (typeof self !== 'undefined' ? self : {})); // jshint ignore:line\nfreeGlobal.Hammer = Hammer;\n\nif (typeof define === 'function' && define.amd) {\n define(function() {\n return Hammer;\n });\n} else if (typeof module != 'undefined' && module.exports) {\n module.exports = Hammer;\n} else {\n window[exportName] = Hammer;\n}\n\n})(window, document, 'Hammer');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/hammerjs/hammer.js\n// module id = 86\n// module chunks = 3","var $export = require('./_export');\nvar defined = require('./_defined');\nvar fails = require('./_fails');\nvar spaces = require('./_string-ws');\nvar space = '[' + spaces + ']';\nvar non = '\\u200b\\u0085';\nvar ltrim = RegExp('^' + space + space + '*');\nvar rtrim = RegExp(space + space + '*$');\n\nvar exporter = function (KEY, exec, ALIAS) {\n var exp = {};\n var FORCE = fails(function () {\n return !!spaces[KEY]() || non[KEY]() != non;\n });\n var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY];\n if (ALIAS) exp[ALIAS] = fn;\n $export($export.P + $export.F * FORCE, 'String', exp);\n};\n\n// 1 -> String#trimLeft\n// 2 -> String#trimRight\n// 3 -> String#trim\nvar trim = exporter.trim = function (string, TYPE) {\n string = String(defined(string));\n if (TYPE & 1) string = string.replace(ltrim, '');\n if (TYPE & 2) string = string.replace(rtrim, '');\n return string;\n};\n\nmodule.exports = exporter;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_string-trim.js\n// module id = 103\n// module chunks = 3","'use strict';\n// 21.2.5.3 get RegExp.prototype.flags\nvar anObject = require('./_an-object');\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_flags.js\n// module id = 104\n// module chunks = 3","var ctx = require('./_ctx');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar getIterFn = require('./core.get-iterator-method');\nvar BREAK = {};\nvar RETURN = {};\nvar exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);\n var f = ctx(fn, that, entries ? 2 : 1);\n var index = 0;\n var length, step, iterator, result;\n if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n // fast case for arrays with default iterator\n if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n if (result === BREAK || result === RETURN) return result;\n } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n result = call(iterator, f, step.value, entries);\n if (result === BREAK || result === RETURN) return result;\n }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_for-of.js\n// module id = 105\n// module chunks = 3","var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_set-to-string-tag.js\n// module id = 106\n// module chunks = 3","exports.f = Object.getOwnPropertySymbols;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_object-gops.js\n// module id = 107\n// module chunks = 3","'use strict';\n// Forced replacement prototype accessors methods\nmodule.exports = require('./_library') || !require('./_fails')(function () {\n var K = Math.random();\n // In FF throws only define methods\n // eslint-disable-next-line no-undef, no-useless-call\n __defineSetter__.call(null, K, function () { /* empty */ });\n delete require('./_global')[K];\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_object-forced-pam.js\n// module id = 108\n// module chunks = 3","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function (iterated) {\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var index = this._i;\n var point;\n if (index >= O.length) return { value: undefined, done: true };\n point = $at(O, index);\n this._i += point.length;\n return { value: point, done: false };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.string.iterator.js\n// module id = 109\n// module chunks = 3","'use strict';\n\nvar classof = require('./_classof');\nvar builtinExec = RegExp.prototype.exec;\n\n // `RegExpExec` abstract operation\n// https://tc39.github.io/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (typeof exec === 'function') {\n var result = exec.call(R, S);\n if (typeof result !== 'object') {\n throw new TypeError('RegExp exec method returned something other than an Object or null');\n }\n return result;\n }\n if (classof(R) !== 'RegExp') {\n throw new TypeError('RegExp#exec called on incompatible receiver');\n }\n return builtinExec.call(R, S);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_regexp-exec-abstract.js\n// module id = 110\n// module chunks = 3","'use strict';\nrequire('./es6.regexp.exec');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar fails = require('./_fails');\nvar defined = require('./_defined');\nvar wks = require('./_wks');\nvar regexpExec = require('./_regexp-exec');\n\nvar SPECIES = wks('species');\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n // #replace needs built-in support for named groups.\n // #match works fine because it just return the exec results, even if it has\n // a \"grops\" property.\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n return ''.replace(re, '$') !== '7';\n});\n\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = (function () {\n // Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n var re = /(?:)/;\n var originalExec = re.exec;\n re.exec = function () { return originalExec.apply(this, arguments); };\n var result = 'ab'.split(re);\n return result.length === 2 && result[0] === 'a' && result[1] === 'b';\n})();\n\nmodule.exports = function (KEY, length, exec) {\n var SYMBOL = wks(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegEp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL ? !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n re.exec = function () { execCalled = true; return null; };\n if (KEY === 'split') {\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n }\n re[SYMBOL]('');\n return !execCalled;\n }) : undefined;\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n (KEY === 'replace' && !REPLACE_SUPPORTS_NAMED_GROUPS) ||\n (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var fns = exec(\n defined,\n SYMBOL,\n ''[KEY],\n function maybeCallNative(nativeMethod, regexp, str, arg2, forceStringMethod) {\n if (regexp.exec === regexpExec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };\n }\n return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n }\n return { done: false };\n }\n );\n var strfn = fns[0];\n var rxfn = fns[1];\n\n redefine(String.prototype, KEY, strfn);\n hide(RegExp.prototype, SYMBOL, length == 2\n // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n ? function (string, arg) { return rxfn.call(string, this, arg); }\n // 21.2.5.6 RegExp.prototype[@@match](string)\n // 21.2.5.9 RegExp.prototype[@@search](string)\n : function (string) { return rxfn.call(string, this); }\n );\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_fix-re-wks.js\n// module id = 111\n// module chunks = 3","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_shared-key.js\n// module id = 133\n// module chunks = 3","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_enum-bug-keys.js\n// module id = 134\n// module chunks = 3","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_is-array.js\n// module id = 135\n// module chunks = 3","module.exports = '\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003' +\n '\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_string-ws.js\n// module id = 136\n// module chunks = 3","var redefine = require('./_redefine');\nmodule.exports = function (target, src, safe) {\n for (var key in src) redefine(target, key, src[key], safe);\n return target;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_redefine-all.js\n// module id = 137\n// module chunks = 3","module.exports = function (it, Constructor, name, forbiddenField) {\n if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {\n throw TypeError(name + ': incorrect invocation!');\n } return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_an-instance.js\n// module id = 138\n// module chunks = 3","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof');\nvar TAG = require('./_wks')('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_classof.js\n// module id = 139\n// module chunks = 3","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_iter-define.js\n// module id = 140\n// module chunks = 3","'use strict';\nvar global = require('./_global');\nvar dP = require('./_object-dp');\nvar DESCRIPTORS = require('./_descriptors');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (KEY) {\n var C = global[KEY];\n if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_set-species.js\n// module id = 141\n// module chunks = 3","'use strict';\nvar global = require('./_global');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar redefineAll = require('./_redefine-all');\nvar meta = require('./_meta');\nvar forOf = require('./_for-of');\nvar anInstance = require('./_an-instance');\nvar isObject = require('./_is-object');\nvar fails = require('./_fails');\nvar $iterDetect = require('./_iter-detect');\nvar setToStringTag = require('./_set-to-string-tag');\nvar inheritIfRequired = require('./_inherit-if-required');\n\nmodule.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {\n var Base = global[NAME];\n var C = Base;\n var ADDER = IS_MAP ? 'set' : 'add';\n var proto = C && C.prototype;\n var O = {};\n var fixMethod = function (KEY) {\n var fn = proto[KEY];\n redefine(proto, KEY,\n KEY == 'delete' ? function (a) {\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'has' ? function has(a) {\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'get' ? function get(a) {\n return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'add' ? function add(a) { fn.call(this, a === 0 ? 0 : a); return this; }\n : function set(a, b) { fn.call(this, a === 0 ? 0 : a, b); return this; }\n );\n };\n if (typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () {\n new C().entries().next();\n }))) {\n // create collection constructor\n C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);\n redefineAll(C.prototype, methods);\n meta.NEED = true;\n } else {\n var instance = new C();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n var ACCEPT_ITERABLES = $iterDetect(function (iter) { new C(iter); }); // eslint-disable-line no-new\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new C();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n if (!ACCEPT_ITERABLES) {\n C = wrapper(function (target, iterable) {\n anInstance(target, C, NAME);\n var that = inheritIfRequired(new Base(), target, C);\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n return that;\n });\n C.prototype = proto;\n proto.constructor = C;\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) fixMethod(ADDER);\n // weak collections should not contains .clear method\n if (IS_WEAK && proto.clear) delete proto.clear;\n }\n\n setToStringTag(C, NAME);\n\n O[NAME] = C;\n $export($export.G + $export.W + $export.F * (C != Base), O);\n\n if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP);\n\n return C;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_collection.js\n// module id = 142\n// module chunks = 3","var isObject = require('./_is-object');\nvar setPrototypeOf = require('./_set-proto').set;\nmodule.exports = function (that, target, C) {\n var S = target.constructor;\n var P;\n if (S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf) {\n setPrototypeOf(that, P);\n } return that;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_inherit-if-required.js\n// module id = 143\n// module chunks = 3","'use strict';\nvar $defineProperty = require('./_object-dp');\nvar createDesc = require('./_property-desc');\n\nmodule.exports = function (object, index, value) {\n if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n else object[index] = value;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_create-property.js\n// module id = 144\n// module chunks = 3","// 20.2.2.28 Math.sign(x)\nmodule.exports = Math.sign || function sign(x) {\n // eslint-disable-next-line no-self-compare\n return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_math-sign.js\n// module id = 145\n// module chunks = 3","// 20.2.2.14 Math.expm1(x)\nvar $expm1 = Math.expm1;\nmodule.exports = (!$expm1\n // Old FF bug\n || $expm1(10) > 22025.465794806719 || $expm1(10) < 22025.4657948067165168\n // Tor Browser bug\n || $expm1(-2e-17) != -2e-17\n) ? function expm1(x) {\n return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : Math.exp(x) - 1;\n} : $expm1;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_math-expm1.js\n// module id = 146\n// module chunks = 3","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_string-at.js\n// module id = 147\n// module chunks = 3","// helper for String#{startsWith, endsWith, includes}\nvar isRegExp = require('./_is-regexp');\nvar defined = require('./_defined');\n\nmodule.exports = function (that, searchString, NAME) {\n if (isRegExp(searchString)) throw TypeError('String#' + NAME + \" doesn't accept regex!\");\n return String(defined(that));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_string-context.js\n// module id = 148\n// module chunks = 3","// 7.2.8 IsRegExp(argument)\nvar isObject = require('./_is-object');\nvar cof = require('./_cof');\nvar MATCH = require('./_wks')('match');\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp');\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_is-regexp.js\n// module id = 149\n// module chunks = 3","var MATCH = require('./_wks')('match');\nmodule.exports = function (KEY) {\n var re = /./;\n try {\n '/./'[KEY](re);\n } catch (e) {\n try {\n re[MATCH] = false;\n return !'/./'[KEY](re);\n } catch (f) { /* empty */ }\n } return true;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_fails-is-regexp.js\n// module id = 150\n// module chunks = 3","'use strict';\nvar at = require('./_string-at')(true);\n\n // `AdvanceStringIndex` abstract operation\n// https://tc39.github.io/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? at(S, index).length : 1);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_advance-string-index.js\n// module id = 151\n// module chunks = 3","'use strict';\n\nvar regexpFlags = require('./_flags');\n\nvar nativeExec = RegExp.prototype.exec;\n// This always refers to the native implementation, because the\n// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,\n// which loads this file before patching the method.\nvar nativeReplace = String.prototype.replace;\n\nvar patchedExec = nativeExec;\n\nvar LAST_INDEX = 'lastIndex';\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/,\n re2 = /b*/g;\n nativeExec.call(re1, 'a');\n nativeExec.call(re2, 'a');\n return re1[LAST_INDEX] !== 0 || re2[LAST_INDEX] !== 0;\n})();\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED;\n\nif (PATCH) {\n patchedExec = function exec(str) {\n var re = this;\n var lastIndex, reCopy, match, i;\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + re.source + '$(?!\\\\s)', regexpFlags.call(re));\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re[LAST_INDEX];\n\n match = nativeExec.call(re, str);\n\n if (UPDATES_LAST_INDEX_WRONG && match) {\n re[LAST_INDEX] = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n // eslint-disable-next-line no-loop-func\n nativeReplace.call(match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_regexp-exec.js\n// module id = 152\n// module chunks = 3","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.array.iterator.js\n// module id = 153\n// module chunks = 3","var $export = require('./_export');\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n$export($export.S, 'Object', { create: require('./_object-create') });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.object.create.js\n// module id = 204\n// module chunks = 3","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_ie8-dom-define.js\n// module id = 205\n// module chunks = 3","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_dom-create.js\n// module id = 206\n// module chunks = 3","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_object-dps.js\n// module id = 207\n// module chunks = 3","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_object-keys-internal.js\n// module id = 208\n// module chunks = 3","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_array-includes.js\n// module id = 209\n// module chunks = 3","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_html.js\n// module id = 210\n// module chunks = 3","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperty: require('./_object-dp').f });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.object.define-property.js\n// module id = 211\n// module chunks = 3","var $export = require('./_export');\n// 19.1.2.3 / 15.2.3.7 Object.defineProperties(O, Properties)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperties: require('./_object-dps') });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.object.define-properties.js\n// module id = 212\n// module chunks = 3","// 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\nvar toIObject = require('./_to-iobject');\nvar $getOwnPropertyDescriptor = require('./_object-gopd').f;\n\nrequire('./_object-sap')('getOwnPropertyDescriptor', function () {\n return function getOwnPropertyDescriptor(it, key) {\n return $getOwnPropertyDescriptor(toIObject(it), key);\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.object.get-own-property-descriptor.js\n// module id = 213\n// module chunks = 3","// 19.1.2.9 Object.getPrototypeOf(O)\nvar toObject = require('./_to-object');\nvar $getPrototypeOf = require('./_object-gpo');\n\nrequire('./_object-sap')('getPrototypeOf', function () {\n return function getPrototypeOf(it) {\n return $getPrototypeOf(toObject(it));\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.object.get-prototype-of.js\n// module id = 214\n// module chunks = 3","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object');\nvar $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function () {\n return function keys(it) {\n return $keys(toObject(it));\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.object.keys.js\n// module id = 215\n// module chunks = 3","// 19.1.2.7 Object.getOwnPropertyNames(O)\nrequire('./_object-sap')('getOwnPropertyNames', function () {\n return require('./_object-gopn-ext').f;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.object.get-own-property-names.js\n// module id = 216\n// module chunks = 3","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject');\nvar gOPN = require('./_object-gopn').f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_object-gopn-ext.js\n// module id = 217\n// module chunks = 3","// 19.1.2.5 Object.freeze(O)\nvar isObject = require('./_is-object');\nvar meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('freeze', function ($freeze) {\n return function freeze(it) {\n return $freeze && isObject(it) ? $freeze(meta(it)) : it;\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.object.freeze.js\n// module id = 218\n// module chunks = 3","// 19.1.2.17 Object.seal(O)\nvar isObject = require('./_is-object');\nvar meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('seal', function ($seal) {\n return function seal(it) {\n return $seal && isObject(it) ? $seal(meta(it)) : it;\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.object.seal.js\n// module id = 219\n// module chunks = 3","// 19.1.2.15 Object.preventExtensions(O)\nvar isObject = require('./_is-object');\nvar meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('preventExtensions', function ($preventExtensions) {\n return function preventExtensions(it) {\n return $preventExtensions && isObject(it) ? $preventExtensions(meta(it)) : it;\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.object.prevent-extensions.js\n// module id = 220\n// module chunks = 3","// 19.1.2.12 Object.isFrozen(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isFrozen', function ($isFrozen) {\n return function isFrozen(it) {\n return isObject(it) ? $isFrozen ? $isFrozen(it) : false : true;\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.object.is-frozen.js\n// module id = 221\n// module chunks = 3","// 19.1.2.13 Object.isSealed(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isSealed', function ($isSealed) {\n return function isSealed(it) {\n return isObject(it) ? $isSealed ? $isSealed(it) : false : true;\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.object.is-sealed.js\n// module id = 222\n// module chunks = 3","// 19.1.2.11 Object.isExtensible(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isExtensible', function ($isExtensible) {\n return function isExtensible(it) {\n return isObject(it) ? $isExtensible ? $isExtensible(it) : true : false;\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.object.is-extensible.js\n// module id = 223\n// module chunks = 3","// 19.2.3.2 / 15.3.4.5 Function.prototype.bind(thisArg, args...)\nvar $export = require('./_export');\n\n$export($export.P, 'Function', { bind: require('./_bind') });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.function.bind.js\n// module id = 224\n// module chunks = 3","// 22.1.2.2 / 15.4.3.2 Array.isArray(arg)\nvar $export = require('./_export');\n\n$export($export.S, 'Array', { isArray: require('./_is-array') });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.array.is-array.js\n// module id = 225\n// module chunks = 3","'use strict';\n// 22.1.3.13 Array.prototype.join(separator)\nvar $export = require('./_export');\nvar toIObject = require('./_to-iobject');\nvar arrayJoin = [].join;\n\n// fallback for not array-like strings\n$export($export.P + $export.F * (require('./_iobject') != Object || !require('./_strict-method')(arrayJoin)), 'Array', {\n join: function join(separator) {\n return arrayJoin.call(toIObject(this), separator === undefined ? ',' : separator);\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.array.join.js\n// module id = 226\n// module chunks = 3","'use strict';\nvar $export = require('./_export');\nvar html = require('./_html');\nvar cof = require('./_cof');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\nvar arraySlice = [].slice;\n\n// fallback for not array-like ES3 strings and DOM objects\n$export($export.P + $export.F * require('./_fails')(function () {\n if (html) arraySlice.call(html);\n}), 'Array', {\n slice: function slice(begin, end) {\n var len = toLength(this.length);\n var klass = cof(this);\n end = end === undefined ? len : end;\n if (klass == 'Array') return arraySlice.call(this, begin, end);\n var start = toAbsoluteIndex(begin, len);\n var upTo = toAbsoluteIndex(end, len);\n var size = toLength(upTo - start);\n var cloned = new Array(size);\n var i = 0;\n for (; i < size; i++) cloned[i] = klass == 'String'\n ? this.charAt(start + i)\n : this[start + i];\n return cloned;\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.array.slice.js\n// module id = 227\n// module chunks = 3","'use strict';\nvar $export = require('./_export');\nvar aFunction = require('./_a-function');\nvar toObject = require('./_to-object');\nvar fails = require('./_fails');\nvar $sort = [].sort;\nvar test = [1, 2, 3];\n\n$export($export.P + $export.F * (fails(function () {\n // IE8-\n test.sort(undefined);\n}) || !fails(function () {\n // V8 bug\n test.sort(null);\n // Old WebKit\n}) || !require('./_strict-method')($sort)), 'Array', {\n // 22.1.3.25 Array.prototype.sort(comparefn)\n sort: function sort(comparefn) {\n return comparefn === undefined\n ? $sort.call(toObject(this))\n : $sort.call(toObject(this), aFunction(comparefn));\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.array.sort.js\n// module id = 228\n// module chunks = 3","'use strict';\nvar $export = require('./_export');\nvar $forEach = require('./_array-methods')(0);\nvar STRICT = require('./_strict-method')([].forEach, true);\n\n$export($export.P + $export.F * !STRICT, 'Array', {\n // 22.1.3.10 / 15.4.4.18 Array.prototype.forEach(callbackfn [, thisArg])\n forEach: function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments[1]);\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.array.for-each.js\n// module id = 229\n// module chunks = 3","'use strict';\nvar $export = require('./_export');\nvar $map = require('./_array-methods')(1);\n\n$export($export.P + $export.F * !require('./_strict-method')([].map, true), 'Array', {\n // 22.1.3.15 / 15.4.4.19 Array.prototype.map(callbackfn [, thisArg])\n map: function map(callbackfn /* , thisArg */) {\n return $map(this, callbackfn, arguments[1]);\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.array.map.js\n// module id = 230\n// module chunks = 3","'use strict';\nvar $export = require('./_export');\nvar $filter = require('./_array-methods')(2);\n\n$export($export.P + $export.F * !require('./_strict-method')([].filter, true), 'Array', {\n // 22.1.3.7 / 15.4.4.20 Array.prototype.filter(callbackfn [, thisArg])\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments[1]);\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.array.filter.js\n// module id = 231\n// module chunks = 3","'use strict';\nvar $export = require('./_export');\nvar $some = require('./_array-methods')(3);\n\n$export($export.P + $export.F * !require('./_strict-method')([].some, true), 'Array', {\n // 22.1.3.23 / 15.4.4.17 Array.prototype.some(callbackfn [, thisArg])\n some: function some(callbackfn /* , thisArg */) {\n return $some(this, callbackfn, arguments[1]);\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.array.some.js\n// module id = 232\n// module chunks = 3","'use strict';\nvar $export = require('./_export');\nvar $every = require('./_array-methods')(4);\n\n$export($export.P + $export.F * !require('./_strict-method')([].every, true), 'Array', {\n // 22.1.3.5 / 15.4.4.16 Array.prototype.every(callbackfn [, thisArg])\n every: function every(callbackfn /* , thisArg */) {\n return $every(this, callbackfn, arguments[1]);\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.array.every.js\n// module id = 233\n// module chunks = 3","'use strict';\nvar $export = require('./_export');\nvar $reduce = require('./_array-reduce');\n\n$export($export.P + $export.F * !require('./_strict-method')([].reduce, true), 'Array', {\n // 22.1.3.18 / 15.4.4.21 Array.prototype.reduce(callbackfn [, initialValue])\n reduce: function reduce(callbackfn /* , initialValue */) {\n return $reduce(this, callbackfn, arguments.length, arguments[1], false);\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.array.reduce.js\n// module id = 234\n// module chunks = 3","var aFunction = require('./_a-function');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar toLength = require('./_to-length');\n\nmodule.exports = function (that, callbackfn, aLen, memo, isRight) {\n aFunction(callbackfn);\n var O = toObject(that);\n var self = IObject(O);\n var length = toLength(O.length);\n var index = isRight ? length - 1 : 0;\n var i = isRight ? -1 : 1;\n if (aLen < 2) for (;;) {\n if (index in self) {\n memo = self[index];\n index += i;\n break;\n }\n index += i;\n if (isRight ? index < 0 : length <= index) {\n throw TypeError('Reduce of empty array with no initial value');\n }\n }\n for (;isRight ? index >= 0 : length > index; index += i) if (index in self) {\n memo = callbackfn(memo, self[index], index, O);\n }\n return memo;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_array-reduce.js\n// module id = 235\n// module chunks = 3","'use strict';\nvar $export = require('./_export');\nvar $reduce = require('./_array-reduce');\n\n$export($export.P + $export.F * !require('./_strict-method')([].reduceRight, true), 'Array', {\n // 22.1.3.19 / 15.4.4.22 Array.prototype.reduceRight(callbackfn [, initialValue])\n reduceRight: function reduceRight(callbackfn /* , initialValue */) {\n return $reduce(this, callbackfn, arguments.length, arguments[1], true);\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.array.reduce-right.js\n// module id = 236\n// module chunks = 3","'use strict';\nvar $export = require('./_export');\nvar $indexOf = require('./_array-includes')(false);\nvar $native = [].indexOf;\nvar NEGATIVE_ZERO = !!$native && 1 / [1].indexOf(1, -0) < 0;\n\n$export($export.P + $export.F * (NEGATIVE_ZERO || !require('./_strict-method')($native)), 'Array', {\n // 22.1.3.11 / 15.4.4.14 Array.prototype.indexOf(searchElement [, fromIndex])\n indexOf: function indexOf(searchElement /* , fromIndex = 0 */) {\n return NEGATIVE_ZERO\n // convert -0 to +0\n ? $native.apply(this, arguments) || 0\n : $indexOf(this, searchElement, arguments[1]);\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.array.index-of.js\n// module id = 237\n// module chunks = 3","'use strict';\nvar $export = require('./_export');\nvar toIObject = require('./_to-iobject');\nvar toInteger = require('./_to-integer');\nvar toLength = require('./_to-length');\nvar $native = [].lastIndexOf;\nvar NEGATIVE_ZERO = !!$native && 1 / [1].lastIndexOf(1, -0) < 0;\n\n$export($export.P + $export.F * (NEGATIVE_ZERO || !require('./_strict-method')($native)), 'Array', {\n // 22.1.3.14 / 15.4.4.15 Array.prototype.lastIndexOf(searchElement [, fromIndex])\n lastIndexOf: function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) {\n // convert -0 to +0\n if (NEGATIVE_ZERO) return $native.apply(this, arguments) || 0;\n var O = toIObject(this);\n var length = toLength(O.length);\n var index = length - 1;\n if (arguments.length > 1) index = Math.min(index, toInteger(arguments[1]));\n if (index < 0) index = length + index;\n for (;index >= 0; index--) if (index in O) if (O[index] === searchElement) return index || 0;\n return -1;\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.array.last-index-of.js\n// module id = 238\n// module chunks = 3","'use strict';\nvar $export = require('./_export');\nvar toInteger = require('./_to-integer');\nvar aNumberValue = require('./_a-number-value');\nvar repeat = require('./_string-repeat');\nvar $toFixed = 1.0.toFixed;\nvar floor = Math.floor;\nvar data = [0, 0, 0, 0, 0, 0];\nvar ERROR = 'Number.toFixed: incorrect invocation!';\nvar ZERO = '0';\n\nvar multiply = function (n, c) {\n var i = -1;\n var c2 = c;\n while (++i < 6) {\n c2 += n * data[i];\n data[i] = c2 % 1e7;\n c2 = floor(c2 / 1e7);\n }\n};\nvar divide = function (n) {\n var i = 6;\n var c = 0;\n while (--i >= 0) {\n c += data[i];\n data[i] = floor(c / n);\n c = (c % n) * 1e7;\n }\n};\nvar numToString = function () {\n var i = 6;\n var s = '';\n while (--i >= 0) {\n if (s !== '' || i === 0 || data[i] !== 0) {\n var t = String(data[i]);\n s = s === '' ? t : s + repeat.call(ZERO, 7 - t.length) + t;\n }\n } return s;\n};\nvar pow = function (x, n, acc) {\n return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc);\n};\nvar log = function (x) {\n var n = 0;\n var x2 = x;\n while (x2 >= 4096) {\n n += 12;\n x2 /= 4096;\n }\n while (x2 >= 2) {\n n += 1;\n x2 /= 2;\n } return n;\n};\n\n$export($export.P + $export.F * (!!$toFixed && (\n 0.00008.toFixed(3) !== '0.000' ||\n 0.9.toFixed(0) !== '1' ||\n 1.255.toFixed(2) !== '1.25' ||\n 1000000000000000128.0.toFixed(0) !== '1000000000000000128'\n) || !require('./_fails')(function () {\n // V8 ~ Android 4.3-\n $toFixed.call({});\n})), 'Number', {\n toFixed: function toFixed(fractionDigits) {\n var x = aNumberValue(this, ERROR);\n var f = toInteger(fractionDigits);\n var s = '';\n var m = ZERO;\n var e, z, j, k;\n if (f < 0 || f > 20) throw RangeError(ERROR);\n // eslint-disable-next-line no-self-compare\n if (x != x) return 'NaN';\n if (x <= -1e21 || x >= 1e21) return String(x);\n if (x < 0) {\n s = '-';\n x = -x;\n }\n if (x > 1e-21) {\n e = log(x * pow(2, 69, 1)) - 69;\n z = e < 0 ? x * pow(2, -e, 1) : x / pow(2, e, 1);\n z *= 0x10000000000000;\n e = 52 - e;\n if (e > 0) {\n multiply(0, z);\n j = f;\n while (j >= 7) {\n multiply(1e7, 0);\n j -= 7;\n }\n multiply(pow(10, j, 1), 0);\n j = e - 1;\n while (j >= 23) {\n divide(1 << 23);\n j -= 23;\n }\n divide(1 << j);\n multiply(1, 1);\n divide(2);\n m = numToString();\n } else {\n multiply(0, z);\n multiply(1 << -e, 0);\n m = numToString() + repeat.call(ZERO, f);\n }\n }\n if (f > 0) {\n k = m.length;\n m = s + (k <= f ? '0.' + repeat.call(ZERO, f - k) + m : m.slice(0, k - f) + '.' + m.slice(k - f));\n } else {\n m = s + m;\n } return m;\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.number.to-fixed.js\n// module id = 239\n// module chunks = 3","var cof = require('./_cof');\nmodule.exports = function (it, msg) {\n if (typeof it != 'number' && cof(it) != 'Number') throw TypeError(msg);\n return +it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_a-number-value.js\n// module id = 240\n// module chunks = 3","'use strict';\nvar toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n\nmodule.exports = function repeat(count) {\n var str = String(defined(this));\n var res = '';\n var n = toInteger(count);\n if (n < 0 || n == Infinity) throw RangeError(\"Count can't be negative\");\n for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) res += str;\n return res;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_string-repeat.js\n// module id = 241\n// module chunks = 3","'use strict';\nvar $export = require('./_export');\nvar $fails = require('./_fails');\nvar aNumberValue = require('./_a-number-value');\nvar $toPrecision = 1.0.toPrecision;\n\n$export($export.P + $export.F * ($fails(function () {\n // IE7-\n return $toPrecision.call(1, undefined) !== '1';\n}) || !$fails(function () {\n // V8 ~ Android 4.3-\n $toPrecision.call({});\n})), 'Number', {\n toPrecision: function toPrecision(precision) {\n var that = aNumberValue(this, 'Number#toPrecision: incorrect invocation!');\n return precision === undefined ? $toPrecision.call(that) : $toPrecision.call(that, precision);\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.number.to-precision.js\n// module id = 242\n// module chunks = 3","// 20.3.3.1 / 15.9.4.4 Date.now()\nvar $export = require('./_export');\n\n$export($export.S, 'Date', { now: function () { return new Date().getTime(); } });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.date.now.js\n// module id = 243\n// module chunks = 3","// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()\nvar $export = require('./_export');\nvar toISOString = require('./_date-to-iso-string');\n\n// PhantomJS / old WebKit has a broken implementations\n$export($export.P + $export.F * (Date.prototype.toISOString !== toISOString), 'Date', {\n toISOString: toISOString\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.date.to-iso-string.js\n// module id = 244\n// module chunks = 3","'use strict';\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar toPrimitive = require('./_to-primitive');\n\n$export($export.P + $export.F * require('./_fails')(function () {\n return new Date(NaN).toJSON() !== null\n || Date.prototype.toJSON.call({ toISOString: function () { return 1; } }) !== 1;\n}), 'Date', {\n // eslint-disable-next-line no-unused-vars\n toJSON: function toJSON(key) {\n var O = toObject(this);\n var pv = toPrimitive(O);\n return typeof pv == 'number' && !isFinite(pv) ? null : O.toISOString();\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.date.to-json.js\n// module id = 245\n// module chunks = 3","var $export = require('./_export');\nvar $parseInt = require('./_parse-int');\n// 18.2.5 parseInt(string, radix)\n$export($export.G + $export.F * (parseInt != $parseInt), { parseInt: $parseInt });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.parse-int.js\n// module id = 246\n// module chunks = 3","var $parseInt = require('./_global').parseInt;\nvar $trim = require('./_string-trim').trim;\nvar ws = require('./_string-ws');\nvar hex = /^[-+]?0[xX]/;\n\nmodule.exports = $parseInt(ws + '08') !== 8 || $parseInt(ws + '0x16') !== 22 ? function parseInt(str, radix) {\n var string = $trim(String(str), 3);\n return $parseInt(string, (radix >>> 0) || (hex.test(string) ? 16 : 10));\n} : $parseInt;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_parse-int.js\n// module id = 247\n// module chunks = 3","var $export = require('./_export');\nvar $parseFloat = require('./_parse-float');\n// 18.2.4 parseFloat(string)\n$export($export.G + $export.F * (parseFloat != $parseFloat), { parseFloat: $parseFloat });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.parse-float.js\n// module id = 248\n// module chunks = 3","var $parseFloat = require('./_global').parseFloat;\nvar $trim = require('./_string-trim').trim;\n\nmodule.exports = 1 / $parseFloat(require('./_string-ws') + '-0') !== -Infinity ? function parseFloat(str) {\n var string = $trim(String(str), 3);\n var result = $parseFloat(string);\n return result === 0 && string.charAt(0) == '-' ? -0 : result;\n} : $parseFloat;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_parse-float.js\n// module id = 249\n// module chunks = 3","'use strict';\n// 21.1.3.25 String.prototype.trim()\nrequire('./_string-trim')('trim', function ($trim) {\n return function trim() {\n return $trim(this, 3);\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.string.trim.js\n// module id = 250\n// module chunks = 3","'use strict';\nrequire('./es6.regexp.flags');\nvar anObject = require('./_an-object');\nvar $flags = require('./_flags');\nvar DESCRIPTORS = require('./_descriptors');\nvar TO_STRING = 'toString';\nvar $toString = /./[TO_STRING];\n\nvar define = function (fn) {\n require('./_redefine')(RegExp.prototype, TO_STRING, fn, true);\n};\n\n// 21.2.5.14 RegExp.prototype.toString()\nif (require('./_fails')(function () { return $toString.call({ source: 'a', flags: 'b' }) != '/a/b'; })) {\n define(function toString() {\n var R = anObject(this);\n return '/'.concat(R.source, '/',\n 'flags' in R ? R.flags : !DESCRIPTORS && R instanceof RegExp ? $flags.call(R) : undefined);\n });\n// FF44- RegExp#toString has a wrong name\n} else if ($toString.name != TO_STRING) {\n define(function toString() {\n return $toString.call(this);\n });\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.regexp.to-string.js\n// module id = 251\n// module chunks = 3","// 21.2.5.3 get RegExp.prototype.flags()\nif (require('./_descriptors') && /./g.flags != 'g') require('./_object-dp').f(RegExp.prototype, 'flags', {\n configurable: true,\n get: require('./_flags')\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.regexp.flags.js\n// module id = 252\n// module chunks = 3","'use strict';\nvar strong = require('./_collection-strong');\nvar validate = require('./_validate-collection');\nvar MAP = 'Map';\n\n// 23.1 Map Objects\nmodule.exports = require('./_collection')(MAP, function (get) {\n return function Map() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.1.3.6 Map.prototype.get(key)\n get: function get(key) {\n var entry = strong.getEntry(validate(this, MAP), key);\n return entry && entry.v;\n },\n // 23.1.3.9 Map.prototype.set(key, value)\n set: function set(key, value) {\n return strong.def(validate(this, MAP), key === 0 ? 0 : key, value);\n }\n}, strong, true);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.map.js\n// module id = 253\n// module chunks = 3","'use strict';\nvar dP = require('./_object-dp').f;\nvar create = require('./_object-create');\nvar redefineAll = require('./_redefine-all');\nvar ctx = require('./_ctx');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar $iterDefine = require('./_iter-define');\nvar step = require('./_iter-step');\nvar setSpecies = require('./_set-species');\nvar DESCRIPTORS = require('./_descriptors');\nvar fastKey = require('./_meta').fastKey;\nvar validate = require('./_validate-collection');\nvar SIZE = DESCRIPTORS ? '_s' : 'size';\n\nvar getEntry = function (that, key) {\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return that._i[index];\n // frozen object case\n for (entry = that._f; entry; entry = entry.n) {\n if (entry.k == key) return entry;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, NAME, '_i');\n that._t = NAME; // collection type\n that._i = create(null); // index\n that._f = undefined; // first entry\n that._l = undefined; // last entry\n that[SIZE] = 0; // size\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.1.3.1 Map.prototype.clear()\n // 23.2.3.2 Set.prototype.clear()\n clear: function clear() {\n for (var that = validate(this, NAME), data = that._i, entry = that._f; entry; entry = entry.n) {\n entry.r = true;\n if (entry.p) entry.p = entry.p.n = undefined;\n delete data[entry.i];\n }\n that._f = that._l = undefined;\n that[SIZE] = 0;\n },\n // 23.1.3.3 Map.prototype.delete(key)\n // 23.2.3.4 Set.prototype.delete(value)\n 'delete': function (key) {\n var that = validate(this, NAME);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.n;\n var prev = entry.p;\n delete that._i[entry.i];\n entry.r = true;\n if (prev) prev.n = next;\n if (next) next.p = prev;\n if (that._f == entry) that._f = next;\n if (that._l == entry) that._l = prev;\n that[SIZE]--;\n } return !!entry;\n },\n // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n forEach: function forEach(callbackfn /* , that = undefined */) {\n validate(this, NAME);\n var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var entry;\n while (entry = entry ? entry.n : this._f) {\n f(entry.v, entry.k, this);\n // revert to the last existing entry\n while (entry && entry.r) entry = entry.p;\n }\n },\n // 23.1.3.7 Map.prototype.has(key)\n // 23.2.3.7 Set.prototype.has(value)\n has: function has(key) {\n return !!getEntry(validate(this, NAME), key);\n }\n });\n if (DESCRIPTORS) dP(C.prototype, 'size', {\n get: function () {\n return validate(this, NAME)[SIZE];\n }\n });\n return C;\n },\n def: function (that, key, value) {\n var entry = getEntry(that, key);\n var prev, index;\n // change existing entry\n if (entry) {\n entry.v = value;\n // create new entry\n } else {\n that._l = entry = {\n i: index = fastKey(key, true), // <- index\n k: key, // <- key\n v: value, // <- value\n p: prev = that._l, // <- previous entry\n n: undefined, // <- next entry\n r: false // <- removed\n };\n if (!that._f) that._f = entry;\n if (prev) prev.n = entry;\n that[SIZE]++;\n // add to index\n if (index !== 'F') that._i[index] = entry;\n } return that;\n },\n getEntry: getEntry,\n setStrong: function (C, NAME, IS_MAP) {\n // add .keys, .values, .entries, [@@iterator]\n // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n $iterDefine(C, NAME, function (iterated, kind) {\n this._t = validate(iterated, NAME); // target\n this._k = kind; // kind\n this._l = undefined; // previous\n }, function () {\n var that = this;\n var kind = that._k;\n var entry = that._l;\n // revert to the last existing entry\n while (entry && entry.r) entry = entry.p;\n // get next entry\n if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) {\n // or finish the iteration\n that._t = undefined;\n return step(1);\n }\n // return step by kind\n if (kind == 'keys') return step(0, entry.k);\n if (kind == 'values') return step(0, entry.v);\n return step(0, [entry.k, entry.v]);\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // add [@@species], 23.1.2.2, 23.2.2.2\n setSpecies(NAME);\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_collection-strong.js\n// module id = 254\n// module chunks = 3","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function (iterator, fn, value, entries) {\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (e) {\n var ret = iterator['return'];\n if (ret !== undefined) anObject(ret.call(iterator));\n throw e;\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_iter-call.js\n// module id = 255\n// module chunks = 3","// check on default Array iterator\nvar Iterators = require('./_iterators');\nvar ITERATOR = require('./_wks')('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_is-array-iter.js\n// module id = 256\n// module chunks = 3","var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/core.get-iterator-method.js\n// module id = 257\n// module chunks = 3","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_iter-step.js\n// module id = 258\n// module chunks = 3","var ITERATOR = require('./_wks')('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function () { SAFE_CLOSING = true; };\n // eslint-disable-next-line no-throw-literal\n Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n if (!skipClosing && !SAFE_CLOSING) return false;\n var safe = false;\n try {\n var arr = [7];\n var iter = arr[ITERATOR]();\n iter.next = function () { return { done: safe = true }; };\n arr[ITERATOR] = function () { return iter; };\n exec(arr);\n } catch (e) { /* empty */ }\n return safe;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_iter-detect.js\n// module id = 259\n// module chunks = 3","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\nvar check = function (O, proto) {\n anObject(O);\n if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function (test, buggy, set) {\n try {\n set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch (e) { buggy = true; }\n return function setPrototypeOf(O, proto) {\n check(O, proto);\n if (buggy) O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_set-proto.js\n// module id = 260\n// module chunks = 3","'use strict';\nvar global = require('./_global');\nvar each = require('./_array-methods')(0);\nvar redefine = require('./_redefine');\nvar meta = require('./_meta');\nvar assign = require('./_object-assign');\nvar weak = require('./_collection-weak');\nvar isObject = require('./_is-object');\nvar validate = require('./_validate-collection');\nvar NATIVE_WEAK_MAP = require('./_validate-collection');\nvar IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global;\nvar WEAK_MAP = 'WeakMap';\nvar getWeak = meta.getWeak;\nvar isExtensible = Object.isExtensible;\nvar uncaughtFrozenStore = weak.ufstore;\nvar InternalMap;\n\nvar wrapper = function (get) {\n return function WeakMap() {\n return get(this, arguments.length > 0 ? arguments[0] : undefined);\n };\n};\n\nvar methods = {\n // 23.3.3.3 WeakMap.prototype.get(key)\n get: function get(key) {\n if (isObject(key)) {\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, WEAK_MAP)).get(key);\n return data ? data[this._i] : undefined;\n }\n },\n // 23.3.3.5 WeakMap.prototype.set(key, value)\n set: function set(key, value) {\n return weak.def(validate(this, WEAK_MAP), key, value);\n }\n};\n\n// 23.3 WeakMap Objects\nvar $WeakMap = module.exports = require('./_collection')(WEAK_MAP, wrapper, methods, weak, true, true);\n\n// IE11 WeakMap frozen keys fix\nif (NATIVE_WEAK_MAP && IS_IE11) {\n InternalMap = weak.getConstructor(wrapper, WEAK_MAP);\n assign(InternalMap.prototype, methods);\n meta.NEED = true;\n each(['delete', 'has', 'get', 'set'], function (key) {\n var proto = $WeakMap.prototype;\n var method = proto[key];\n redefine(proto, key, function (a, b) {\n // store frozen objects on internal weakmap shim\n if (isObject(a) && !isExtensible(a)) {\n if (!this._f) this._f = new InternalMap();\n var result = this._f[key](a, b);\n return key == 'set' ? this : result;\n // store all the rest on native weakmap\n } return method.call(this, a, b);\n });\n });\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.weak-map.js\n// module id = 261\n// module chunks = 3","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar DESCRIPTORS = require('./_descriptors');\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || isEnum.call(S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_object-assign.js\n// module id = 262\n// module chunks = 3","'use strict';\nvar strong = require('./_collection-strong');\nvar validate = require('./_validate-collection');\nvar SET = 'Set';\n\n// 23.2 Set Objects\nmodule.exports = require('./_collection')(SET, function (get) {\n return function Set() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.2.3.1 Set.prototype.add(value)\n add: function add(value) {\n return strong.def(validate(this, SET), value = value === 0 ? 0 : value, value);\n }\n}, strong);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.set.js\n// module id = 263\n// module chunks = 3","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.object.assign.js\n// module id = 264\n// module chunks = 3","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global');\nvar has = require('./_has');\nvar DESCRIPTORS = require('./_descriptors');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar META = require('./_meta').KEY;\nvar $fails = require('./_fails');\nvar shared = require('./_shared');\nvar setToStringTag = require('./_set-to-string-tag');\nvar uid = require('./_uid');\nvar wks = require('./_wks');\nvar wksExt = require('./_wks-ext');\nvar wksDefine = require('./_wks-define');\nvar enumKeys = require('./_enum-keys');\nvar isArray = require('./_is-array');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar toObject = require('./_to-object');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar createDesc = require('./_property-desc');\nvar _create = require('./_object-create');\nvar gOPNExt = require('./_object-gopn-ext');\nvar $GOPD = require('./_object-gopd');\nvar $GOPS = require('./_object-gops');\nvar $DP = require('./_object-dp');\nvar $keys = require('./_object-keys');\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function' && !!$GOPS.f;\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n return _create(dP({}, 'a', {\n get: function () { return dP(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (it, key, D) {\n var protoDesc = gOPD(ObjectProto, key);\n if (protoDesc) delete ObjectProto[key];\n dP(it, key, D);\n if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if (has(AllSymbols, key)) {\n if (!D.enumerable) {\n if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n D = _create(D, { enumerable: createDesc(0, false) });\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n anObject(it);\n var keys = enumKeys(P = toIObject(P));\n var i = 0;\n var l = keys.length;\n var key;\n while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P) {\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n it = toIObject(it);\n key = toPrimitive(key, true);\n if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n var D = gOPD(it, key);\n if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n var names = gOPN(toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n var IS_OP = it === ObjectProto;\n var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function (value) {\n if (this === ObjectProto) $set.call(OPSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n require('./_object-pie').f = $propertyIsEnumerable;\n $GOPS.f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !require('./_library')) {\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function (name) {\n return wrap(wks(name));\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function (key) {\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n },\n useSetter: function () { setter = true; },\n useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\nvar FAILS_ON_PRIMITIVES = $fails(function () { $GOPS.f(1); });\n\n$export($export.S + $export.F * FAILS_ON_PRIMITIVES, 'Object', {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return $GOPS.f(toObject(it));\n }\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it) {\n var args = [it];\n var i = 1;\n var replacer, $replacer;\n while (arguments.length > i) args.push(arguments[i++]);\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.symbol.js\n// module id = 265\n// module chunks = 3","exports.f = require('./_wks');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_wks-ext.js\n// module id = 266\n// module chunks = 3","// 7.2.9 SameValue(x, y)\nmodule.exports = Object.is || function is(x, y) {\n // eslint-disable-next-line no-self-compare\n return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_same-value.js\n// module id = 267\n// module chunks = 3","var DESCRIPTORS = require('./_descriptors');\nvar getKeys = require('./_object-keys');\nvar toIObject = require('./_to-iobject');\nvar isEnum = require('./_object-pie').f;\nmodule.exports = function (isEntries) {\n return function (it) {\n var O = toIObject(it);\n var keys = getKeys(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 || isEnum.call(O, key)) {\n result.push(isEntries ? [key, O[key]] : O[key]);\n }\n }\n return result;\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_object-to-array.js\n// module id = 268\n// module chunks = 3","// 20.1.2.3 Number.isInteger(number)\nvar isObject = require('./_is-object');\nvar floor = Math.floor;\nmodule.exports = function isInteger(it) {\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_is-integer.js\n// module id = 269\n// module chunks = 3","// 20.2.2.20 Math.log1p(x)\nmodule.exports = Math.log1p || function log1p(x) {\n return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : Math.log(1 + x);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_math-log1p.js\n// module id = 270\n// module chunks = 3","'use strict';\n\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar advanceStringIndex = require('./_advance-string-index');\nvar regExpExec = require('./_regexp-exec-abstract');\n\n// @@match logic\nrequire('./_fix-re-wks')('match', 1, function (defined, MATCH, $match, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = defined(this);\n var fn = regexp == undefined ? undefined : regexp[MATCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match\n function (regexp) {\n var res = maybeCallNative($match, regexp, this);\n if (res.done) return res.value;\n var rx = anObject(regexp);\n var S = String(this);\n if (!rx.global) return regExpExec(rx, S);\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = String(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.regexp.match.js\n// module id = 271\n// module chunks = 3","'use strict';\nvar regexpExec = require('./_regexp-exec');\nrequire('./_export')({\n target: 'RegExp',\n proto: true,\n forced: regexpExec !== /./.exec\n}, {\n exec: regexpExec\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.regexp.exec.js\n// module id = 272\n// module chunks = 3","'use strict';\n\nvar anObject = require('./_an-object');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar toInteger = require('./_to-integer');\nvar advanceStringIndex = require('./_advance-string-index');\nvar regExpExec = require('./_regexp-exec-abstract');\nvar max = Math.max;\nvar min = Math.min;\nvar floor = Math.floor;\nvar SUBSTITUTION_SYMBOLS = /\\$([$&`']|\\d\\d?|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&`']|\\d\\d?)/g;\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// @@replace logic\nrequire('./_fix-re-wks')('replace', 2, function (defined, REPLACE, $replace, maybeCallNative) {\n return [\n // `String.prototype.replace` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = defined(this);\n var fn = searchValue == undefined ? undefined : searchValue[REPLACE];\n return fn !== undefined\n ? fn.call(searchValue, O, replaceValue)\n : $replace.call(String(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace\n function (regexp, replaceValue) {\n var res = maybeCallNative($replace, regexp, this, replaceValue);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var functionalReplace = typeof replaceValue === 'function';\n if (!functionalReplace) replaceValue = String(replaceValue);\n var global = rx.global;\n if (global) {\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n var results = [];\n while (true) {\n var result = regExpExec(rx, S);\n if (result === null) break;\n results.push(result);\n if (!global) break;\n var matchStr = String(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n var matched = String(result[0]);\n var position = max(min(toInteger(result.index), S.length), 0);\n var captures = [];\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = [matched].concat(captures, position, S);\n if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);\n var replacement = String(replaceValue.apply(undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += S.slice(nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n return accumulatedResult + S.slice(nextSourcePosition);\n }\n ];\n\n // https://tc39.github.io/ecma262/#sec-getsubstitution\n function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return $replace.call(replacement, symbols, function (match, ch) {\n var capture;\n switch (ch.charAt(0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return str.slice(0, position);\n case \"'\": return str.slice(tailPos);\n case '<':\n capture = namedCaptures[ch.slice(1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.regexp.replace.js\n// module id = 273\n// module chunks = 3","'use strict';\n\nvar anObject = require('./_an-object');\nvar sameValue = require('./_same-value');\nvar regExpExec = require('./_regexp-exec-abstract');\n\n// @@search logic\nrequire('./_fix-re-wks')('search', 1, function (defined, SEARCH, $search, maybeCallNative) {\n return [\n // `String.prototype.search` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.search\n function search(regexp) {\n var O = defined(this);\n var fn = regexp == undefined ? undefined : regexp[SEARCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));\n },\n // `RegExp.prototype[@@search]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@search\n function (regexp) {\n var res = maybeCallNative($search, regexp, this);\n if (res.done) return res.value;\n var rx = anObject(regexp);\n var S = String(this);\n var previousLastIndex = rx.lastIndex;\n if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;\n var result = regExpExec(rx, S);\n if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;\n return result === null ? -1 : result.index;\n }\n ];\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.regexp.search.js\n// module id = 274\n// module chunks = 3","'use strict';\n\nvar isRegExp = require('./_is-regexp');\nvar anObject = require('./_an-object');\nvar speciesConstructor = require('./_species-constructor');\nvar advanceStringIndex = require('./_advance-string-index');\nvar toLength = require('./_to-length');\nvar callRegExpExec = require('./_regexp-exec-abstract');\nvar regexpExec = require('./_regexp-exec');\nvar fails = require('./_fails');\nvar $min = Math.min;\nvar $push = [].push;\nvar $SPLIT = 'split';\nvar LENGTH = 'length';\nvar LAST_INDEX = 'lastIndex';\nvar MAX_UINT32 = 0xffffffff;\n\n// babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError\nvar SUPPORTS_Y = !fails(function () { RegExp(MAX_UINT32, 'y'); });\n\n// @@split logic\nrequire('./_fix-re-wks')('split', 2, function (defined, SPLIT, $split, maybeCallNative) {\n var internalSplit;\n if (\n 'abbc'[$SPLIT](/(b)*/)[1] == 'c' ||\n 'test'[$SPLIT](/(?:)/, -1)[LENGTH] != 4 ||\n 'ab'[$SPLIT](/(?:ab)*/)[LENGTH] != 2 ||\n '.'[$SPLIT](/(.?)(.?)/)[LENGTH] != 4 ||\n '.'[$SPLIT](/()()/)[LENGTH] > 1 ||\n ''[$SPLIT](/.?/)[LENGTH]\n ) {\n // based on es5-shim implementation, need to rework it\n internalSplit = function (separator, limit) {\n var string = String(this);\n if (separator === undefined && limit === 0) return [];\n // If `separator` is not a regex, use native split\n if (!isRegExp(separator)) return $split.call(string, separator, limit);\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.unicode ? 'u' : '') +\n (separator.sticky ? 'y' : '');\n var lastLastIndex = 0;\n var splitLimit = limit === undefined ? MAX_UINT32 : limit >>> 0;\n // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var match, lastIndex, lastLength;\n while (match = regexpExec.call(separatorCopy, string)) {\n lastIndex = separatorCopy[LAST_INDEX];\n if (lastIndex > lastLastIndex) {\n output.push(string.slice(lastLastIndex, match.index));\n if (match[LENGTH] > 1 && match.index < string[LENGTH]) $push.apply(output, match.slice(1));\n lastLength = match[0][LENGTH];\n lastLastIndex = lastIndex;\n if (output[LENGTH] >= splitLimit) break;\n }\n if (separatorCopy[LAST_INDEX] === match.index) separatorCopy[LAST_INDEX]++; // Avoid an infinite loop\n }\n if (lastLastIndex === string[LENGTH]) {\n if (lastLength || !separatorCopy.test('')) output.push('');\n } else output.push(string.slice(lastLastIndex));\n return output[LENGTH] > splitLimit ? output.slice(0, splitLimit) : output;\n };\n // Chakra, V8\n } else if ('0'[$SPLIT](undefined, 0)[LENGTH]) {\n internalSplit = function (separator, limit) {\n return separator === undefined && limit === 0 ? [] : $split.call(this, separator, limit);\n };\n } else {\n internalSplit = $split;\n }\n\n return [\n // `String.prototype.split` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.split\n function split(separator, limit) {\n var O = defined(this);\n var splitter = separator == undefined ? undefined : separator[SPLIT];\n return splitter !== undefined\n ? splitter.call(separator, O, limit)\n : internalSplit.call(String(O), separator, limit);\n },\n // `RegExp.prototype[@@split]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@split\n //\n // NOTE: This cannot be properly polyfilled in engines that don't support\n // the 'y' flag.\n function (regexp, limit) {\n var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== $split);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var C = speciesConstructor(rx, RegExp);\n\n var unicodeMatching = rx.unicode;\n var flags = (rx.ignoreCase ? 'i' : '') +\n (rx.multiline ? 'm' : '') +\n (rx.unicode ? 'u' : '') +\n (SUPPORTS_Y ? 'y' : 'g');\n\n // ^(? + rx + ) is needed, in combination with some S slicing, to\n // simulate the 'y' flag.\n var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags);\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];\n var p = 0;\n var q = 0;\n var A = [];\n while (q < S.length) {\n splitter.lastIndex = SUPPORTS_Y ? q : 0;\n var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q));\n var e;\n if (\n z === null ||\n (e = $min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p\n ) {\n q = advanceStringIndex(S, q, unicodeMatching);\n } else {\n A.push(S.slice(p, q));\n if (A.length === lim) return A;\n for (var i = 1; i <= z.length - 1; i++) {\n A.push(z[i]);\n if (A.length === lim) return A;\n }\n q = p = e;\n }\n }\n A.push(S.slice(p));\n return A;\n }\n ];\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.regexp.split.js\n// module id = 275\n// module chunks = 3","var $iterators = require('./es6.array.iterator');\nvar getKeys = require('./_object-keys');\nvar redefine = require('./_redefine');\nvar global = require('./_global');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar wks = require('./_wks');\nvar ITERATOR = wks('iterator');\nvar TO_STRING_TAG = wks('toStringTag');\nvar ArrayValues = Iterators.Array;\n\nvar DOMIterables = {\n CSSRuleList: true, // TODO: Not spec compliant, should be false.\n CSSStyleDeclaration: false,\n CSSValueList: false,\n ClientRectList: false,\n DOMRectList: false,\n DOMStringList: false,\n DOMTokenList: true,\n DataTransferItemList: false,\n FileList: false,\n HTMLAllCollection: false,\n HTMLCollection: false,\n HTMLFormElement: false,\n HTMLSelectElement: false,\n MediaList: true, // TODO: Not spec compliant, should be false.\n MimeTypeArray: false,\n NamedNodeMap: false,\n NodeList: true,\n PaintRequestList: false,\n Plugin: false,\n PluginArray: false,\n SVGLengthList: false,\n SVGNumberList: false,\n SVGPathSegList: false,\n SVGPointList: false,\n SVGStringList: false,\n SVGTransformList: false,\n SourceBufferList: false,\n StyleSheetList: true, // TODO: Not spec compliant, should be false.\n TextTrackCueList: false,\n TextTrackList: false,\n TouchList: false\n};\n\nfor (var collections = getKeys(DOMIterables), i = 0; i < collections.length; i++) {\n var NAME = collections[i];\n var explicit = DOMIterables[NAME];\n var Collection = global[NAME];\n var proto = Collection && Collection.prototype;\n var key;\n if (proto) {\n if (!proto[ITERATOR]) hide(proto, ITERATOR, ArrayValues);\n if (!proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = ArrayValues;\n if (explicit) for (key in $iterators) if (!proto[key]) redefine(proto, key, $iterators[key], true);\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/web.dom.iterable.js\n// module id = 276\n// module chunks = 3","import 'core-js/es5';\nimport 'core-js/es7/reflect';\n\n/** IE9, IE10 and IE11 requires all of the following polyfills. **/\nimport 'core-js/fn/object/assign';\nimport 'core-js/es6/symbol';\nimport 'core-js/es6/object';\nimport 'core-js/es7/object';\nimport 'core-js/es6/function';\nimport 'core-js/es6/parse-int';\nimport 'core-js/es6/parse-float';\nimport 'core-js/es6/number';\nimport 'core-js/es6/math';\nimport 'core-js/es6/string';\nimport 'core-js/es6/date';\nimport 'core-js/es6/array';\nimport 'core-js/es6/regexp';\nimport 'core-js/es6/map';\nimport 'core-js/es6/weak-map';\nimport 'core-js/es6/set';\n\nimport 'zone.js/dist/zone';\n\nimport 'hammerjs/hammer';\n\n// if (process.env.ENV === 'production') {\n// // Production\n// } else {\n// // Development and test\n// Error['stackTraceLimit'] = Infinity;\n// require('zone.js/dist/long-stack-trace-zone');\n// }\n\n\n// WEBPACK FOOTER //\n// ./app/polyfills.ts","require('../modules/es6.object.create');\nrequire('../modules/es6.object.define-property');\nrequire('../modules/es6.object.define-properties');\nrequire('../modules/es6.object.get-own-property-descriptor');\nrequire('../modules/es6.object.get-prototype-of');\nrequire('../modules/es6.object.keys');\nrequire('../modules/es6.object.get-own-property-names');\nrequire('../modules/es6.object.freeze');\nrequire('../modules/es6.object.seal');\nrequire('../modules/es6.object.prevent-extensions');\nrequire('../modules/es6.object.is-frozen');\nrequire('../modules/es6.object.is-sealed');\nrequire('../modules/es6.object.is-extensible');\nrequire('../modules/es6.function.bind');\nrequire('../modules/es6.array.is-array');\nrequire('../modules/es6.array.join');\nrequire('../modules/es6.array.slice');\nrequire('../modules/es6.array.sort');\nrequire('../modules/es6.array.for-each');\nrequire('../modules/es6.array.map');\nrequire('../modules/es6.array.filter');\nrequire('../modules/es6.array.some');\nrequire('../modules/es6.array.every');\nrequire('../modules/es6.array.reduce');\nrequire('../modules/es6.array.reduce-right');\nrequire('../modules/es6.array.index-of');\nrequire('../modules/es6.array.last-index-of');\nrequire('../modules/es6.number.to-fixed');\nrequire('../modules/es6.number.to-precision');\nrequire('../modules/es6.date.now');\nrequire('../modules/es6.date.to-iso-string');\nrequire('../modules/es6.date.to-json');\nrequire('../modules/es6.parse-int');\nrequire('../modules/es6.parse-float');\nrequire('../modules/es6.string.trim');\nrequire('../modules/es6.regexp.to-string');\nmodule.exports = require('../modules/_core');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/es5/index.js\n// module id = 582\n// module chunks = 3","module.exports = require('./_shared')('native-function-to-string', Function.toString);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_function-to-string.js\n// module id = 583\n// module chunks = 3","'use strict';\nvar aFunction = require('./_a-function');\nvar isObject = require('./_is-object');\nvar invoke = require('./_invoke');\nvar arraySlice = [].slice;\nvar factories = {};\n\nvar construct = function (F, len, args) {\n if (!(len in factories)) {\n for (var n = [], i = 0; i < len; i++) n[i] = 'a[' + i + ']';\n // eslint-disable-next-line no-new-func\n factories[len] = Function('F,a', 'return new F(' + n.join(',') + ')');\n } return factories[len](F, args);\n};\n\nmodule.exports = Function.bind || function bind(that /* , ...args */) {\n var fn = aFunction(this);\n var partArgs = arraySlice.call(arguments, 1);\n var bound = function (/* args... */) {\n var args = partArgs.concat(arraySlice.call(arguments));\n return this instanceof bound ? construct(fn, args.length, args) : invoke(fn, args, that);\n };\n if (isObject(fn.prototype)) bound.prototype = fn.prototype;\n return bound;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_bind.js\n// module id = 584\n// module chunks = 3","// fast apply, http://jsperf.lnkit.com/fast-apply/5\nmodule.exports = function (fn, args, that) {\n var un = that === undefined;\n switch (args.length) {\n case 0: return un ? fn()\n : fn.call(that);\n case 1: return un ? fn(args[0])\n : fn.call(that, args[0]);\n case 2: return un ? fn(args[0], args[1])\n : fn.call(that, args[0], args[1]);\n case 3: return un ? fn(args[0], args[1], args[2])\n : fn.call(that, args[0], args[1], args[2]);\n case 4: return un ? fn(args[0], args[1], args[2], args[3])\n : fn.call(that, args[0], args[1], args[2], args[3]);\n } return fn.apply(that, args);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_invoke.js\n// module id = 585\n// module chunks = 3","// 9.4.2.3 ArraySpeciesCreate(originalArray, length)\nvar speciesConstructor = require('./_array-species-constructor');\n\nmodule.exports = function (original, length) {\n return new (speciesConstructor(original))(length);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_array-species-create.js\n// module id = 586\n// module chunks = 3","var isObject = require('./_is-object');\nvar isArray = require('./_is-array');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (original) {\n var C;\n if (isArray(original)) {\n C = original.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? Array : C;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_array-species-constructor.js\n// module id = 587\n// module chunks = 3","'use strict';\n// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()\nvar fails = require('./_fails');\nvar getTime = Date.prototype.getTime;\nvar $toISOString = Date.prototype.toISOString;\n\nvar lz = function (num) {\n return num > 9 ? num : '0' + num;\n};\n\n// PhantomJS / old WebKit has a broken implementations\nmodule.exports = (fails(function () {\n return $toISOString.call(new Date(-5e13 - 1)) != '0385-07-25T07:06:39.999Z';\n}) || !fails(function () {\n $toISOString.call(new Date(NaN));\n})) ? function toISOString() {\n if (!isFinite(getTime.call(this))) throw RangeError('Invalid time value');\n var d = this;\n var y = d.getUTCFullYear();\n var m = d.getUTCMilliseconds();\n var s = y < 0 ? '-' : y > 9999 ? '+' : '';\n return s + ('00000' + Math.abs(y)).slice(s ? -6 : -4) +\n '-' + lz(d.getUTCMonth() + 1) + '-' + lz(d.getUTCDate()) +\n 'T' + lz(d.getUTCHours()) + ':' + lz(d.getUTCMinutes()) +\n ':' + lz(d.getUTCSeconds()) + '.' + (m > 99 ? m : '0' + lz(m)) + 'Z';\n} : $toISOString;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_date-to-iso-string.js\n// module id = 588\n// module chunks = 3","require('../modules/es7.reflect.define-metadata');\nrequire('../modules/es7.reflect.delete-metadata');\nrequire('../modules/es7.reflect.get-metadata');\nrequire('../modules/es7.reflect.get-metadata-keys');\nrequire('../modules/es7.reflect.get-own-metadata');\nrequire('../modules/es7.reflect.get-own-metadata-keys');\nrequire('../modules/es7.reflect.has-metadata');\nrequire('../modules/es7.reflect.has-own-metadata');\nrequire('../modules/es7.reflect.metadata');\nmodule.exports = require('../modules/_core').Reflect;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/es7/reflect.js\n// module id = 589\n// module chunks = 3","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar toMetaKey = metadata.key;\nvar ordinaryDefineOwnMetadata = metadata.set;\n\nmetadata.exp({ defineMetadata: function defineMetadata(metadataKey, metadataValue, target, targetKey) {\n ordinaryDefineOwnMetadata(metadataKey, metadataValue, anObject(target), toMetaKey(targetKey));\n} });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es7.reflect.define-metadata.js\n// module id = 590\n// module chunks = 3","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_iter-create.js\n// module id = 591\n// module chunks = 3","'use strict';\nvar redefineAll = require('./_redefine-all');\nvar getWeak = require('./_meta').getWeak;\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar createArrayMethod = require('./_array-methods');\nvar $has = require('./_has');\nvar validate = require('./_validate-collection');\nvar arrayFind = createArrayMethod(5);\nvar arrayFindIndex = createArrayMethod(6);\nvar id = 0;\n\n// fallback for uncaught frozen keys\nvar uncaughtFrozenStore = function (that) {\n return that._l || (that._l = new UncaughtFrozenStore());\n};\nvar UncaughtFrozenStore = function () {\n this.a = [];\n};\nvar findUncaughtFrozen = function (store, key) {\n return arrayFind(store.a, function (it) {\n return it[0] === key;\n });\n};\nUncaughtFrozenStore.prototype = {\n get: function (key) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) return entry[1];\n },\n has: function (key) {\n return !!findUncaughtFrozen(this, key);\n },\n set: function (key, value) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) entry[1] = value;\n else this.a.push([key, value]);\n },\n 'delete': function (key) {\n var index = arrayFindIndex(this.a, function (it) {\n return it[0] === key;\n });\n if (~index) this.a.splice(index, 1);\n return !!~index;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, NAME, '_i');\n that._t = NAME; // collection type\n that._i = id++; // collection id\n that._l = undefined; // leak store for uncaught frozen objects\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.3.3.2 WeakMap.prototype.delete(key)\n // 23.4.3.3 WeakSet.prototype.delete(value)\n 'delete': function (key) {\n if (!isObject(key)) return false;\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, NAME))['delete'](key);\n return data && $has(data, this._i) && delete data[this._i];\n },\n // 23.3.3.4 WeakMap.prototype.has(key)\n // 23.4.3.4 WeakSet.prototype.has(value)\n has: function has(key) {\n if (!isObject(key)) return false;\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, NAME)).has(key);\n return data && $has(data, this._i);\n }\n });\n return C;\n },\n def: function (that, key, value) {\n var data = getWeak(anObject(key), true);\n if (data === true) uncaughtFrozenStore(that).set(key, value);\n else data[that._i] = value;\n return that;\n },\n ufstore: uncaughtFrozenStore\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_collection-weak.js\n// module id = 592\n// module chunks = 3","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar toMetaKey = metadata.key;\nvar getOrCreateMetadataMap = metadata.map;\nvar store = metadata.store;\n\nmetadata.exp({ deleteMetadata: function deleteMetadata(metadataKey, target /* , targetKey */) {\n var targetKey = arguments.length < 3 ? undefined : toMetaKey(arguments[2]);\n var metadataMap = getOrCreateMetadataMap(anObject(target), targetKey, false);\n if (metadataMap === undefined || !metadataMap['delete'](metadataKey)) return false;\n if (metadataMap.size) return true;\n var targetMetadata = store.get(target);\n targetMetadata['delete'](targetKey);\n return !!targetMetadata.size || store['delete'](target);\n} });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es7.reflect.delete-metadata.js\n// module id = 593\n// module chunks = 3","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar getPrototypeOf = require('./_object-gpo');\nvar ordinaryHasOwnMetadata = metadata.has;\nvar ordinaryGetOwnMetadata = metadata.get;\nvar toMetaKey = metadata.key;\n\nvar ordinaryGetMetadata = function (MetadataKey, O, P) {\n var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);\n if (hasOwn) return ordinaryGetOwnMetadata(MetadataKey, O, P);\n var parent = getPrototypeOf(O);\n return parent !== null ? ordinaryGetMetadata(MetadataKey, parent, P) : undefined;\n};\n\nmetadata.exp({ getMetadata: function getMetadata(metadataKey, target /* , targetKey */) {\n return ordinaryGetMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n} });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es7.reflect.get-metadata.js\n// module id = 594\n// module chunks = 3","var Set = require('./es6.set');\nvar from = require('./_array-from-iterable');\nvar metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar getPrototypeOf = require('./_object-gpo');\nvar ordinaryOwnMetadataKeys = metadata.keys;\nvar toMetaKey = metadata.key;\n\nvar ordinaryMetadataKeys = function (O, P) {\n var oKeys = ordinaryOwnMetadataKeys(O, P);\n var parent = getPrototypeOf(O);\n if (parent === null) return oKeys;\n var pKeys = ordinaryMetadataKeys(parent, P);\n return pKeys.length ? oKeys.length ? from(new Set(oKeys.concat(pKeys))) : pKeys : oKeys;\n};\n\nmetadata.exp({ getMetadataKeys: function getMetadataKeys(target /* , targetKey */) {\n return ordinaryMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1]));\n} });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es7.reflect.get-metadata-keys.js\n// module id = 595\n// module chunks = 3","var forOf = require('./_for-of');\n\nmodule.exports = function (iter, ITERATOR) {\n var result = [];\n forOf(iter, false, result.push, result, ITERATOR);\n return result;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_array-from-iterable.js\n// module id = 596\n// module chunks = 3","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar ordinaryGetOwnMetadata = metadata.get;\nvar toMetaKey = metadata.key;\n\nmetadata.exp({ getOwnMetadata: function getOwnMetadata(metadataKey, target /* , targetKey */) {\n return ordinaryGetOwnMetadata(metadataKey, anObject(target)\n , arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n} });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es7.reflect.get-own-metadata.js\n// module id = 597\n// module chunks = 3","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar ordinaryOwnMetadataKeys = metadata.keys;\nvar toMetaKey = metadata.key;\n\nmetadata.exp({ getOwnMetadataKeys: function getOwnMetadataKeys(target /* , targetKey */) {\n return ordinaryOwnMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1]));\n} });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es7.reflect.get-own-metadata-keys.js\n// module id = 598\n// module chunks = 3","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar getPrototypeOf = require('./_object-gpo');\nvar ordinaryHasOwnMetadata = metadata.has;\nvar toMetaKey = metadata.key;\n\nvar ordinaryHasMetadata = function (MetadataKey, O, P) {\n var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);\n if (hasOwn) return true;\n var parent = getPrototypeOf(O);\n return parent !== null ? ordinaryHasMetadata(MetadataKey, parent, P) : false;\n};\n\nmetadata.exp({ hasMetadata: function hasMetadata(metadataKey, target /* , targetKey */) {\n return ordinaryHasMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n} });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es7.reflect.has-metadata.js\n// module id = 599\n// module chunks = 3","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar ordinaryHasOwnMetadata = metadata.has;\nvar toMetaKey = metadata.key;\n\nmetadata.exp({ hasOwnMetadata: function hasOwnMetadata(metadataKey, target /* , targetKey */) {\n return ordinaryHasOwnMetadata(metadataKey, anObject(target)\n , arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n} });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es7.reflect.has-own-metadata.js\n// module id = 600\n// module chunks = 3","var $metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar aFunction = require('./_a-function');\nvar toMetaKey = $metadata.key;\nvar ordinaryDefineOwnMetadata = $metadata.set;\n\n$metadata.exp({ metadata: function metadata(metadataKey, metadataValue) {\n return function decorator(target, targetKey) {\n ordinaryDefineOwnMetadata(\n metadataKey, metadataValue,\n (targetKey !== undefined ? anObject : aFunction)(target),\n toMetaKey(targetKey)\n );\n };\n} });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es7.reflect.metadata.js\n// module id = 601\n// module chunks = 3","require('../../modules/es6.object.assign');\nmodule.exports = require('../../modules/_core').Object.assign;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/fn/object/assign.js\n// module id = 602\n// module chunks = 3","require('../modules/es6.symbol');\nrequire('../modules/es6.object.to-string');\nmodule.exports = require('../modules/_core').Symbol;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/es6/symbol.js\n// module id = 603\n// module chunks = 3","var global = require('./_global');\nvar core = require('./_core');\nvar LIBRARY = require('./_library');\nvar wksExt = require('./_wks-ext');\nvar defineProperty = require('./_object-dp').f;\nmodule.exports = function (name) {\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_wks-define.js\n// module id = 604\n// module chunks = 3","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nmodule.exports = function (it) {\n var result = getKeys(it);\n var getSymbols = gOPS.f;\n if (getSymbols) {\n var symbols = getSymbols(it);\n var isEnum = pIE.f;\n var i = 0;\n var key;\n while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n } return result;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_enum-keys.js\n// module id = 605\n// module chunks = 3","require('../modules/es6.symbol');\nrequire('../modules/es6.object.create');\nrequire('../modules/es6.object.define-property');\nrequire('../modules/es6.object.define-properties');\nrequire('../modules/es6.object.get-own-property-descriptor');\nrequire('../modules/es6.object.get-prototype-of');\nrequire('../modules/es6.object.keys');\nrequire('../modules/es6.object.get-own-property-names');\nrequire('../modules/es6.object.freeze');\nrequire('../modules/es6.object.seal');\nrequire('../modules/es6.object.prevent-extensions');\nrequire('../modules/es6.object.is-frozen');\nrequire('../modules/es6.object.is-sealed');\nrequire('../modules/es6.object.is-extensible');\nrequire('../modules/es6.object.assign');\nrequire('../modules/es6.object.is');\nrequire('../modules/es6.object.set-prototype-of');\nrequire('../modules/es6.object.to-string');\n\nmodule.exports = require('../modules/_core').Object;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/es6/object.js\n// module id = 606\n// module chunks = 3","// 19.1.3.10 Object.is(value1, value2)\nvar $export = require('./_export');\n$export($export.S, 'Object', { is: require('./_same-value') });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.object.is.js\n// module id = 607\n// module chunks = 3","// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = require('./_export');\n$export($export.S, 'Object', { setPrototypeOf: require('./_set-proto').set });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.object.set-prototype-of.js\n// module id = 608\n// module chunks = 3","require('../modules/es7.object.get-own-property-descriptors');\nrequire('../modules/es7.object.values');\nrequire('../modules/es7.object.entries');\nrequire('../modules/es7.object.define-getter');\nrequire('../modules/es7.object.define-setter');\nrequire('../modules/es7.object.lookup-getter');\nrequire('../modules/es7.object.lookup-setter');\nmodule.exports = require('../modules/_core').Object;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/es7/object.js\n// module id = 609\n// module chunks = 3","// https://github.com/tc39/proposal-object-getownpropertydescriptors\nvar $export = require('./_export');\nvar ownKeys = require('./_own-keys');\nvar toIObject = require('./_to-iobject');\nvar gOPD = require('./_object-gopd');\nvar createProperty = require('./_create-property');\n\n$export($export.S, 'Object', {\n getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {\n var O = toIObject(object);\n var getDesc = gOPD.f;\n var keys = ownKeys(O);\n var result = {};\n var i = 0;\n var key, desc;\n while (keys.length > i) {\n desc = getDesc(O, key = keys[i++]);\n if (desc !== undefined) createProperty(result, key, desc);\n }\n return result;\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es7.object.get-own-property-descriptors.js\n// module id = 610\n// module chunks = 3","// all object keys, includes non-enumerable and symbols\nvar gOPN = require('./_object-gopn');\nvar gOPS = require('./_object-gops');\nvar anObject = require('./_an-object');\nvar Reflect = require('./_global').Reflect;\nmodule.exports = Reflect && Reflect.ownKeys || function ownKeys(it) {\n var keys = gOPN.f(anObject(it));\n var getSymbols = gOPS.f;\n return getSymbols ? keys.concat(getSymbols(it)) : keys;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_own-keys.js\n// module id = 611\n// module chunks = 3","// https://github.com/tc39/proposal-object-values-entries\nvar $export = require('./_export');\nvar $values = require('./_object-to-array')(false);\n\n$export($export.S, 'Object', {\n values: function values(it) {\n return $values(it);\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es7.object.values.js\n// module id = 612\n// module chunks = 3","// https://github.com/tc39/proposal-object-values-entries\nvar $export = require('./_export');\nvar $entries = require('./_object-to-array')(true);\n\n$export($export.S, 'Object', {\n entries: function entries(it) {\n return $entries(it);\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es7.object.entries.js\n// module id = 613\n// module chunks = 3","'use strict';\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar aFunction = require('./_a-function');\nvar $defineProperty = require('./_object-dp');\n\n// B.2.2.2 Object.prototype.__defineGetter__(P, getter)\nrequire('./_descriptors') && $export($export.P + require('./_object-forced-pam'), 'Object', {\n __defineGetter__: function __defineGetter__(P, getter) {\n $defineProperty.f(toObject(this), P, { get: aFunction(getter), enumerable: true, configurable: true });\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es7.object.define-getter.js\n// module id = 614\n// module chunks = 3","'use strict';\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar aFunction = require('./_a-function');\nvar $defineProperty = require('./_object-dp');\n\n// B.2.2.3 Object.prototype.__defineSetter__(P, setter)\nrequire('./_descriptors') && $export($export.P + require('./_object-forced-pam'), 'Object', {\n __defineSetter__: function __defineSetter__(P, setter) {\n $defineProperty.f(toObject(this), P, { set: aFunction(setter), enumerable: true, configurable: true });\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es7.object.define-setter.js\n// module id = 615\n// module chunks = 3","'use strict';\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar toPrimitive = require('./_to-primitive');\nvar getPrototypeOf = require('./_object-gpo');\nvar getOwnPropertyDescriptor = require('./_object-gopd').f;\n\n// B.2.2.4 Object.prototype.__lookupGetter__(P)\nrequire('./_descriptors') && $export($export.P + require('./_object-forced-pam'), 'Object', {\n __lookupGetter__: function __lookupGetter__(P) {\n var O = toObject(this);\n var K = toPrimitive(P, true);\n var D;\n do {\n if (D = getOwnPropertyDescriptor(O, K)) return D.get;\n } while (O = getPrototypeOf(O));\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es7.object.lookup-getter.js\n// module id = 616\n// module chunks = 3","'use strict';\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar toPrimitive = require('./_to-primitive');\nvar getPrototypeOf = require('./_object-gpo');\nvar getOwnPropertyDescriptor = require('./_object-gopd').f;\n\n// B.2.2.5 Object.prototype.__lookupSetter__(P)\nrequire('./_descriptors') && $export($export.P + require('./_object-forced-pam'), 'Object', {\n __lookupSetter__: function __lookupSetter__(P) {\n var O = toObject(this);\n var K = toPrimitive(P, true);\n var D;\n do {\n if (D = getOwnPropertyDescriptor(O, K)) return D.set;\n } while (O = getPrototypeOf(O));\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es7.object.lookup-setter.js\n// module id = 617\n// module chunks = 3","require('../modules/es6.function.bind');\nrequire('../modules/es6.function.name');\nrequire('../modules/es6.function.has-instance');\nmodule.exports = require('../modules/_core').Function;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/es6/function.js\n// module id = 618\n// module chunks = 3","var dP = require('./_object-dp').f;\nvar FProto = Function.prototype;\nvar nameRE = /^\\s*function ([^ (]*)/;\nvar NAME = 'name';\n\n// 19.2.4.2 name\nNAME in FProto || require('./_descriptors') && dP(FProto, NAME, {\n configurable: true,\n get: function () {\n try {\n return ('' + this).match(nameRE)[1];\n } catch (e) {\n return '';\n }\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.function.name.js\n// module id = 619\n// module chunks = 3","'use strict';\nvar isObject = require('./_is-object');\nvar getPrototypeOf = require('./_object-gpo');\nvar HAS_INSTANCE = require('./_wks')('hasInstance');\nvar FunctionProto = Function.prototype;\n// 19.2.3.6 Function.prototype[@@hasInstance](V)\nif (!(HAS_INSTANCE in FunctionProto)) require('./_object-dp').f(FunctionProto, HAS_INSTANCE, { value: function (O) {\n if (typeof this != 'function' || !isObject(O)) return false;\n if (!isObject(this.prototype)) return O instanceof this;\n // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this:\n while (O = getPrototypeOf(O)) if (this.prototype === O) return true;\n return false;\n} });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.function.has-instance.js\n// module id = 620\n// module chunks = 3","require('../modules/es6.parse-int');\nmodule.exports = require('../modules/_core').parseInt;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/es6/parse-int.js\n// module id = 621\n// module chunks = 3","require('../modules/es6.parse-float');\nmodule.exports = require('../modules/_core').parseFloat;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/es6/parse-float.js\n// module id = 622\n// module chunks = 3","require('../modules/es6.number.constructor');\nrequire('../modules/es6.number.to-fixed');\nrequire('../modules/es6.number.to-precision');\nrequire('../modules/es6.number.epsilon');\nrequire('../modules/es6.number.is-finite');\nrequire('../modules/es6.number.is-integer');\nrequire('../modules/es6.number.is-nan');\nrequire('../modules/es6.number.is-safe-integer');\nrequire('../modules/es6.number.max-safe-integer');\nrequire('../modules/es6.number.min-safe-integer');\nrequire('../modules/es6.number.parse-float');\nrequire('../modules/es6.number.parse-int');\nmodule.exports = require('../modules/_core').Number;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/es6/number.js\n// module id = 623\n// module chunks = 3","'use strict';\nvar global = require('./_global');\nvar has = require('./_has');\nvar cof = require('./_cof');\nvar inheritIfRequired = require('./_inherit-if-required');\nvar toPrimitive = require('./_to-primitive');\nvar fails = require('./_fails');\nvar gOPN = require('./_object-gopn').f;\nvar gOPD = require('./_object-gopd').f;\nvar dP = require('./_object-dp').f;\nvar $trim = require('./_string-trim').trim;\nvar NUMBER = 'Number';\nvar $Number = global[NUMBER];\nvar Base = $Number;\nvar proto = $Number.prototype;\n// Opera ~12 has broken Object#toString\nvar BROKEN_COF = cof(require('./_object-create')(proto)) == NUMBER;\nvar TRIM = 'trim' in String.prototype;\n\n// 7.1.3 ToNumber(argument)\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, false);\n if (typeof it == 'string' && it.length > 2) {\n it = TRIM ? it.trim() : $trim(it, 3);\n var first = it.charCodeAt(0);\n var third, radix, maxCode;\n if (first === 43 || first === 45) {\n third = it.charCodeAt(2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (it.charCodeAt(1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i\n default: return +it;\n }\n for (var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++) {\n code = digits.charCodeAt(i);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\nif (!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')) {\n $Number = function Number(value) {\n var it = arguments.length < 1 ? 0 : value;\n var that = this;\n return that instanceof $Number\n // check on 1..constructor(foo) case\n && (BROKEN_COF ? fails(function () { proto.valueOf.call(that); }) : cof(that) != NUMBER)\n ? inheritIfRequired(new Base(toNumber(it)), that, $Number) : toNumber(it);\n };\n for (var keys = require('./_descriptors') ? gOPN(Base) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES6 (in case, if modules with ES6 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (has(Base, key = keys[j]) && !has($Number, key)) {\n dP($Number, key, gOPD(Base, key));\n }\n }\n $Number.prototype = proto;\n proto.constructor = $Number;\n require('./_redefine')(global, NUMBER, $Number);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.number.constructor.js\n// module id = 624\n// module chunks = 3","// 20.1.2.1 Number.EPSILON\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { EPSILON: Math.pow(2, -52) });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.number.epsilon.js\n// module id = 625\n// module chunks = 3","// 20.1.2.2 Number.isFinite(number)\nvar $export = require('./_export');\nvar _isFinite = require('./_global').isFinite;\n\n$export($export.S, 'Number', {\n isFinite: function isFinite(it) {\n return typeof it == 'number' && _isFinite(it);\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.number.is-finite.js\n// module id = 626\n// module chunks = 3","// 20.1.2.3 Number.isInteger(number)\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { isInteger: require('./_is-integer') });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.number.is-integer.js\n// module id = 627\n// module chunks = 3","// 20.1.2.4 Number.isNaN(number)\nvar $export = require('./_export');\n\n$export($export.S, 'Number', {\n isNaN: function isNaN(number) {\n // eslint-disable-next-line no-self-compare\n return number != number;\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.number.is-nan.js\n// module id = 628\n// module chunks = 3","// 20.1.2.5 Number.isSafeInteger(number)\nvar $export = require('./_export');\nvar isInteger = require('./_is-integer');\nvar abs = Math.abs;\n\n$export($export.S, 'Number', {\n isSafeInteger: function isSafeInteger(number) {\n return isInteger(number) && abs(number) <= 0x1fffffffffffff;\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.number.is-safe-integer.js\n// module id = 629\n// module chunks = 3","// 20.1.2.6 Number.MAX_SAFE_INTEGER\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { MAX_SAFE_INTEGER: 0x1fffffffffffff });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.number.max-safe-integer.js\n// module id = 630\n// module chunks = 3","// 20.1.2.10 Number.MIN_SAFE_INTEGER\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { MIN_SAFE_INTEGER: -0x1fffffffffffff });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.number.min-safe-integer.js\n// module id = 631\n// module chunks = 3","var $export = require('./_export');\nvar $parseFloat = require('./_parse-float');\n// 20.1.2.12 Number.parseFloat(string)\n$export($export.S + $export.F * (Number.parseFloat != $parseFloat), 'Number', { parseFloat: $parseFloat });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.number.parse-float.js\n// module id = 632\n// module chunks = 3","var $export = require('./_export');\nvar $parseInt = require('./_parse-int');\n// 20.1.2.13 Number.parseInt(string, radix)\n$export($export.S + $export.F * (Number.parseInt != $parseInt), 'Number', { parseInt: $parseInt });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.number.parse-int.js\n// module id = 633\n// module chunks = 3","require('../modules/es6.math.acosh');\nrequire('../modules/es6.math.asinh');\nrequire('../modules/es6.math.atanh');\nrequire('../modules/es6.math.cbrt');\nrequire('../modules/es6.math.clz32');\nrequire('../modules/es6.math.cosh');\nrequire('../modules/es6.math.expm1');\nrequire('../modules/es6.math.fround');\nrequire('../modules/es6.math.hypot');\nrequire('../modules/es6.math.imul');\nrequire('../modules/es6.math.log10');\nrequire('../modules/es6.math.log1p');\nrequire('../modules/es6.math.log2');\nrequire('../modules/es6.math.sign');\nrequire('../modules/es6.math.sinh');\nrequire('../modules/es6.math.tanh');\nrequire('../modules/es6.math.trunc');\nmodule.exports = require('../modules/_core').Math;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/es6/math.js\n// module id = 634\n// module chunks = 3","// 20.2.2.3 Math.acosh(x)\nvar $export = require('./_export');\nvar log1p = require('./_math-log1p');\nvar sqrt = Math.sqrt;\nvar $acosh = Math.acosh;\n\n$export($export.S + $export.F * !($acosh\n // V8 bug: https://code.google.com/p/v8/issues/detail?id=3509\n && Math.floor($acosh(Number.MAX_VALUE)) == 710\n // Tor Browser bug: Math.acosh(Infinity) -> NaN\n && $acosh(Infinity) == Infinity\n), 'Math', {\n acosh: function acosh(x) {\n return (x = +x) < 1 ? NaN : x > 94906265.62425156\n ? Math.log(x) + Math.LN2\n : log1p(x - 1 + sqrt(x - 1) * sqrt(x + 1));\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.math.acosh.js\n// module id = 635\n// module chunks = 3","// 20.2.2.5 Math.asinh(x)\nvar $export = require('./_export');\nvar $asinh = Math.asinh;\n\nfunction asinh(x) {\n return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : Math.log(x + Math.sqrt(x * x + 1));\n}\n\n// Tor Browser bug: Math.asinh(0) -> -0\n$export($export.S + $export.F * !($asinh && 1 / $asinh(0) > 0), 'Math', { asinh: asinh });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.math.asinh.js\n// module id = 636\n// module chunks = 3","// 20.2.2.7 Math.atanh(x)\nvar $export = require('./_export');\nvar $atanh = Math.atanh;\n\n// Tor Browser bug: Math.atanh(-0) -> 0\n$export($export.S + $export.F * !($atanh && 1 / $atanh(-0) < 0), 'Math', {\n atanh: function atanh(x) {\n return (x = +x) == 0 ? x : Math.log((1 + x) / (1 - x)) / 2;\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.math.atanh.js\n// module id = 637\n// module chunks = 3","// 20.2.2.9 Math.cbrt(x)\nvar $export = require('./_export');\nvar sign = require('./_math-sign');\n\n$export($export.S, 'Math', {\n cbrt: function cbrt(x) {\n return sign(x = +x) * Math.pow(Math.abs(x), 1 / 3);\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.math.cbrt.js\n// module id = 638\n// module chunks = 3","// 20.2.2.11 Math.clz32(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n clz32: function clz32(x) {\n return (x >>>= 0) ? 31 - Math.floor(Math.log(x + 0.5) * Math.LOG2E) : 32;\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.math.clz32.js\n// module id = 639\n// module chunks = 3","// 20.2.2.12 Math.cosh(x)\nvar $export = require('./_export');\nvar exp = Math.exp;\n\n$export($export.S, 'Math', {\n cosh: function cosh(x) {\n return (exp(x = +x) + exp(-x)) / 2;\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.math.cosh.js\n// module id = 640\n// module chunks = 3","// 20.2.2.14 Math.expm1(x)\nvar $export = require('./_export');\nvar $expm1 = require('./_math-expm1');\n\n$export($export.S + $export.F * ($expm1 != Math.expm1), 'Math', { expm1: $expm1 });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.math.expm1.js\n// module id = 641\n// module chunks = 3","// 20.2.2.16 Math.fround(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { fround: require('./_math-fround') });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.math.fround.js\n// module id = 642\n// module chunks = 3","// 20.2.2.16 Math.fround(x)\nvar sign = require('./_math-sign');\nvar pow = Math.pow;\nvar EPSILON = pow(2, -52);\nvar EPSILON32 = pow(2, -23);\nvar MAX32 = pow(2, 127) * (2 - EPSILON32);\nvar MIN32 = pow(2, -126);\n\nvar roundTiesToEven = function (n) {\n return n + 1 / EPSILON - 1 / EPSILON;\n};\n\nmodule.exports = Math.fround || function fround(x) {\n var $abs = Math.abs(x);\n var $sign = sign(x);\n var a, result;\n if ($abs < MIN32) return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32;\n a = (1 + EPSILON32 / EPSILON) * $abs;\n result = a - (a - $abs);\n // eslint-disable-next-line no-self-compare\n if (result > MAX32 || result != result) return $sign * Infinity;\n return $sign * result;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_math-fround.js\n// module id = 643\n// module chunks = 3","// 20.2.2.17 Math.hypot([value1[, value2[, … ]]])\nvar $export = require('./_export');\nvar abs = Math.abs;\n\n$export($export.S, 'Math', {\n hypot: function hypot(value1, value2) { // eslint-disable-line no-unused-vars\n var sum = 0;\n var i = 0;\n var aLen = arguments.length;\n var larg = 0;\n var arg, div;\n while (i < aLen) {\n arg = abs(arguments[i++]);\n if (larg < arg) {\n div = larg / arg;\n sum = sum * div * div + 1;\n larg = arg;\n } else if (arg > 0) {\n div = arg / larg;\n sum += div * div;\n } else sum += arg;\n }\n return larg === Infinity ? Infinity : larg * Math.sqrt(sum);\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.math.hypot.js\n// module id = 644\n// module chunks = 3","// 20.2.2.18 Math.imul(x, y)\nvar $export = require('./_export');\nvar $imul = Math.imul;\n\n// some WebKit versions fails with big numbers, some has wrong arity\n$export($export.S + $export.F * require('./_fails')(function () {\n return $imul(0xffffffff, 5) != -5 || $imul.length != 2;\n}), 'Math', {\n imul: function imul(x, y) {\n var UINT16 = 0xffff;\n var xn = +x;\n var yn = +y;\n var xl = UINT16 & xn;\n var yl = UINT16 & yn;\n return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0);\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.math.imul.js\n// module id = 645\n// module chunks = 3","// 20.2.2.21 Math.log10(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n log10: function log10(x) {\n return Math.log(x) * Math.LOG10E;\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.math.log10.js\n// module id = 646\n// module chunks = 3","// 20.2.2.20 Math.log1p(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { log1p: require('./_math-log1p') });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.math.log1p.js\n// module id = 647\n// module chunks = 3","// 20.2.2.22 Math.log2(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n log2: function log2(x) {\n return Math.log(x) / Math.LN2;\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.math.log2.js\n// module id = 648\n// module chunks = 3","// 20.2.2.28 Math.sign(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { sign: require('./_math-sign') });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.math.sign.js\n// module id = 649\n// module chunks = 3","// 20.2.2.30 Math.sinh(x)\nvar $export = require('./_export');\nvar expm1 = require('./_math-expm1');\nvar exp = Math.exp;\n\n// V8 near Chromium 38 has a problem with very small numbers\n$export($export.S + $export.F * require('./_fails')(function () {\n return !Math.sinh(-2e-17) != -2e-17;\n}), 'Math', {\n sinh: function sinh(x) {\n return Math.abs(x = +x) < 1\n ? (expm1(x) - expm1(-x)) / 2\n : (exp(x - 1) - exp(-x - 1)) * (Math.E / 2);\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.math.sinh.js\n// module id = 650\n// module chunks = 3","// 20.2.2.33 Math.tanh(x)\nvar $export = require('./_export');\nvar expm1 = require('./_math-expm1');\nvar exp = Math.exp;\n\n$export($export.S, 'Math', {\n tanh: function tanh(x) {\n var a = expm1(x = +x);\n var b = expm1(-x);\n return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x));\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.math.tanh.js\n// module id = 651\n// module chunks = 3","// 20.2.2.34 Math.trunc(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n trunc: function trunc(it) {\n return (it > 0 ? Math.floor : Math.ceil)(it);\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.math.trunc.js\n// module id = 652\n// module chunks = 3","require('../modules/es6.string.from-code-point');\nrequire('../modules/es6.string.raw');\nrequire('../modules/es6.string.trim');\nrequire('../modules/es6.string.iterator');\nrequire('../modules/es6.string.code-point-at');\nrequire('../modules/es6.string.ends-with');\nrequire('../modules/es6.string.includes');\nrequire('../modules/es6.string.repeat');\nrequire('../modules/es6.string.starts-with');\nrequire('../modules/es6.string.anchor');\nrequire('../modules/es6.string.big');\nrequire('../modules/es6.string.blink');\nrequire('../modules/es6.string.bold');\nrequire('../modules/es6.string.fixed');\nrequire('../modules/es6.string.fontcolor');\nrequire('../modules/es6.string.fontsize');\nrequire('../modules/es6.string.italics');\nrequire('../modules/es6.string.link');\nrequire('../modules/es6.string.small');\nrequire('../modules/es6.string.strike');\nrequire('../modules/es6.string.sub');\nrequire('../modules/es6.string.sup');\nrequire('../modules/es6.regexp.match');\nrequire('../modules/es6.regexp.replace');\nrequire('../modules/es6.regexp.search');\nrequire('../modules/es6.regexp.split');\nmodule.exports = require('../modules/_core').String;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/es6/string.js\n// module id = 653\n// module chunks = 3","var $export = require('./_export');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar fromCharCode = String.fromCharCode;\nvar $fromCodePoint = String.fromCodePoint;\n\n// length should be 1, old FF problem\n$export($export.S + $export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', {\n // 21.1.2.2 String.fromCodePoint(...codePoints)\n fromCodePoint: function fromCodePoint(x) { // eslint-disable-line no-unused-vars\n var res = [];\n var aLen = arguments.length;\n var i = 0;\n var code;\n while (aLen > i) {\n code = +arguments[i++];\n if (toAbsoluteIndex(code, 0x10ffff) !== code) throw RangeError(code + ' is not a valid code point');\n res.push(code < 0x10000\n ? fromCharCode(code)\n : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00)\n );\n } return res.join('');\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.string.from-code-point.js\n// module id = 654\n// module chunks = 3","var $export = require('./_export');\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\n\n$export($export.S, 'String', {\n // 21.1.2.4 String.raw(callSite, ...substitutions)\n raw: function raw(callSite) {\n var tpl = toIObject(callSite.raw);\n var len = toLength(tpl.length);\n var aLen = arguments.length;\n var res = [];\n var i = 0;\n while (len > i) {\n res.push(String(tpl[i++]));\n if (i < aLen) res.push(String(arguments[i]));\n } return res.join('');\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.string.raw.js\n// module id = 655\n// module chunks = 3","'use strict';\nvar $export = require('./_export');\nvar $at = require('./_string-at')(false);\n$export($export.P, 'String', {\n // 21.1.3.3 String.prototype.codePointAt(pos)\n codePointAt: function codePointAt(pos) {\n return $at(this, pos);\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.string.code-point-at.js\n// module id = 656\n// module chunks = 3","// 21.1.3.6 String.prototype.endsWith(searchString [, endPosition])\n'use strict';\nvar $export = require('./_export');\nvar toLength = require('./_to-length');\nvar context = require('./_string-context');\nvar ENDS_WITH = 'endsWith';\nvar $endsWith = ''[ENDS_WITH];\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(ENDS_WITH), 'String', {\n endsWith: function endsWith(searchString /* , endPosition = @length */) {\n var that = context(this, searchString, ENDS_WITH);\n var endPosition = arguments.length > 1 ? arguments[1] : undefined;\n var len = toLength(that.length);\n var end = endPosition === undefined ? len : Math.min(toLength(endPosition), len);\n var search = String(searchString);\n return $endsWith\n ? $endsWith.call(that, search, end)\n : that.slice(end - search.length, end) === search;\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.string.ends-with.js\n// module id = 657\n// module chunks = 3","// 21.1.3.7 String.prototype.includes(searchString, position = 0)\n'use strict';\nvar $export = require('./_export');\nvar context = require('./_string-context');\nvar INCLUDES = 'includes';\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(INCLUDES), 'String', {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~context(this, searchString, INCLUDES)\n .indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.string.includes.js\n// module id = 658\n// module chunks = 3","var $export = require('./_export');\n\n$export($export.P, 'String', {\n // 21.1.3.13 String.prototype.repeat(count)\n repeat: require('./_string-repeat')\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.string.repeat.js\n// module id = 659\n// module chunks = 3","// 21.1.3.18 String.prototype.startsWith(searchString [, position ])\n'use strict';\nvar $export = require('./_export');\nvar toLength = require('./_to-length');\nvar context = require('./_string-context');\nvar STARTS_WITH = 'startsWith';\nvar $startsWith = ''[STARTS_WITH];\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(STARTS_WITH), 'String', {\n startsWith: function startsWith(searchString /* , position = 0 */) {\n var that = context(this, searchString, STARTS_WITH);\n var index = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = String(searchString);\n return $startsWith\n ? $startsWith.call(that, search, index)\n : that.slice(index, index + search.length) === search;\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.string.starts-with.js\n// module id = 660\n// module chunks = 3","'use strict';\n// B.2.3.2 String.prototype.anchor(name)\nrequire('./_string-html')('anchor', function (createHTML) {\n return function anchor(name) {\n return createHTML(this, 'a', 'name', name);\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.string.anchor.js\n// module id = 661\n// module chunks = 3","'use strict';\n// B.2.3.3 String.prototype.big()\nrequire('./_string-html')('big', function (createHTML) {\n return function big() {\n return createHTML(this, 'big', '', '');\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.string.big.js\n// module id = 662\n// module chunks = 3","'use strict';\n// B.2.3.4 String.prototype.blink()\nrequire('./_string-html')('blink', function (createHTML) {\n return function blink() {\n return createHTML(this, 'blink', '', '');\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.string.blink.js\n// module id = 663\n// module chunks = 3","'use strict';\n// B.2.3.5 String.prototype.bold()\nrequire('./_string-html')('bold', function (createHTML) {\n return function bold() {\n return createHTML(this, 'b', '', '');\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.string.bold.js\n// module id = 664\n// module chunks = 3","'use strict';\n// B.2.3.6 String.prototype.fixed()\nrequire('./_string-html')('fixed', function (createHTML) {\n return function fixed() {\n return createHTML(this, 'tt', '', '');\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.string.fixed.js\n// module id = 665\n// module chunks = 3","'use strict';\n// B.2.3.7 String.prototype.fontcolor(color)\nrequire('./_string-html')('fontcolor', function (createHTML) {\n return function fontcolor(color) {\n return createHTML(this, 'font', 'color', color);\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.string.fontcolor.js\n// module id = 666\n// module chunks = 3","'use strict';\n// B.2.3.8 String.prototype.fontsize(size)\nrequire('./_string-html')('fontsize', function (createHTML) {\n return function fontsize(size) {\n return createHTML(this, 'font', 'size', size);\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.string.fontsize.js\n// module id = 667\n// module chunks = 3","'use strict';\n// B.2.3.9 String.prototype.italics()\nrequire('./_string-html')('italics', function (createHTML) {\n return function italics() {\n return createHTML(this, 'i', '', '');\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.string.italics.js\n// module id = 668\n// module chunks = 3","'use strict';\n// B.2.3.10 String.prototype.link(url)\nrequire('./_string-html')('link', function (createHTML) {\n return function link(url) {\n return createHTML(this, 'a', 'href', url);\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.string.link.js\n// module id = 669\n// module chunks = 3","'use strict';\n// B.2.3.11 String.prototype.small()\nrequire('./_string-html')('small', function (createHTML) {\n return function small() {\n return createHTML(this, 'small', '', '');\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.string.small.js\n// module id = 670\n// module chunks = 3","'use strict';\n// B.2.3.12 String.prototype.strike()\nrequire('./_string-html')('strike', function (createHTML) {\n return function strike() {\n return createHTML(this, 'strike', '', '');\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.string.strike.js\n// module id = 671\n// module chunks = 3","'use strict';\n// B.2.3.13 String.prototype.sub()\nrequire('./_string-html')('sub', function (createHTML) {\n return function sub() {\n return createHTML(this, 'sub', '', '');\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.string.sub.js\n// module id = 672\n// module chunks = 3","'use strict';\n// B.2.3.14 String.prototype.sup()\nrequire('./_string-html')('sup', function (createHTML) {\n return function sup() {\n return createHTML(this, 'sup', '', '');\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.string.sup.js\n// module id = 673\n// module chunks = 3","// 7.3.20 SpeciesConstructor(O, defaultConstructor)\nvar anObject = require('./_an-object');\nvar aFunction = require('./_a-function');\nvar SPECIES = require('./_wks')('species');\nmodule.exports = function (O, D) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_species-constructor.js\n// module id = 674\n// module chunks = 3","require('../modules/es6.date.now');\nrequire('../modules/es6.date.to-json');\nrequire('../modules/es6.date.to-iso-string');\nrequire('../modules/es6.date.to-string');\nrequire('../modules/es6.date.to-primitive');\nmodule.exports = Date;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/es6/date.js\n// module id = 675\n// module chunks = 3","var DateProto = Date.prototype;\nvar INVALID_DATE = 'Invalid Date';\nvar TO_STRING = 'toString';\nvar $toString = DateProto[TO_STRING];\nvar getTime = DateProto.getTime;\nif (new Date(NaN) + '' != INVALID_DATE) {\n require('./_redefine')(DateProto, TO_STRING, function toString() {\n var value = getTime.call(this);\n // eslint-disable-next-line no-self-compare\n return value === value ? $toString.call(this) : INVALID_DATE;\n });\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.date.to-string.js\n// module id = 676\n// module chunks = 3","var TO_PRIMITIVE = require('./_wks')('toPrimitive');\nvar proto = Date.prototype;\n\nif (!(TO_PRIMITIVE in proto)) require('./_hide')(proto, TO_PRIMITIVE, require('./_date-to-primitive'));\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.date.to-primitive.js\n// module id = 677\n// module chunks = 3","'use strict';\nvar anObject = require('./_an-object');\nvar toPrimitive = require('./_to-primitive');\nvar NUMBER = 'number';\n\nmodule.exports = function (hint) {\n if (hint !== 'string' && hint !== NUMBER && hint !== 'default') throw TypeError('Incorrect hint');\n return toPrimitive(anObject(this), hint != NUMBER);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_date-to-primitive.js\n// module id = 678\n// module chunks = 3","require('../modules/es6.string.iterator');\nrequire('../modules/es6.array.is-array');\nrequire('../modules/es6.array.from');\nrequire('../modules/es6.array.of');\nrequire('../modules/es6.array.join');\nrequire('../modules/es6.array.slice');\nrequire('../modules/es6.array.sort');\nrequire('../modules/es6.array.for-each');\nrequire('../modules/es6.array.map');\nrequire('../modules/es6.array.filter');\nrequire('../modules/es6.array.some');\nrequire('../modules/es6.array.every');\nrequire('../modules/es6.array.reduce');\nrequire('../modules/es6.array.reduce-right');\nrequire('../modules/es6.array.index-of');\nrequire('../modules/es6.array.last-index-of');\nrequire('../modules/es6.array.copy-within');\nrequire('../modules/es6.array.fill');\nrequire('../modules/es6.array.find');\nrequire('../modules/es6.array.find-index');\nrequire('../modules/es6.array.species');\nrequire('../modules/es6.array.iterator');\nmodule.exports = require('../modules/_core').Array;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/es6/array.js\n// module id = 679\n// module chunks = 3","'use strict';\nvar ctx = require('./_ctx');\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar toLength = require('./_to-length');\nvar createProperty = require('./_create-property');\nvar getIterFn = require('./core.get-iterator-method');\n\n$export($export.S + $export.F * !require('./_iter-detect')(function (iter) { Array.from(iter); }), 'Array', {\n // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var index = 0;\n var iterFn = getIterFn(O);\n var length, result, step, iterator;\n if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n // if object isn't iterable or it's array with default iterator - use simple case\n if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n }\n } else {\n length = toLength(O.length);\n for (result = new C(length); length > index; index++) {\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n result.length = index;\n return result;\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.array.from.js\n// module id = 680\n// module chunks = 3","'use strict';\nvar $export = require('./_export');\nvar createProperty = require('./_create-property');\n\n// WebKit Array.of isn't generic\n$export($export.S + $export.F * require('./_fails')(function () {\n function F() { /* empty */ }\n return !(Array.of.call(F) instanceof F);\n}), 'Array', {\n // 22.1.2.3 Array.of( ...items)\n of: function of(/* ...args */) {\n var index = 0;\n var aLen = arguments.length;\n var result = new (typeof this == 'function' ? this : Array)(aLen);\n while (aLen > index) createProperty(result, index, arguments[index++]);\n result.length = aLen;\n return result;\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.array.of.js\n// module id = 681\n// module chunks = 3","// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)\nvar $export = require('./_export');\n\n$export($export.P, 'Array', { copyWithin: require('./_array-copy-within') });\n\nrequire('./_add-to-unscopables')('copyWithin');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.array.copy-within.js\n// module id = 682\n// module chunks = 3","// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)\n'use strict';\nvar toObject = require('./_to-object');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\n\nmodule.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) {\n var O = toObject(this);\n var len = toLength(O.length);\n var to = toAbsoluteIndex(target, len);\n var from = toAbsoluteIndex(start, len);\n var end = arguments.length > 2 ? arguments[2] : undefined;\n var count = Math.min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to);\n var inc = 1;\n if (from < to && to < from + count) {\n inc = -1;\n from += count - 1;\n to += count - 1;\n }\n while (count-- > 0) {\n if (from in O) O[to] = O[from];\n else delete O[to];\n to += inc;\n from += inc;\n } return O;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_array-copy-within.js\n// module id = 683\n// module chunks = 3","// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)\nvar $export = require('./_export');\n\n$export($export.P, 'Array', { fill: require('./_array-fill') });\n\nrequire('./_add-to-unscopables')('fill');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.array.fill.js\n// module id = 684\n// module chunks = 3","// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)\n'use strict';\nvar toObject = require('./_to-object');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\nmodule.exports = function fill(value /* , start = 0, end = @length */) {\n var O = toObject(this);\n var length = toLength(O.length);\n var aLen = arguments.length;\n var index = toAbsoluteIndex(aLen > 1 ? arguments[1] : undefined, length);\n var end = aLen > 2 ? arguments[2] : undefined;\n var endPos = end === undefined ? length : toAbsoluteIndex(end, length);\n while (endPos > index) O[index++] = value;\n return O;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_array-fill.js\n// module id = 685\n// module chunks = 3","'use strict';\n// 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined)\nvar $export = require('./_export');\nvar $find = require('./_array-methods')(5);\nvar KEY = 'find';\nvar forced = true;\n// Shouldn't skip holes\nif (KEY in []) Array(1)[KEY](function () { forced = false; });\n$export($export.P + $export.F * forced, 'Array', {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\nrequire('./_add-to-unscopables')(KEY);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.array.find.js\n// module id = 686\n// module chunks = 3","'use strict';\n// 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined)\nvar $export = require('./_export');\nvar $find = require('./_array-methods')(6);\nvar KEY = 'findIndex';\nvar forced = true;\n// Shouldn't skip holes\nif (KEY in []) Array(1)[KEY](function () { forced = false; });\n$export($export.P + $export.F * forced, 'Array', {\n findIndex: function findIndex(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\nrequire('./_add-to-unscopables')(KEY);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.array.find-index.js\n// module id = 687\n// module chunks = 3","require('./_set-species')('Array');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.array.species.js\n// module id = 688\n// module chunks = 3","require('../modules/es6.regexp.constructor');\nrequire('../modules/es6.regexp.exec');\nrequire('../modules/es6.regexp.to-string');\nrequire('../modules/es6.regexp.flags');\nrequire('../modules/es6.regexp.match');\nrequire('../modules/es6.regexp.replace');\nrequire('../modules/es6.regexp.search');\nrequire('../modules/es6.regexp.split');\nmodule.exports = require('../modules/_core').RegExp;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/es6/regexp.js\n// module id = 689\n// module chunks = 3","var global = require('./_global');\nvar inheritIfRequired = require('./_inherit-if-required');\nvar dP = require('./_object-dp').f;\nvar gOPN = require('./_object-gopn').f;\nvar isRegExp = require('./_is-regexp');\nvar $flags = require('./_flags');\nvar $RegExp = global.RegExp;\nvar Base = $RegExp;\nvar proto = $RegExp.prototype;\nvar re1 = /a/g;\nvar re2 = /a/g;\n// \"new\" creates a new object, old webkit buggy here\nvar CORRECT_NEW = new $RegExp(re1) !== re1;\n\nif (require('./_descriptors') && (!CORRECT_NEW || require('./_fails')(function () {\n re2[require('./_wks')('match')] = false;\n // RegExp constructor can alter flags and IsRegExp works correct with @@match\n return $RegExp(re1) != re1 || $RegExp(re2) == re2 || $RegExp(re1, 'i') != '/a/i';\n}))) {\n $RegExp = function RegExp(p, f) {\n var tiRE = this instanceof $RegExp;\n var piRE = isRegExp(p);\n var fiU = f === undefined;\n return !tiRE && piRE && p.constructor === $RegExp && fiU ? p\n : inheritIfRequired(CORRECT_NEW\n ? new Base(piRE && !fiU ? p.source : p, f)\n : Base((piRE = p instanceof $RegExp) ? p.source : p, piRE && fiU ? $flags.call(p) : f)\n , tiRE ? this : proto, $RegExp);\n };\n var proxy = function (key) {\n key in $RegExp || dP($RegExp, key, {\n configurable: true,\n get: function () { return Base[key]; },\n set: function (it) { Base[key] = it; }\n });\n };\n for (var keys = gOPN(Base), i = 0; keys.length > i;) proxy(keys[i++]);\n proto.constructor = $RegExp;\n $RegExp.prototype = proto;\n require('./_redefine')(global, 'RegExp', $RegExp);\n}\n\nrequire('./_set-species')('RegExp');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.regexp.constructor.js\n// module id = 690\n// module chunks = 3","require('../modules/es6.object.to-string');\nrequire('../modules/es6.string.iterator');\nrequire('../modules/web.dom.iterable');\nrequire('../modules/es6.map');\nmodule.exports = require('../modules/_core').Map;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/es6/map.js\n// module id = 691\n// module chunks = 3","require('../modules/es6.object.to-string');\nrequire('../modules/es6.array.iterator');\nrequire('../modules/es6.weak-map');\nmodule.exports = require('../modules/_core').WeakMap;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/es6/weak-map.js\n// module id = 692\n// module chunks = 3","require('../modules/es6.object.to-string');\nrequire('../modules/es6.string.iterator');\nrequire('../modules/web.dom.iterable');\nrequire('../modules/es6.set');\nmodule.exports = require('../modules/_core').Set;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/es6/set.js\n// module id = 693\n// module chunks = 3","/**\n* @license\n* Copyright Google Inc. All Rights Reserved.\n*\n* Use of this source code is governed by an MIT-style license that can be\n* found in the LICENSE file at https://angular.io/license\n*/\n(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory() :\n\ttypeof define === 'function' && define.amd ? define(factory) :\n\t(factory());\n}(this, (function () { 'use strict';\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar Zone$1 = (function (global) {\n var performance = global['performance'];\n function mark(name) {\n performance && performance['mark'] && performance['mark'](name);\n }\n function performanceMeasure(name, label) {\n performance && performance['measure'] && performance['measure'](name, label);\n }\n mark('Zone');\n var checkDuplicate = global[('__zone_symbol__forceDuplicateZoneCheck')] === true;\n if (global['Zone']) {\n // if global['Zone'] already exists (maybe zone.js was already loaded or\n // some other lib also registered a global object named Zone), we may need\n // to throw an error, but sometimes user may not want this error.\n // For example,\n // we have two web pages, page1 includes zone.js, page2 doesn't.\n // and the 1st time user load page1 and page2, everything work fine,\n // but when user load page2 again, error occurs because global['Zone'] already exists.\n // so we add a flag to let user choose whether to throw this error or not.\n // By default, if existing Zone is from zone.js, we will not throw the error.\n if (checkDuplicate || typeof global['Zone'].__symbol__ !== 'function') {\n throw new Error('Zone already loaded.');\n }\n else {\n return global['Zone'];\n }\n }\n var Zone = /** @class */ (function () {\n function Zone(parent, zoneSpec) {\n this._parent = parent;\n this._name = zoneSpec ? zoneSpec.name || 'unnamed' : '';\n this._properties = zoneSpec && zoneSpec.properties || {};\n this._zoneDelegate =\n new ZoneDelegate(this, this._parent && this._parent._zoneDelegate, zoneSpec);\n }\n Zone.assertZonePatched = function () {\n if (global['Promise'] !== patches['ZoneAwarePromise']) {\n throw new Error('Zone.js has detected that ZoneAwarePromise `(window|global).Promise` ' +\n 'has been overwritten.\\n' +\n 'Most likely cause is that a Promise polyfill has been loaded ' +\n 'after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. ' +\n 'If you must load one, do so before loading zone.js.)');\n }\n };\n Object.defineProperty(Zone, \"root\", {\n get: function () {\n var zone = Zone.current;\n while (zone.parent) {\n zone = zone.parent;\n }\n return zone;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Zone, \"current\", {\n get: function () {\n return _currentZoneFrame.zone;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Zone, \"currentTask\", {\n get: function () {\n return _currentTask;\n },\n enumerable: true,\n configurable: true\n });\n Zone.__load_patch = function (name, fn) {\n if (patches.hasOwnProperty(name)) {\n if (checkDuplicate) {\n throw Error('Already loaded patch: ' + name);\n }\n }\n else if (!global['__Zone_disable_' + name]) {\n var perfName = 'Zone:' + name;\n mark(perfName);\n patches[name] = fn(global, Zone, _api);\n performanceMeasure(perfName, perfName);\n }\n };\n Object.defineProperty(Zone.prototype, \"parent\", {\n get: function () {\n return this._parent;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Zone.prototype, \"name\", {\n get: function () {\n return this._name;\n },\n enumerable: true,\n configurable: true\n });\n Zone.prototype.get = function (key) {\n var zone = this.getZoneWith(key);\n if (zone)\n return zone._properties[key];\n };\n Zone.prototype.getZoneWith = function (key) {\n var current = this;\n while (current) {\n if (current._properties.hasOwnProperty(key)) {\n return current;\n }\n current = current._parent;\n }\n return null;\n };\n Zone.prototype.fork = function (zoneSpec) {\n if (!zoneSpec)\n throw new Error('ZoneSpec required!');\n return this._zoneDelegate.fork(this, zoneSpec);\n };\n Zone.prototype.wrap = function (callback, source) {\n if (typeof callback !== 'function') {\n throw new Error('Expecting function got: ' + callback);\n }\n var _callback = this._zoneDelegate.intercept(this, callback, source);\n var zone = this;\n return function () {\n return zone.runGuarded(_callback, this, arguments, source);\n };\n };\n Zone.prototype.run = function (callback, applyThis, applyArgs, source) {\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source);\n }\n finally {\n _currentZoneFrame = _currentZoneFrame.parent;\n }\n };\n Zone.prototype.runGuarded = function (callback, applyThis, applyArgs, source) {\n if (applyThis === void 0) { applyThis = null; }\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n try {\n return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source);\n }\n catch (error) {\n if (this._zoneDelegate.handleError(this, error)) {\n throw error;\n }\n }\n }\n finally {\n _currentZoneFrame = _currentZoneFrame.parent;\n }\n };\n Zone.prototype.runTask = function (task, applyThis, applyArgs) {\n if (task.zone != this) {\n throw new Error('A task can only be run in the zone of creation! (Creation: ' +\n (task.zone || NO_ZONE).name + '; Execution: ' + this.name + ')');\n }\n // https://github.com/angular/zone.js/issues/778, sometimes eventTask\n // will run in notScheduled(canceled) state, we should not try to\n // run such kind of task but just return\n if (task.state === notScheduled && (task.type === eventTask || task.type === macroTask)) {\n return;\n }\n var reEntryGuard = task.state != running;\n reEntryGuard && task._transitionTo(running, scheduled);\n task.runCount++;\n var previousTask = _currentTask;\n _currentTask = task;\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n if (task.type == macroTask && task.data && !task.data.isPeriodic) {\n task.cancelFn = undefined;\n }\n try {\n return this._zoneDelegate.invokeTask(this, task, applyThis, applyArgs);\n }\n catch (error) {\n if (this._zoneDelegate.handleError(this, error)) {\n throw error;\n }\n }\n }\n finally {\n // if the task's state is notScheduled or unknown, then it has already been cancelled\n // we should not reset the state to scheduled\n if (task.state !== notScheduled && task.state !== unknown) {\n if (task.type == eventTask || (task.data && task.data.isPeriodic)) {\n reEntryGuard && task._transitionTo(scheduled, running);\n }\n else {\n task.runCount = 0;\n this._updateTaskCount(task, -1);\n reEntryGuard &&\n task._transitionTo(notScheduled, running, notScheduled);\n }\n }\n _currentZoneFrame = _currentZoneFrame.parent;\n _currentTask = previousTask;\n }\n };\n Zone.prototype.scheduleTask = function (task) {\n if (task.zone && task.zone !== this) {\n // check if the task was rescheduled, the newZone\n // should not be the children of the original zone\n var newZone = this;\n while (newZone) {\n if (newZone === task.zone) {\n throw Error(\"can not reschedule task to \" + this.name + \" which is descendants of the original zone \" + task.zone.name);\n }\n newZone = newZone.parent;\n }\n }\n task._transitionTo(scheduling, notScheduled);\n var zoneDelegates = [];\n task._zoneDelegates = zoneDelegates;\n task._zone = this;\n try {\n task = this._zoneDelegate.scheduleTask(this, task);\n }\n catch (err) {\n // should set task's state to unknown when scheduleTask throw error\n // because the err may from reschedule, so the fromState maybe notScheduled\n task._transitionTo(unknown, scheduling, notScheduled);\n // TODO: @JiaLiPassion, should we check the result from handleError?\n this._zoneDelegate.handleError(this, err);\n throw err;\n }\n if (task._zoneDelegates === zoneDelegates) {\n // we have to check because internally the delegate can reschedule the task.\n this._updateTaskCount(task, 1);\n }\n if (task.state == scheduling) {\n task._transitionTo(scheduled, scheduling);\n }\n return task;\n };\n Zone.prototype.scheduleMicroTask = function (source, callback, data, customSchedule) {\n return this.scheduleTask(new ZoneTask(microTask, source, callback, data, customSchedule, undefined));\n };\n Zone.prototype.scheduleMacroTask = function (source, callback, data, customSchedule, customCancel) {\n return this.scheduleTask(new ZoneTask(macroTask, source, callback, data, customSchedule, customCancel));\n };\n Zone.prototype.scheduleEventTask = function (source, callback, data, customSchedule, customCancel) {\n return this.scheduleTask(new ZoneTask(eventTask, source, callback, data, customSchedule, customCancel));\n };\n Zone.prototype.cancelTask = function (task) {\n if (task.zone != this)\n throw new Error('A task can only be cancelled in the zone of creation! (Creation: ' +\n (task.zone || NO_ZONE).name + '; Execution: ' + this.name + ')');\n task._transitionTo(canceling, scheduled, running);\n try {\n this._zoneDelegate.cancelTask(this, task);\n }\n catch (err) {\n // if error occurs when cancelTask, transit the state to unknown\n task._transitionTo(unknown, canceling);\n this._zoneDelegate.handleError(this, err);\n throw err;\n }\n this._updateTaskCount(task, -1);\n task._transitionTo(notScheduled, canceling);\n task.runCount = 0;\n return task;\n };\n Zone.prototype._updateTaskCount = function (task, count) {\n var zoneDelegates = task._zoneDelegates;\n if (count == -1) {\n task._zoneDelegates = null;\n }\n for (var i = 0; i < zoneDelegates.length; i++) {\n zoneDelegates[i]._updateTaskCount(task.type, count);\n }\n };\n Zone.__symbol__ = __symbol__;\n return Zone;\n }());\n var DELEGATE_ZS = {\n name: '',\n onHasTask: function (delegate, _, target, hasTaskState) { return delegate.hasTask(target, hasTaskState); },\n onScheduleTask: function (delegate, _, target, task) {\n return delegate.scheduleTask(target, task);\n },\n onInvokeTask: function (delegate, _, target, task, applyThis, applyArgs) {\n return delegate.invokeTask(target, task, applyThis, applyArgs);\n },\n onCancelTask: function (delegate, _, target, task) { return delegate.cancelTask(target, task); }\n };\n var ZoneDelegate = /** @class */ (function () {\n function ZoneDelegate(zone, parentDelegate, zoneSpec) {\n this._taskCounts = { 'microTask': 0, 'macroTask': 0, 'eventTask': 0 };\n this.zone = zone;\n this._parentDelegate = parentDelegate;\n this._forkZS = zoneSpec && (zoneSpec && zoneSpec.onFork ? zoneSpec : parentDelegate._forkZS);\n this._forkDlgt = zoneSpec && (zoneSpec.onFork ? parentDelegate : parentDelegate._forkDlgt);\n this._forkCurrZone = zoneSpec && (zoneSpec.onFork ? this.zone : parentDelegate.zone);\n this._interceptZS =\n zoneSpec && (zoneSpec.onIntercept ? zoneSpec : parentDelegate._interceptZS);\n this._interceptDlgt =\n zoneSpec && (zoneSpec.onIntercept ? parentDelegate : parentDelegate._interceptDlgt);\n this._interceptCurrZone =\n zoneSpec && (zoneSpec.onIntercept ? this.zone : parentDelegate.zone);\n this._invokeZS = zoneSpec && (zoneSpec.onInvoke ? zoneSpec : parentDelegate._invokeZS);\n this._invokeDlgt =\n zoneSpec && (zoneSpec.onInvoke ? parentDelegate : parentDelegate._invokeDlgt);\n this._invokeCurrZone = zoneSpec && (zoneSpec.onInvoke ? this.zone : parentDelegate.zone);\n this._handleErrorZS =\n zoneSpec && (zoneSpec.onHandleError ? zoneSpec : parentDelegate._handleErrorZS);\n this._handleErrorDlgt =\n zoneSpec && (zoneSpec.onHandleError ? parentDelegate : parentDelegate._handleErrorDlgt);\n this._handleErrorCurrZone =\n zoneSpec && (zoneSpec.onHandleError ? this.zone : parentDelegate.zone);\n this._scheduleTaskZS =\n zoneSpec && (zoneSpec.onScheduleTask ? zoneSpec : parentDelegate._scheduleTaskZS);\n this._scheduleTaskDlgt = zoneSpec &&\n (zoneSpec.onScheduleTask ? parentDelegate : parentDelegate._scheduleTaskDlgt);\n this._scheduleTaskCurrZone =\n zoneSpec && (zoneSpec.onScheduleTask ? this.zone : parentDelegate.zone);\n this._invokeTaskZS =\n zoneSpec && (zoneSpec.onInvokeTask ? zoneSpec : parentDelegate._invokeTaskZS);\n this._invokeTaskDlgt =\n zoneSpec && (zoneSpec.onInvokeTask ? parentDelegate : parentDelegate._invokeTaskDlgt);\n this._invokeTaskCurrZone =\n zoneSpec && (zoneSpec.onInvokeTask ? this.zone : parentDelegate.zone);\n this._cancelTaskZS =\n zoneSpec && (zoneSpec.onCancelTask ? zoneSpec : parentDelegate._cancelTaskZS);\n this._cancelTaskDlgt =\n zoneSpec && (zoneSpec.onCancelTask ? parentDelegate : parentDelegate._cancelTaskDlgt);\n this._cancelTaskCurrZone =\n zoneSpec && (zoneSpec.onCancelTask ? this.zone : parentDelegate.zone);\n this._hasTaskZS = null;\n this._hasTaskDlgt = null;\n this._hasTaskDlgtOwner = null;\n this._hasTaskCurrZone = null;\n var zoneSpecHasTask = zoneSpec && zoneSpec.onHasTask;\n var parentHasTask = parentDelegate && parentDelegate._hasTaskZS;\n if (zoneSpecHasTask || parentHasTask) {\n // If we need to report hasTask, than this ZS needs to do ref counting on tasks. In such\n // a case all task related interceptors must go through this ZD. We can't short circuit it.\n this._hasTaskZS = zoneSpecHasTask ? zoneSpec : DELEGATE_ZS;\n this._hasTaskDlgt = parentDelegate;\n this._hasTaskDlgtOwner = this;\n this._hasTaskCurrZone = zone;\n if (!zoneSpec.onScheduleTask) {\n this._scheduleTaskZS = DELEGATE_ZS;\n this._scheduleTaskDlgt = parentDelegate;\n this._scheduleTaskCurrZone = this.zone;\n }\n if (!zoneSpec.onInvokeTask) {\n this._invokeTaskZS = DELEGATE_ZS;\n this._invokeTaskDlgt = parentDelegate;\n this._invokeTaskCurrZone = this.zone;\n }\n if (!zoneSpec.onCancelTask) {\n this._cancelTaskZS = DELEGATE_ZS;\n this._cancelTaskDlgt = parentDelegate;\n this._cancelTaskCurrZone = this.zone;\n }\n }\n }\n ZoneDelegate.prototype.fork = function (targetZone, zoneSpec) {\n return this._forkZS ? this._forkZS.onFork(this._forkDlgt, this.zone, targetZone, zoneSpec) :\n new Zone(targetZone, zoneSpec);\n };\n ZoneDelegate.prototype.intercept = function (targetZone, callback, source) {\n return this._interceptZS ?\n this._interceptZS.onIntercept(this._interceptDlgt, this._interceptCurrZone, targetZone, callback, source) :\n callback;\n };\n ZoneDelegate.prototype.invoke = function (targetZone, callback, applyThis, applyArgs, source) {\n return this._invokeZS ? this._invokeZS.onInvoke(this._invokeDlgt, this._invokeCurrZone, targetZone, callback, applyThis, applyArgs, source) :\n callback.apply(applyThis, applyArgs);\n };\n ZoneDelegate.prototype.handleError = function (targetZone, error) {\n return this._handleErrorZS ?\n this._handleErrorZS.onHandleError(this._handleErrorDlgt, this._handleErrorCurrZone, targetZone, error) :\n true;\n };\n ZoneDelegate.prototype.scheduleTask = function (targetZone, task) {\n var returnTask = task;\n if (this._scheduleTaskZS) {\n if (this._hasTaskZS) {\n returnTask._zoneDelegates.push(this._hasTaskDlgtOwner);\n }\n returnTask = this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt, this._scheduleTaskCurrZone, targetZone, task);\n if (!returnTask)\n returnTask = task;\n }\n else {\n if (task.scheduleFn) {\n task.scheduleFn(task);\n }\n else if (task.type == microTask) {\n scheduleMicroTask(task);\n }\n else {\n throw new Error('Task is missing scheduleFn.');\n }\n }\n return returnTask;\n };\n ZoneDelegate.prototype.invokeTask = function (targetZone, task, applyThis, applyArgs) {\n return this._invokeTaskZS ? this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt, this._invokeTaskCurrZone, targetZone, task, applyThis, applyArgs) :\n task.callback.apply(applyThis, applyArgs);\n };\n ZoneDelegate.prototype.cancelTask = function (targetZone, task) {\n var value;\n if (this._cancelTaskZS) {\n value = this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt, this._cancelTaskCurrZone, targetZone, task);\n }\n else {\n if (!task.cancelFn) {\n throw Error('Task is not cancelable');\n }\n value = task.cancelFn(task);\n }\n return value;\n };\n ZoneDelegate.prototype.hasTask = function (targetZone, isEmpty) {\n // hasTask should not throw error so other ZoneDelegate\n // can still trigger hasTask callback\n try {\n this._hasTaskZS &&\n this._hasTaskZS.onHasTask(this._hasTaskDlgt, this._hasTaskCurrZone, targetZone, isEmpty);\n }\n catch (err) {\n this.handleError(targetZone, err);\n }\n };\n ZoneDelegate.prototype._updateTaskCount = function (type, count) {\n var counts = this._taskCounts;\n var prev = counts[type];\n var next = counts[type] = prev + count;\n if (next < 0) {\n throw new Error('More tasks executed then were scheduled.');\n }\n if (prev == 0 || next == 0) {\n var isEmpty = {\n microTask: counts['microTask'] > 0,\n macroTask: counts['macroTask'] > 0,\n eventTask: counts['eventTask'] > 0,\n change: type\n };\n this.hasTask(this.zone, isEmpty);\n }\n };\n return ZoneDelegate;\n }());\n var ZoneTask = /** @class */ (function () {\n function ZoneTask(type, source, callback, options, scheduleFn, cancelFn) {\n this._zone = null;\n this.runCount = 0;\n this._zoneDelegates = null;\n this._state = 'notScheduled';\n this.type = type;\n this.source = source;\n this.data = options;\n this.scheduleFn = scheduleFn;\n this.cancelFn = cancelFn;\n this.callback = callback;\n var self = this;\n // TODO: @JiaLiPassion options should have interface\n if (type === eventTask && options && options.useG) {\n this.invoke = ZoneTask.invokeTask;\n }\n else {\n this.invoke = function () {\n return ZoneTask.invokeTask.call(global, self, this, arguments);\n };\n }\n }\n ZoneTask.invokeTask = function (task, target, args) {\n if (!task) {\n task = this;\n }\n _numberOfNestedTaskFrames++;\n try {\n task.runCount++;\n return task.zone.runTask(task, target, args);\n }\n finally {\n if (_numberOfNestedTaskFrames == 1) {\n drainMicroTaskQueue();\n }\n _numberOfNestedTaskFrames--;\n }\n };\n Object.defineProperty(ZoneTask.prototype, \"zone\", {\n get: function () {\n return this._zone;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ZoneTask.prototype, \"state\", {\n get: function () {\n return this._state;\n },\n enumerable: true,\n configurable: true\n });\n ZoneTask.prototype.cancelScheduleRequest = function () {\n this._transitionTo(notScheduled, scheduling);\n };\n ZoneTask.prototype._transitionTo = function (toState, fromState1, fromState2) {\n if (this._state === fromState1 || this._state === fromState2) {\n this._state = toState;\n if (toState == notScheduled) {\n this._zoneDelegates = null;\n }\n }\n else {\n throw new Error(this.type + \" '\" + this.source + \"': can not transition to '\" + toState + \"', expecting state '\" + fromState1 + \"'\" + (fromState2 ? ' or \\'' + fromState2 + '\\'' : '') + \", was '\" + this._state + \"'.\");\n }\n };\n ZoneTask.prototype.toString = function () {\n if (this.data && typeof this.data.handleId !== 'undefined') {\n return this.data.handleId.toString();\n }\n else {\n return Object.prototype.toString.call(this);\n }\n };\n // add toJSON method to prevent cyclic error when\n // call JSON.stringify(zoneTask)\n ZoneTask.prototype.toJSON = function () {\n return {\n type: this.type,\n state: this.state,\n source: this.source,\n zone: this.zone.name,\n runCount: this.runCount\n };\n };\n return ZoneTask;\n }());\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n /// MICROTASK QUEUE\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n var symbolSetTimeout = __symbol__('setTimeout');\n var symbolPromise = __symbol__('Promise');\n var symbolThen = __symbol__('then');\n var _microTaskQueue = [];\n var _isDrainingMicrotaskQueue = false;\n var nativeMicroTaskQueuePromise;\n function scheduleMicroTask(task) {\n // if we are not running in any task, and there has not been anything scheduled\n // we must bootstrap the initial task creation by manually scheduling the drain\n if (_numberOfNestedTaskFrames === 0 && _microTaskQueue.length === 0) {\n // We are not running in Task, so we need to kickstart the microtask queue.\n if (!nativeMicroTaskQueuePromise) {\n if (global[symbolPromise]) {\n nativeMicroTaskQueuePromise = global[symbolPromise].resolve(0);\n }\n }\n if (nativeMicroTaskQueuePromise) {\n var nativeThen = nativeMicroTaskQueuePromise[symbolThen];\n if (!nativeThen) {\n // native Promise is not patchable, we need to use `then` directly\n // issue 1078\n nativeThen = nativeMicroTaskQueuePromise['then'];\n }\n nativeThen.call(nativeMicroTaskQueuePromise, drainMicroTaskQueue);\n }\n else {\n global[symbolSetTimeout](drainMicroTaskQueue, 0);\n }\n }\n task && _microTaskQueue.push(task);\n }\n function drainMicroTaskQueue() {\n if (!_isDrainingMicrotaskQueue) {\n _isDrainingMicrotaskQueue = true;\n while (_microTaskQueue.length) {\n var queue = _microTaskQueue;\n _microTaskQueue = [];\n for (var i = 0; i < queue.length; i++) {\n var task = queue[i];\n try {\n task.zone.runTask(task, null, null);\n }\n catch (error) {\n _api.onUnhandledError(error);\n }\n }\n }\n _api.microtaskDrainDone();\n _isDrainingMicrotaskQueue = false;\n }\n }\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n /// BOOTSTRAP\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n var NO_ZONE = { name: 'NO ZONE' };\n var notScheduled = 'notScheduled', scheduling = 'scheduling', scheduled = 'scheduled', running = 'running', canceling = 'canceling', unknown = 'unknown';\n var microTask = 'microTask', macroTask = 'macroTask', eventTask = 'eventTask';\n var patches = {};\n var _api = {\n symbol: __symbol__,\n currentZoneFrame: function () { return _currentZoneFrame; },\n onUnhandledError: noop,\n microtaskDrainDone: noop,\n scheduleMicroTask: scheduleMicroTask,\n showUncaughtError: function () { return !Zone[__symbol__('ignoreConsoleErrorUncaughtError')]; },\n patchEventTarget: function () { return []; },\n patchOnProperties: noop,\n patchMethod: function () { return noop; },\n bindArguments: function () { return []; },\n patchThen: function () { return noop; },\n setNativePromise: function (NativePromise) {\n // sometimes NativePromise.resolve static function\n // is not ready yet, (such as core-js/es6.promise)\n // so we need to check here.\n if (NativePromise && typeof NativePromise.resolve === 'function') {\n nativeMicroTaskQueuePromise = NativePromise.resolve(0);\n }\n },\n };\n var _currentZoneFrame = { parent: null, zone: new Zone(null, null) };\n var _currentTask = null;\n var _numberOfNestedTaskFrames = 0;\n function noop() { }\n function __symbol__(name) {\n return '__zone_symbol__' + name;\n }\n performanceMeasure('Zone', 'Zone');\n return global['Zone'] = Zone;\n})(typeof window !== 'undefined' && window || typeof self !== 'undefined' && self || global);\n\nvar __values = (undefined && undefined.__values) || function (o) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\n if (m) return m.call(o);\n return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n};\nZone.__load_patch('ZoneAwarePromise', function (global, Zone, api) {\n var ObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n var ObjectDefineProperty = Object.defineProperty;\n function readableObjectToString(obj) {\n if (obj && obj.toString === Object.prototype.toString) {\n var className = obj.constructor && obj.constructor.name;\n return (className ? className : '') + ': ' + JSON.stringify(obj);\n }\n return obj ? obj.toString() : Object.prototype.toString.call(obj);\n }\n var __symbol__ = api.symbol;\n var _uncaughtPromiseErrors = [];\n var symbolPromise = __symbol__('Promise');\n var symbolThen = __symbol__('then');\n var creationTrace = '__creationTrace__';\n api.onUnhandledError = function (e) {\n if (api.showUncaughtError()) {\n var rejection = e && e.rejection;\n if (rejection) {\n console.error('Unhandled Promise rejection:', rejection instanceof Error ? rejection.message : rejection, '; Zone:', e.zone.name, '; Task:', e.task && e.task.source, '; Value:', rejection, rejection instanceof Error ? rejection.stack : undefined);\n }\n else {\n console.error(e);\n }\n }\n };\n api.microtaskDrainDone = function () {\n while (_uncaughtPromiseErrors.length) {\n var _loop_1 = function () {\n var uncaughtPromiseError = _uncaughtPromiseErrors.shift();\n try {\n uncaughtPromiseError.zone.runGuarded(function () {\n throw uncaughtPromiseError;\n });\n }\n catch (error) {\n handleUnhandledRejection(error);\n }\n };\n while (_uncaughtPromiseErrors.length) {\n _loop_1();\n }\n }\n };\n var UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL = __symbol__('unhandledPromiseRejectionHandler');\n function handleUnhandledRejection(e) {\n api.onUnhandledError(e);\n try {\n var handler = Zone[UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL];\n if (handler && typeof handler === 'function') {\n handler.call(this, e);\n }\n }\n catch (err) {\n }\n }\n function isThenable(value) {\n return value && value.then;\n }\n function forwardResolution(value) {\n return value;\n }\n function forwardRejection(rejection) {\n return ZoneAwarePromise.reject(rejection);\n }\n var symbolState = __symbol__('state');\n var symbolValue = __symbol__('value');\n var symbolFinally = __symbol__('finally');\n var symbolParentPromiseValue = __symbol__('parentPromiseValue');\n var symbolParentPromiseState = __symbol__('parentPromiseState');\n var source = 'Promise.then';\n var UNRESOLVED = null;\n var RESOLVED = true;\n var REJECTED = false;\n var REJECTED_NO_CATCH = 0;\n function makeResolver(promise, state) {\n return function (v) {\n try {\n resolvePromise(promise, state, v);\n }\n catch (err) {\n resolvePromise(promise, false, err);\n }\n // Do not return value or you will break the Promise spec.\n };\n }\n var once = function () {\n var wasCalled = false;\n return function wrapper(wrappedFunction) {\n return function () {\n if (wasCalled) {\n return;\n }\n wasCalled = true;\n wrappedFunction.apply(null, arguments);\n };\n };\n };\n var TYPE_ERROR = 'Promise resolved with itself';\n var CURRENT_TASK_TRACE_SYMBOL = __symbol__('currentTaskTrace');\n // Promise Resolution\n function resolvePromise(promise, state, value) {\n var onceWrapper = once();\n if (promise === value) {\n throw new TypeError(TYPE_ERROR);\n }\n if (promise[symbolState] === UNRESOLVED) {\n // should only get value.then once based on promise spec.\n var then = null;\n try {\n if (typeof value === 'object' || typeof value === 'function') {\n then = value && value.then;\n }\n }\n catch (err) {\n onceWrapper(function () {\n resolvePromise(promise, false, err);\n })();\n return promise;\n }\n // if (value instanceof ZoneAwarePromise) {\n if (state !== REJECTED && value instanceof ZoneAwarePromise &&\n value.hasOwnProperty(symbolState) && value.hasOwnProperty(symbolValue) &&\n value[symbolState] !== UNRESOLVED) {\n clearRejectedNoCatch(value);\n resolvePromise(promise, value[symbolState], value[symbolValue]);\n }\n else if (state !== REJECTED && typeof then === 'function') {\n try {\n then.call(value, onceWrapper(makeResolver(promise, state)), onceWrapper(makeResolver(promise, false)));\n }\n catch (err) {\n onceWrapper(function () {\n resolvePromise(promise, false, err);\n })();\n }\n }\n else {\n promise[symbolState] = state;\n var queue = promise[symbolValue];\n promise[symbolValue] = value;\n if (promise[symbolFinally] === symbolFinally) {\n // the promise is generated by Promise.prototype.finally\n if (state === RESOLVED) {\n // the state is resolved, should ignore the value\n // and use parent promise value\n promise[symbolState] = promise[symbolParentPromiseState];\n promise[symbolValue] = promise[symbolParentPromiseValue];\n }\n }\n // record task information in value when error occurs, so we can\n // do some additional work such as render longStackTrace\n if (state === REJECTED && value instanceof Error) {\n // check if longStackTraceZone is here\n var trace = Zone.currentTask && Zone.currentTask.data &&\n Zone.currentTask.data[creationTrace];\n if (trace) {\n // only keep the long stack trace into error when in longStackTraceZone\n ObjectDefineProperty(value, CURRENT_TASK_TRACE_SYMBOL, { configurable: true, enumerable: false, writable: true, value: trace });\n }\n }\n for (var i = 0; i < queue.length;) {\n scheduleResolveOrReject(promise, queue[i++], queue[i++], queue[i++], queue[i++]);\n }\n if (queue.length == 0 && state == REJECTED) {\n promise[symbolState] = REJECTED_NO_CATCH;\n try {\n // try to print more readable error log\n throw new Error('Uncaught (in promise): ' + readableObjectToString(value) +\n (value && value.stack ? '\\n' + value.stack : ''));\n }\n catch (err) {\n var error_1 = err;\n error_1.rejection = value;\n error_1.promise = promise;\n error_1.zone = Zone.current;\n error_1.task = Zone.currentTask;\n _uncaughtPromiseErrors.push(error_1);\n api.scheduleMicroTask(); // to make sure that it is running\n }\n }\n }\n }\n // Resolving an already resolved promise is a noop.\n return promise;\n }\n var REJECTION_HANDLED_HANDLER = __symbol__('rejectionHandledHandler');\n function clearRejectedNoCatch(promise) {\n if (promise[symbolState] === REJECTED_NO_CATCH) {\n // if the promise is rejected no catch status\n // and queue.length > 0, means there is a error handler\n // here to handle the rejected promise, we should trigger\n // windows.rejectionhandled eventHandler or nodejs rejectionHandled\n // eventHandler\n try {\n var handler = Zone[REJECTION_HANDLED_HANDLER];\n if (handler && typeof handler === 'function') {\n handler.call(this, { rejection: promise[symbolValue], promise: promise });\n }\n }\n catch (err) {\n }\n promise[symbolState] = REJECTED;\n for (var i = 0; i < _uncaughtPromiseErrors.length; i++) {\n if (promise === _uncaughtPromiseErrors[i].promise) {\n _uncaughtPromiseErrors.splice(i, 1);\n }\n }\n }\n }\n function scheduleResolveOrReject(promise, zone, chainPromise, onFulfilled, onRejected) {\n clearRejectedNoCatch(promise);\n var promiseState = promise[symbolState];\n var delegate = promiseState ?\n (typeof onFulfilled === 'function') ? onFulfilled : forwardResolution :\n (typeof onRejected === 'function') ? onRejected : forwardRejection;\n zone.scheduleMicroTask(source, function () {\n try {\n var parentPromiseValue = promise[symbolValue];\n var isFinallyPromise = chainPromise && symbolFinally === chainPromise[symbolFinally];\n if (isFinallyPromise) {\n // if the promise is generated from finally call, keep parent promise's state and value\n chainPromise[symbolParentPromiseValue] = parentPromiseValue;\n chainPromise[symbolParentPromiseState] = promiseState;\n }\n // should not pass value to finally callback\n var value = zone.run(delegate, undefined, isFinallyPromise && delegate !== forwardRejection && delegate !== forwardResolution ?\n [] :\n [parentPromiseValue]);\n resolvePromise(chainPromise, true, value);\n }\n catch (error) {\n // if error occurs, should always return this error\n resolvePromise(chainPromise, false, error);\n }\n }, chainPromise);\n }\n var ZONE_AWARE_PROMISE_TO_STRING = 'function ZoneAwarePromise() { [native code] }';\n var ZoneAwarePromise = /** @class */ (function () {\n function ZoneAwarePromise(executor) {\n var promise = this;\n if (!(promise instanceof ZoneAwarePromise)) {\n throw new Error('Must be an instanceof Promise.');\n }\n promise[symbolState] = UNRESOLVED;\n promise[symbolValue] = []; // queue;\n try {\n executor && executor(makeResolver(promise, RESOLVED), makeResolver(promise, REJECTED));\n }\n catch (error) {\n resolvePromise(promise, false, error);\n }\n }\n ZoneAwarePromise.toString = function () {\n return ZONE_AWARE_PROMISE_TO_STRING;\n };\n ZoneAwarePromise.resolve = function (value) {\n return resolvePromise(new this(null), RESOLVED, value);\n };\n ZoneAwarePromise.reject = function (error) {\n return resolvePromise(new this(null), REJECTED, error);\n };\n ZoneAwarePromise.race = function (values) {\n var e_1, _a;\n var resolve;\n var reject;\n var promise = new this(function (res, rej) {\n resolve = res;\n reject = rej;\n });\n function onResolve(value) {\n promise && (promise = null || resolve(value));\n }\n function onReject(error) {\n promise && (promise = null || reject(error));\n }\n try {\n for (var values_1 = __values(values), values_1_1 = values_1.next(); !values_1_1.done; values_1_1 = values_1.next()) {\n var value = values_1_1.value;\n if (!isThenable(value)) {\n value = this.resolve(value);\n }\n value.then(onResolve, onReject);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (values_1_1 && !values_1_1.done && (_a = values_1.return)) _a.call(values_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return promise;\n };\n ZoneAwarePromise.all = function (values) {\n var e_2, _a;\n var resolve;\n var reject;\n var promise = new this(function (res, rej) {\n resolve = res;\n reject = rej;\n });\n // Start at 2 to prevent prematurely resolving if .then is called immediately.\n var unresolvedCount = 2;\n var valueIndex = 0;\n var resolvedValues = [];\n var _loop_2 = function (value) {\n if (!isThenable(value)) {\n value = this_1.resolve(value);\n }\n var curValueIndex = valueIndex;\n value.then(function (value) {\n resolvedValues[curValueIndex] = value;\n unresolvedCount--;\n if (unresolvedCount === 0) {\n resolve(resolvedValues);\n }\n }, reject);\n unresolvedCount++;\n valueIndex++;\n };\n var this_1 = this;\n try {\n for (var values_2 = __values(values), values_2_1 = values_2.next(); !values_2_1.done; values_2_1 = values_2.next()) {\n var value = values_2_1.value;\n _loop_2(value);\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (values_2_1 && !values_2_1.done && (_a = values_2.return)) _a.call(values_2);\n }\n finally { if (e_2) throw e_2.error; }\n }\n // Make the unresolvedCount zero-based again.\n unresolvedCount -= 2;\n if (unresolvedCount === 0) {\n resolve(resolvedValues);\n }\n return promise;\n };\n ZoneAwarePromise.prototype.then = function (onFulfilled, onRejected) {\n var chainPromise = new this.constructor(null);\n var zone = Zone.current;\n if (this[symbolState] == UNRESOLVED) {\n this[symbolValue].push(zone, chainPromise, onFulfilled, onRejected);\n }\n else {\n scheduleResolveOrReject(this, zone, chainPromise, onFulfilled, onRejected);\n }\n return chainPromise;\n };\n ZoneAwarePromise.prototype.catch = function (onRejected) {\n return this.then(null, onRejected);\n };\n ZoneAwarePromise.prototype.finally = function (onFinally) {\n var chainPromise = new this.constructor(null);\n chainPromise[symbolFinally] = symbolFinally;\n var zone = Zone.current;\n if (this[symbolState] == UNRESOLVED) {\n this[symbolValue].push(zone, chainPromise, onFinally, onFinally);\n }\n else {\n scheduleResolveOrReject(this, zone, chainPromise, onFinally, onFinally);\n }\n return chainPromise;\n };\n return ZoneAwarePromise;\n }());\n // Protect against aggressive optimizers dropping seemingly unused properties.\n // E.g. Closure Compiler in advanced mode.\n ZoneAwarePromise['resolve'] = ZoneAwarePromise.resolve;\n ZoneAwarePromise['reject'] = ZoneAwarePromise.reject;\n ZoneAwarePromise['race'] = ZoneAwarePromise.race;\n ZoneAwarePromise['all'] = ZoneAwarePromise.all;\n var NativePromise = global[symbolPromise] = global['Promise'];\n var ZONE_AWARE_PROMISE = Zone.__symbol__('ZoneAwarePromise');\n var desc = ObjectGetOwnPropertyDescriptor(global, 'Promise');\n if (!desc || desc.configurable) {\n desc && delete desc.writable;\n desc && delete desc.value;\n if (!desc) {\n desc = { configurable: true, enumerable: true };\n }\n desc.get = function () {\n // if we already set ZoneAwarePromise, use patched one\n // otherwise return native one.\n return global[ZONE_AWARE_PROMISE] ? global[ZONE_AWARE_PROMISE] : global[symbolPromise];\n };\n desc.set = function (NewNativePromise) {\n if (NewNativePromise === ZoneAwarePromise) {\n // if the NewNativePromise is ZoneAwarePromise\n // save to global\n global[ZONE_AWARE_PROMISE] = NewNativePromise;\n }\n else {\n // if the NewNativePromise is not ZoneAwarePromise\n // for example: after load zone.js, some library just\n // set es6-promise to global, if we set it to global\n // directly, assertZonePatched will fail and angular\n // will not loaded, so we just set the NewNativePromise\n // to global[symbolPromise], so the result is just like\n // we load ES6 Promise before zone.js\n global[symbolPromise] = NewNativePromise;\n if (!NewNativePromise.prototype[symbolThen]) {\n patchThen(NewNativePromise);\n }\n api.setNativePromise(NewNativePromise);\n }\n };\n ObjectDefineProperty(global, 'Promise', desc);\n }\n global['Promise'] = ZoneAwarePromise;\n var symbolThenPatched = __symbol__('thenPatched');\n function patchThen(Ctor) {\n var proto = Ctor.prototype;\n var prop = ObjectGetOwnPropertyDescriptor(proto, 'then');\n if (prop && (prop.writable === false || !prop.configurable)) {\n // check Ctor.prototype.then propertyDescriptor is writable or not\n // in meteor env, writable is false, we should ignore such case\n return;\n }\n var originalThen = proto.then;\n // Keep a reference to the original method.\n proto[symbolThen] = originalThen;\n Ctor.prototype.then = function (onResolve, onReject) {\n var _this = this;\n var wrapped = new ZoneAwarePromise(function (resolve, reject) {\n originalThen.call(_this, resolve, reject);\n });\n return wrapped.then(onResolve, onReject);\n };\n Ctor[symbolThenPatched] = true;\n }\n api.patchThen = patchThen;\n if (NativePromise) {\n patchThen(NativePromise);\n }\n // This is not part of public API, but it is useful for tests, so we expose it.\n Promise[Zone.__symbol__('uncaughtPromiseErrors')] = _uncaughtPromiseErrors;\n return ZoneAwarePromise;\n});\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nZone.__load_patch('fetch', function (global, Zone, api) {\n var fetch = global['fetch'];\n var ZoneAwarePromise = global.Promise;\n var symbolThenPatched = api.symbol('thenPatched');\n var fetchTaskScheduling = api.symbol('fetchTaskScheduling');\n var fetchTaskAborting = api.symbol('fetchTaskAborting');\n if (typeof fetch !== 'function') {\n return;\n }\n var OriginalAbortController = global['AbortController'];\n var supportAbort = typeof OriginalAbortController === 'function';\n var abortNative = null;\n if (supportAbort) {\n global['AbortController'] = function () {\n var abortController = new OriginalAbortController();\n var signal = abortController.signal;\n signal.abortController = abortController;\n return abortController;\n };\n abortNative = api.patchMethod(OriginalAbortController.prototype, 'abort', function (delegate) { return function (self, args) {\n if (self.task) {\n return self.task.zone.cancelTask(self.task);\n }\n return delegate.apply(self, args);\n }; });\n }\n var placeholder = function () { };\n global['fetch'] = function () {\n var _this = this;\n var args = Array.prototype.slice.call(arguments);\n var options = args.length > 1 ? args[1] : null;\n var signal = options && options.signal;\n return new Promise(function (res, rej) {\n var task = Zone.current.scheduleMacroTask('fetch', placeholder, args, function () {\n var fetchPromise;\n var zone = Zone.current;\n try {\n zone[fetchTaskScheduling] = true;\n fetchPromise = fetch.apply(_this, args);\n }\n catch (error) {\n rej(error);\n return;\n }\n finally {\n zone[fetchTaskScheduling] = false;\n }\n if (!(fetchPromise instanceof ZoneAwarePromise)) {\n var ctor = fetchPromise.constructor;\n if (!ctor[symbolThenPatched]) {\n api.patchThen(ctor);\n }\n }\n fetchPromise.then(function (resource) {\n if (task.state !== 'notScheduled') {\n task.invoke();\n }\n res(resource);\n }, function (error) {\n if (task.state !== 'notScheduled') {\n task.invoke();\n }\n rej(error);\n });\n }, function () {\n if (!supportAbort) {\n rej('No AbortController supported, can not cancel fetch');\n return;\n }\n if (signal && signal.abortController && !signal.aborted &&\n typeof signal.abortController.abort === 'function' && abortNative) {\n try {\n Zone.current[fetchTaskAborting] = true;\n abortNative.call(signal.abortController);\n }\n finally {\n Zone.current[fetchTaskAborting] = false;\n }\n }\n else {\n rej('cancel fetch need a AbortController.signal');\n }\n });\n if (signal && signal.abortController) {\n signal.abortController.task = task;\n }\n });\n };\n});\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Suppress closure compiler errors about unknown 'Zone' variable\n * @fileoverview\n * @suppress {undefinedVars,globalThis,missingRequire}\n */\n// issue #989, to reduce bundle size, use short name\n/** Object.getOwnPropertyDescriptor */\nvar ObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n/** Object.defineProperty */\nvar ObjectDefineProperty = Object.defineProperty;\n/** Object.getPrototypeOf */\nvar ObjectGetPrototypeOf = Object.getPrototypeOf;\n/** Object.create */\nvar ObjectCreate = Object.create;\n/** Array.prototype.slice */\nvar ArraySlice = Array.prototype.slice;\n/** addEventListener string const */\nvar ADD_EVENT_LISTENER_STR = 'addEventListener';\n/** removeEventListener string const */\nvar REMOVE_EVENT_LISTENER_STR = 'removeEventListener';\n/** zoneSymbol addEventListener */\nvar ZONE_SYMBOL_ADD_EVENT_LISTENER = Zone.__symbol__(ADD_EVENT_LISTENER_STR);\n/** zoneSymbol removeEventListener */\nvar ZONE_SYMBOL_REMOVE_EVENT_LISTENER = Zone.__symbol__(REMOVE_EVENT_LISTENER_STR);\n/** true string const */\nvar TRUE_STR = 'true';\n/** false string const */\nvar FALSE_STR = 'false';\n/** __zone_symbol__ string const */\nvar ZONE_SYMBOL_PREFIX = '__zone_symbol__';\nfunction wrapWithCurrentZone(callback, source) {\n return Zone.current.wrap(callback, source);\n}\nfunction scheduleMacroTaskWithCurrentZone(source, callback, data, customSchedule, customCancel) {\n return Zone.current.scheduleMacroTask(source, callback, data, customSchedule, customCancel);\n}\nvar zoneSymbol = Zone.__symbol__;\nvar isWindowExists = typeof window !== 'undefined';\nvar internalWindow = isWindowExists ? window : undefined;\nvar _global = isWindowExists && internalWindow || typeof self === 'object' && self || global;\nvar REMOVE_ATTRIBUTE = 'removeAttribute';\nvar NULL_ON_PROP_VALUE = [null];\nfunction bindArguments(args, source) {\n for (var i = args.length - 1; i >= 0; i--) {\n if (typeof args[i] === 'function') {\n args[i] = wrapWithCurrentZone(args[i], source + '_' + i);\n }\n }\n return args;\n}\nfunction patchPrototype(prototype, fnNames) {\n var source = prototype.constructor['name'];\n var _loop_1 = function (i) {\n var name_1 = fnNames[i];\n var delegate = prototype[name_1];\n if (delegate) {\n var prototypeDesc = ObjectGetOwnPropertyDescriptor(prototype, name_1);\n if (!isPropertyWritable(prototypeDesc)) {\n return \"continue\";\n }\n prototype[name_1] = (function (delegate) {\n var patched = function () {\n return delegate.apply(this, bindArguments(arguments, source + '.' + name_1));\n };\n attachOriginToPatched(patched, delegate);\n return patched;\n })(delegate);\n }\n };\n for (var i = 0; i < fnNames.length; i++) {\n _loop_1(i);\n }\n}\nfunction isPropertyWritable(propertyDesc) {\n if (!propertyDesc) {\n return true;\n }\n if (propertyDesc.writable === false) {\n return false;\n }\n return !(typeof propertyDesc.get === 'function' && typeof propertyDesc.set === 'undefined');\n}\nvar isWebWorker = (typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope);\n// Make sure to access `process` through `_global` so that WebPack does not accidentally browserify\n// this code.\nvar isNode = (!('nw' in _global) && typeof _global.process !== 'undefined' &&\n {}.toString.call(_global.process) === '[object process]');\nvar isBrowser = !isNode && !isWebWorker && !!(isWindowExists && internalWindow['HTMLElement']);\n// we are in electron of nw, so we are both browser and nodejs\n// Make sure to access `process` through `_global` so that WebPack does not accidentally browserify\n// this code.\nvar isMix = typeof _global.process !== 'undefined' &&\n {}.toString.call(_global.process) === '[object process]' && !isWebWorker &&\n !!(isWindowExists && internalWindow['HTMLElement']);\nvar zoneSymbolEventNames = {};\nvar wrapFn = function (event) {\n // https://github.com/angular/zone.js/issues/911, in IE, sometimes\n // event will be undefined, so we need to use window.event\n event = event || _global.event;\n if (!event) {\n return;\n }\n var eventNameSymbol = zoneSymbolEventNames[event.type];\n if (!eventNameSymbol) {\n eventNameSymbol = zoneSymbolEventNames[event.type] = zoneSymbol('ON_PROPERTY' + event.type);\n }\n var target = this || event.target || _global;\n var listener = target[eventNameSymbol];\n var result;\n if (isBrowser && target === internalWindow && event.type === 'error') {\n // window.onerror have different signiture\n // https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onerror#window.onerror\n // and onerror callback will prevent default when callback return true\n var errorEvent = event;\n result = listener &&\n listener.call(this, errorEvent.message, errorEvent.filename, errorEvent.lineno, errorEvent.colno, errorEvent.error);\n if (result === true) {\n event.preventDefault();\n }\n }\n else {\n result = listener && listener.apply(this, arguments);\n if (result != undefined && !result) {\n event.preventDefault();\n }\n }\n return result;\n};\nfunction patchProperty(obj, prop, prototype) {\n var desc = ObjectGetOwnPropertyDescriptor(obj, prop);\n if (!desc && prototype) {\n // when patch window object, use prototype to check prop exist or not\n var prototypeDesc = ObjectGetOwnPropertyDescriptor(prototype, prop);\n if (prototypeDesc) {\n desc = { enumerable: true, configurable: true };\n }\n }\n // if the descriptor not exists or is not configurable\n // just return\n if (!desc || !desc.configurable) {\n return;\n }\n var onPropPatchedSymbol = zoneSymbol('on' + prop + 'patched');\n if (obj.hasOwnProperty(onPropPatchedSymbol) && obj[onPropPatchedSymbol]) {\n return;\n }\n // A property descriptor cannot have getter/setter and be writable\n // deleting the writable and value properties avoids this error:\n //\n // TypeError: property descriptors must not specify a value or be writable when a\n // getter or setter has been specified\n delete desc.writable;\n delete desc.value;\n var originalDescGet = desc.get;\n var originalDescSet = desc.set;\n // substr(2) cuz 'onclick' -> 'click', etc\n var eventName = prop.substr(2);\n var eventNameSymbol = zoneSymbolEventNames[eventName];\n if (!eventNameSymbol) {\n eventNameSymbol = zoneSymbolEventNames[eventName] = zoneSymbol('ON_PROPERTY' + eventName);\n }\n desc.set = function (newValue) {\n // in some of windows's onproperty callback, this is undefined\n // so we need to check it\n var target = this;\n if (!target && obj === _global) {\n target = _global;\n }\n if (!target) {\n return;\n }\n var previousValue = target[eventNameSymbol];\n if (previousValue) {\n target.removeEventListener(eventName, wrapFn);\n }\n // issue #978, when onload handler was added before loading zone.js\n // we should remove it with originalDescSet\n if (originalDescSet) {\n originalDescSet.apply(target, NULL_ON_PROP_VALUE);\n }\n if (typeof newValue === 'function') {\n target[eventNameSymbol] = newValue;\n target.addEventListener(eventName, wrapFn, false);\n }\n else {\n target[eventNameSymbol] = null;\n }\n };\n // The getter would return undefined for unassigned properties but the default value of an\n // unassigned property is null\n desc.get = function () {\n // in some of windows's onproperty callback, this is undefined\n // so we need to check it\n var target = this;\n if (!target && obj === _global) {\n target = _global;\n }\n if (!target) {\n return null;\n }\n var listener = target[eventNameSymbol];\n if (listener) {\n return listener;\n }\n else if (originalDescGet) {\n // result will be null when use inline event attribute,\n // such as \n // because the onclick function is internal raw uncompiled handler\n // the onclick will be evaluated when first time event was triggered or\n // the property is accessed, https://github.com/angular/zone.js/issues/525\n // so we should use original native get to retrieve the handler\n var value = originalDescGet && originalDescGet.call(this);\n if (value) {\n desc.set.call(this, value);\n if (typeof target[REMOVE_ATTRIBUTE] === 'function') {\n target.removeAttribute(prop);\n }\n return value;\n }\n }\n return null;\n };\n ObjectDefineProperty(obj, prop, desc);\n obj[onPropPatchedSymbol] = true;\n}\nfunction patchOnProperties(obj, properties, prototype) {\n if (properties) {\n for (var i = 0; i < properties.length; i++) {\n patchProperty(obj, 'on' + properties[i], prototype);\n }\n }\n else {\n var onProperties = [];\n for (var prop in obj) {\n if (prop.substr(0, 2) == 'on') {\n onProperties.push(prop);\n }\n }\n for (var j = 0; j < onProperties.length; j++) {\n patchProperty(obj, onProperties[j], prototype);\n }\n }\n}\nvar originalInstanceKey = zoneSymbol('originalInstance');\n// wrap some native API on `window`\nfunction patchClass(className) {\n var OriginalClass = _global[className];\n if (!OriginalClass)\n return;\n // keep original class in global\n _global[zoneSymbol(className)] = OriginalClass;\n _global[className] = function () {\n var a = bindArguments(arguments, className);\n switch (a.length) {\n case 0:\n this[originalInstanceKey] = new OriginalClass();\n break;\n case 1:\n this[originalInstanceKey] = new OriginalClass(a[0]);\n break;\n case 2:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1]);\n break;\n case 3:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2]);\n break;\n case 4:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2], a[3]);\n break;\n default:\n throw new Error('Arg list too long.');\n }\n };\n // attach original delegate to patched function\n attachOriginToPatched(_global[className], OriginalClass);\n var instance = new OriginalClass(function () { });\n var prop;\n for (prop in instance) {\n // https://bugs.webkit.org/show_bug.cgi?id=44721\n if (className === 'XMLHttpRequest' && prop === 'responseBlob')\n continue;\n (function (prop) {\n if (typeof instance[prop] === 'function') {\n _global[className].prototype[prop] = function () {\n return this[originalInstanceKey][prop].apply(this[originalInstanceKey], arguments);\n };\n }\n else {\n ObjectDefineProperty(_global[className].prototype, prop, {\n set: function (fn) {\n if (typeof fn === 'function') {\n this[originalInstanceKey][prop] = wrapWithCurrentZone(fn, className + '.' + prop);\n // keep callback in wrapped function so we can\n // use it in Function.prototype.toString to return\n // the native one.\n attachOriginToPatched(this[originalInstanceKey][prop], fn);\n }\n else {\n this[originalInstanceKey][prop] = fn;\n }\n },\n get: function () {\n return this[originalInstanceKey][prop];\n }\n });\n }\n }(prop));\n }\n for (prop in OriginalClass) {\n if (prop !== 'prototype' && OriginalClass.hasOwnProperty(prop)) {\n _global[className][prop] = OriginalClass[prop];\n }\n }\n}\nfunction copySymbolProperties(src, dest) {\n if (typeof Object.getOwnPropertySymbols !== 'function') {\n return;\n }\n var symbols = Object.getOwnPropertySymbols(src);\n symbols.forEach(function (symbol) {\n var desc = Object.getOwnPropertyDescriptor(src, symbol);\n Object.defineProperty(dest, symbol, {\n get: function () {\n return src[symbol];\n },\n set: function (value) {\n if (desc && (!desc.writable || typeof desc.set !== 'function')) {\n // if src[symbol] is not writable or not have a setter, just return\n return;\n }\n src[symbol] = value;\n },\n enumerable: desc ? desc.enumerable : true,\n configurable: desc ? desc.configurable : true\n });\n });\n}\nvar shouldCopySymbolProperties = false;\n\nfunction patchMethod(target, name, patchFn) {\n var proto = target;\n while (proto && !proto.hasOwnProperty(name)) {\n proto = ObjectGetPrototypeOf(proto);\n }\n if (!proto && target[name]) {\n // somehow we did not find it, but we can see it. This happens on IE for Window properties.\n proto = target;\n }\n var delegateName = zoneSymbol(name);\n var delegate = null;\n if (proto && !(delegate = proto[delegateName])) {\n delegate = proto[delegateName] = proto[name];\n // check whether proto[name] is writable\n // some property is readonly in safari, such as HtmlCanvasElement.prototype.toBlob\n var desc = proto && ObjectGetOwnPropertyDescriptor(proto, name);\n if (isPropertyWritable(desc)) {\n var patchDelegate_1 = patchFn(delegate, delegateName, name);\n proto[name] = function () {\n return patchDelegate_1(this, arguments);\n };\n attachOriginToPatched(proto[name], delegate);\n if (shouldCopySymbolProperties) {\n copySymbolProperties(delegate, proto[name]);\n }\n }\n }\n return delegate;\n}\n// TODO: @JiaLiPassion, support cancel task later if necessary\nfunction patchMacroTask(obj, funcName, metaCreator) {\n var setNative = null;\n function scheduleTask(task) {\n var data = task.data;\n data.args[data.cbIdx] = function () {\n task.invoke.apply(this, arguments);\n };\n setNative.apply(data.target, data.args);\n return task;\n }\n setNative = patchMethod(obj, funcName, function (delegate) { return function (self, args) {\n var meta = metaCreator(self, args);\n if (meta.cbIdx >= 0 && typeof args[meta.cbIdx] === 'function') {\n return scheduleMacroTaskWithCurrentZone(meta.name, args[meta.cbIdx], meta, scheduleTask);\n }\n else {\n // cause an error by calling it directly.\n return delegate.apply(self, args);\n }\n }; });\n}\n\nfunction attachOriginToPatched(patched, original) {\n patched[zoneSymbol('OriginalDelegate')] = original;\n}\nvar isDetectedIEOrEdge = false;\nvar ieOrEdge = false;\nfunction isIE() {\n try {\n var ua = internalWindow.navigator.userAgent;\n if (ua.indexOf('MSIE ') !== -1 || ua.indexOf('Trident/') !== -1) {\n return true;\n }\n }\n catch (error) {\n }\n return false;\n}\nfunction isIEOrEdge() {\n if (isDetectedIEOrEdge) {\n return ieOrEdge;\n }\n isDetectedIEOrEdge = true;\n try {\n var ua = internalWindow.navigator.userAgent;\n if (ua.indexOf('MSIE ') !== -1 || ua.indexOf('Trident/') !== -1 || ua.indexOf('Edge/') !== -1) {\n ieOrEdge = true;\n }\n return ieOrEdge;\n }\n catch (error) {\n }\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// override Function.prototype.toString to make zone.js patched function\n// look like native function\nZone.__load_patch('toString', function (global) {\n // patch Func.prototype.toString to let them look like native\n var originalFunctionToString = Function.prototype.toString;\n var ORIGINAL_DELEGATE_SYMBOL = zoneSymbol('OriginalDelegate');\n var PROMISE_SYMBOL = zoneSymbol('Promise');\n var ERROR_SYMBOL = zoneSymbol('Error');\n var newFunctionToString = function toString() {\n if (typeof this === 'function') {\n var originalDelegate = this[ORIGINAL_DELEGATE_SYMBOL];\n if (originalDelegate) {\n if (typeof originalDelegate === 'function') {\n return originalFunctionToString.apply(this[ORIGINAL_DELEGATE_SYMBOL], arguments);\n }\n else {\n return Object.prototype.toString.call(originalDelegate);\n }\n }\n if (this === Promise) {\n var nativePromise = global[PROMISE_SYMBOL];\n if (nativePromise) {\n return originalFunctionToString.apply(nativePromise, arguments);\n }\n }\n if (this === Error) {\n var nativeError = global[ERROR_SYMBOL];\n if (nativeError) {\n return originalFunctionToString.apply(nativeError, arguments);\n }\n }\n }\n return originalFunctionToString.apply(this, arguments);\n };\n newFunctionToString[ORIGINAL_DELEGATE_SYMBOL] = originalFunctionToString;\n Function.prototype.toString = newFunctionToString;\n // patch Object.prototype.toString to let them look like native\n var originalObjectToString = Object.prototype.toString;\n var PROMISE_OBJECT_TO_STRING = '[object Promise]';\n Object.prototype.toString = function () {\n if (this instanceof Promise) {\n return PROMISE_OBJECT_TO_STRING;\n }\n return originalObjectToString.apply(this, arguments);\n };\n});\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @fileoverview\n * @suppress {missingRequire}\n */\nvar passiveSupported = false;\nif (typeof window !== 'undefined') {\n try {\n var options = Object.defineProperty({}, 'passive', {\n get: function () {\n passiveSupported = true;\n }\n });\n window.addEventListener('test', options, options);\n window.removeEventListener('test', options, options);\n }\n catch (err) {\n passiveSupported = false;\n }\n}\n// an identifier to tell ZoneTask do not create a new invoke closure\nvar OPTIMIZED_ZONE_EVENT_TASK_DATA = {\n useG: true\n};\nvar zoneSymbolEventNames$1 = {};\nvar globalSources = {};\nvar EVENT_NAME_SYMBOL_REGX = /^__zone_symbol__(\\w+)(true|false)$/;\nvar IMMEDIATE_PROPAGATION_SYMBOL = ('__zone_symbol__propagationStopped');\nfunction patchEventTarget(_global, apis, patchOptions) {\n var ADD_EVENT_LISTENER = (patchOptions && patchOptions.add) || ADD_EVENT_LISTENER_STR;\n var REMOVE_EVENT_LISTENER = (patchOptions && patchOptions.rm) || REMOVE_EVENT_LISTENER_STR;\n var LISTENERS_EVENT_LISTENER = (patchOptions && patchOptions.listeners) || 'eventListeners';\n var REMOVE_ALL_LISTENERS_EVENT_LISTENER = (patchOptions && patchOptions.rmAll) || 'removeAllListeners';\n var zoneSymbolAddEventListener = zoneSymbol(ADD_EVENT_LISTENER);\n var ADD_EVENT_LISTENER_SOURCE = '.' + ADD_EVENT_LISTENER + ':';\n var PREPEND_EVENT_LISTENER = 'prependListener';\n var PREPEND_EVENT_LISTENER_SOURCE = '.' + PREPEND_EVENT_LISTENER + ':';\n var invokeTask = function (task, target, event) {\n // for better performance, check isRemoved which is set\n // by removeEventListener\n if (task.isRemoved) {\n return;\n }\n var delegate = task.callback;\n if (typeof delegate === 'object' && delegate.handleEvent) {\n // create the bind version of handleEvent when invoke\n task.callback = function (event) { return delegate.handleEvent(event); };\n task.originalDelegate = delegate;\n }\n // invoke static task.invoke\n task.invoke(task, target, [event]);\n var options = task.options;\n if (options && typeof options === 'object' && options.once) {\n // if options.once is true, after invoke once remove listener here\n // only browser need to do this, nodejs eventEmitter will cal removeListener\n // inside EventEmitter.once\n var delegate_1 = task.originalDelegate ? task.originalDelegate : task.callback;\n target[REMOVE_EVENT_LISTENER].call(target, event.type, delegate_1, options);\n }\n };\n // global shared zoneAwareCallback to handle all event callback with capture = false\n var globalZoneAwareCallback = function (event) {\n // https://github.com/angular/zone.js/issues/911, in IE, sometimes\n // event will be undefined, so we need to use window.event\n event = event || _global.event;\n if (!event) {\n return;\n }\n // event.target is needed for Samsung TV and SourceBuffer\n // || global is needed https://github.com/angular/zone.js/issues/190\n var target = this || event.target || _global;\n var tasks = target[zoneSymbolEventNames$1[event.type][FALSE_STR]];\n if (tasks) {\n // invoke all tasks which attached to current target with given event.type and capture = false\n // for performance concern, if task.length === 1, just invoke\n if (tasks.length === 1) {\n invokeTask(tasks[0], target, event);\n }\n else {\n // https://github.com/angular/zone.js/issues/836\n // copy the tasks array before invoke, to avoid\n // the callback will remove itself or other listener\n var copyTasks = tasks.slice();\n for (var i = 0; i < copyTasks.length; i++) {\n if (event && event[IMMEDIATE_PROPAGATION_SYMBOL] === true) {\n break;\n }\n invokeTask(copyTasks[i], target, event);\n }\n }\n }\n };\n // global shared zoneAwareCallback to handle all event callback with capture = true\n var globalZoneAwareCaptureCallback = function (event) {\n // https://github.com/angular/zone.js/issues/911, in IE, sometimes\n // event will be undefined, so we need to use window.event\n event = event || _global.event;\n if (!event) {\n return;\n }\n // event.target is needed for Samsung TV and SourceBuffer\n // || global is needed https://github.com/angular/zone.js/issues/190\n var target = this || event.target || _global;\n var tasks = target[zoneSymbolEventNames$1[event.type][TRUE_STR]];\n if (tasks) {\n // invoke all tasks which attached to current target with given event.type and capture = false\n // for performance concern, if task.length === 1, just invoke\n if (tasks.length === 1) {\n invokeTask(tasks[0], target, event);\n }\n else {\n // https://github.com/angular/zone.js/issues/836\n // copy the tasks array before invoke, to avoid\n // the callback will remove itself or other listener\n var copyTasks = tasks.slice();\n for (var i = 0; i < copyTasks.length; i++) {\n if (event && event[IMMEDIATE_PROPAGATION_SYMBOL] === true) {\n break;\n }\n invokeTask(copyTasks[i], target, event);\n }\n }\n }\n };\n function patchEventTargetMethods(obj, patchOptions) {\n if (!obj) {\n return false;\n }\n var useGlobalCallback = true;\n if (patchOptions && patchOptions.useG !== undefined) {\n useGlobalCallback = patchOptions.useG;\n }\n var validateHandler = patchOptions && patchOptions.vh;\n var checkDuplicate = true;\n if (patchOptions && patchOptions.chkDup !== undefined) {\n checkDuplicate = patchOptions.chkDup;\n }\n var returnTarget = false;\n if (patchOptions && patchOptions.rt !== undefined) {\n returnTarget = patchOptions.rt;\n }\n var proto = obj;\n while (proto && !proto.hasOwnProperty(ADD_EVENT_LISTENER)) {\n proto = ObjectGetPrototypeOf(proto);\n }\n if (!proto && obj[ADD_EVENT_LISTENER]) {\n // somehow we did not find it, but we can see it. This happens on IE for Window properties.\n proto = obj;\n }\n if (!proto) {\n return false;\n }\n if (proto[zoneSymbolAddEventListener]) {\n return false;\n }\n var eventNameToString = patchOptions && patchOptions.eventNameToString;\n // a shared global taskData to pass data for scheduleEventTask\n // so we do not need to create a new object just for pass some data\n var taskData = {};\n var nativeAddEventListener = proto[zoneSymbolAddEventListener] = proto[ADD_EVENT_LISTENER];\n var nativeRemoveEventListener = proto[zoneSymbol(REMOVE_EVENT_LISTENER)] =\n proto[REMOVE_EVENT_LISTENER];\n var nativeListeners = proto[zoneSymbol(LISTENERS_EVENT_LISTENER)] =\n proto[LISTENERS_EVENT_LISTENER];\n var nativeRemoveAllListeners = proto[zoneSymbol(REMOVE_ALL_LISTENERS_EVENT_LISTENER)] =\n proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER];\n var nativePrependEventListener;\n if (patchOptions && patchOptions.prepend) {\n nativePrependEventListener = proto[zoneSymbol(patchOptions.prepend)] =\n proto[patchOptions.prepend];\n }\n function checkIsPassive(task) {\n if (!passiveSupported && typeof taskData.options !== 'boolean' &&\n typeof taskData.options !== 'undefined' && taskData.options !== null) {\n // options is a non-null non-undefined object\n // passive is not supported\n // don't pass options as object\n // just pass capture as a boolean\n task.options = !!taskData.options.capture;\n taskData.options = task.options;\n }\n }\n var customScheduleGlobal = function (task) {\n // if there is already a task for the eventName + capture,\n // just return, because we use the shared globalZoneAwareCallback here.\n if (taskData.isExisting) {\n return;\n }\n checkIsPassive(task);\n return nativeAddEventListener.call(taskData.target, taskData.eventName, taskData.capture ? globalZoneAwareCaptureCallback : globalZoneAwareCallback, taskData.options);\n };\n var customCancelGlobal = function (task) {\n // if task is not marked as isRemoved, this call is directly\n // from Zone.prototype.cancelTask, we should remove the task\n // from tasksList of target first\n if (!task.isRemoved) {\n var symbolEventNames = zoneSymbolEventNames$1[task.eventName];\n var symbolEventName = void 0;\n if (symbolEventNames) {\n symbolEventName = symbolEventNames[task.capture ? TRUE_STR : FALSE_STR];\n }\n var existingTasks = symbolEventName && task.target[symbolEventName];\n if (existingTasks) {\n for (var i = 0; i < existingTasks.length; i++) {\n var existingTask = existingTasks[i];\n if (existingTask === task) {\n existingTasks.splice(i, 1);\n // set isRemoved to data for faster invokeTask check\n task.isRemoved = true;\n if (existingTasks.length === 0) {\n // all tasks for the eventName + capture have gone,\n // remove globalZoneAwareCallback and remove the task cache from target\n task.allRemoved = true;\n task.target[symbolEventName] = null;\n }\n break;\n }\n }\n }\n }\n // if all tasks for the eventName + capture have gone,\n // we will really remove the global event callback,\n // if not, return\n if (!task.allRemoved) {\n return;\n }\n return nativeRemoveEventListener.call(task.target, task.eventName, task.capture ? globalZoneAwareCaptureCallback : globalZoneAwareCallback, task.options);\n };\n var customScheduleNonGlobal = function (task) {\n checkIsPassive(task);\n return nativeAddEventListener.call(taskData.target, taskData.eventName, task.invoke, taskData.options);\n };\n var customSchedulePrepend = function (task) {\n return nativePrependEventListener.call(taskData.target, taskData.eventName, task.invoke, taskData.options);\n };\n var customCancelNonGlobal = function (task) {\n return nativeRemoveEventListener.call(task.target, task.eventName, task.invoke, task.options);\n };\n var customSchedule = useGlobalCallback ? customScheduleGlobal : customScheduleNonGlobal;\n var customCancel = useGlobalCallback ? customCancelGlobal : customCancelNonGlobal;\n var compareTaskCallbackVsDelegate = function (task, delegate) {\n var typeOfDelegate = typeof delegate;\n return (typeOfDelegate === 'function' && task.callback === delegate) ||\n (typeOfDelegate === 'object' && task.originalDelegate === delegate);\n };\n var compare = (patchOptions && patchOptions.diff) ? patchOptions.diff : compareTaskCallbackVsDelegate;\n var blackListedEvents = Zone[Zone.__symbol__('BLACK_LISTED_EVENTS')];\n var makeAddListener = function (nativeListener, addSource, customScheduleFn, customCancelFn, returnTarget, prepend) {\n if (returnTarget === void 0) { returnTarget = false; }\n if (prepend === void 0) { prepend = false; }\n return function () {\n var target = this || _global;\n var eventName = arguments[0];\n var delegate = arguments[1];\n if (!delegate) {\n return nativeListener.apply(this, arguments);\n }\n if (isNode && eventName === 'uncaughtException') {\n // don't patch uncaughtException of nodejs to prevent endless loop\n return nativeListener.apply(this, arguments);\n }\n // don't create the bind delegate function for handleEvent\n // case here to improve addEventListener performance\n // we will create the bind delegate when invoke\n var isHandleEvent = false;\n if (typeof delegate !== 'function') {\n if (!delegate.handleEvent) {\n return nativeListener.apply(this, arguments);\n }\n isHandleEvent = true;\n }\n if (validateHandler && !validateHandler(nativeListener, delegate, target, arguments)) {\n return;\n }\n var options = arguments[2];\n if (blackListedEvents) {\n // check black list\n for (var i = 0; i < blackListedEvents.length; i++) {\n if (eventName === blackListedEvents[i]) {\n return nativeListener.apply(this, arguments);\n }\n }\n }\n var capture;\n var once = false;\n if (options === undefined) {\n capture = false;\n }\n else if (options === true) {\n capture = true;\n }\n else if (options === false) {\n capture = false;\n }\n else {\n capture = options ? !!options.capture : false;\n once = options ? !!options.once : false;\n }\n var zone = Zone.current;\n var symbolEventNames = zoneSymbolEventNames$1[eventName];\n var symbolEventName;\n if (!symbolEventNames) {\n // the code is duplicate, but I just want to get some better performance\n var falseEventName = (eventNameToString ? eventNameToString(eventName) : eventName) + FALSE_STR;\n var trueEventName = (eventNameToString ? eventNameToString(eventName) : eventName) + TRUE_STR;\n var symbol = ZONE_SYMBOL_PREFIX + falseEventName;\n var symbolCapture = ZONE_SYMBOL_PREFIX + trueEventName;\n zoneSymbolEventNames$1[eventName] = {};\n zoneSymbolEventNames$1[eventName][FALSE_STR] = symbol;\n zoneSymbolEventNames$1[eventName][TRUE_STR] = symbolCapture;\n symbolEventName = capture ? symbolCapture : symbol;\n }\n else {\n symbolEventName = symbolEventNames[capture ? TRUE_STR : FALSE_STR];\n }\n var existingTasks = target[symbolEventName];\n var isExisting = false;\n if (existingTasks) {\n // already have task registered\n isExisting = true;\n if (checkDuplicate) {\n for (var i = 0; i < existingTasks.length; i++) {\n if (compare(existingTasks[i], delegate)) {\n // same callback, same capture, same event name, just return\n return;\n }\n }\n }\n }\n else {\n existingTasks = target[symbolEventName] = [];\n }\n var source;\n var constructorName = target.constructor['name'];\n var targetSource = globalSources[constructorName];\n if (targetSource) {\n source = targetSource[eventName];\n }\n if (!source) {\n source = constructorName + addSource +\n (eventNameToString ? eventNameToString(eventName) : eventName);\n }\n // do not create a new object as task.data to pass those things\n // just use the global shared one\n taskData.options = options;\n if (once) {\n // if addEventListener with once options, we don't pass it to\n // native addEventListener, instead we keep the once setting\n // and handle ourselves.\n taskData.options.once = false;\n }\n taskData.target = target;\n taskData.capture = capture;\n taskData.eventName = eventName;\n taskData.isExisting = isExisting;\n var data = useGlobalCallback ? OPTIMIZED_ZONE_EVENT_TASK_DATA : undefined;\n // keep taskData into data to allow onScheduleEventTask to access the task information\n if (data) {\n data.taskData = taskData;\n }\n var task = zone.scheduleEventTask(source, delegate, data, customScheduleFn, customCancelFn);\n // should clear taskData.target to avoid memory leak\n // issue, https://github.com/angular/angular/issues/20442\n taskData.target = null;\n // need to clear up taskData because it is a global object\n if (data) {\n data.taskData = null;\n }\n // have to save those information to task in case\n // application may call task.zone.cancelTask() directly\n if (once) {\n options.once = true;\n }\n if (!(!passiveSupported && typeof task.options === 'boolean')) {\n // if not support passive, and we pass an option object\n // to addEventListener, we should save the options to task\n task.options = options;\n }\n task.target = target;\n task.capture = capture;\n task.eventName = eventName;\n if (isHandleEvent) {\n // save original delegate for compare to check duplicate\n task.originalDelegate = delegate;\n }\n if (!prepend) {\n existingTasks.push(task);\n }\n else {\n existingTasks.unshift(task);\n }\n if (returnTarget) {\n return target;\n }\n };\n };\n proto[ADD_EVENT_LISTENER] = makeAddListener(nativeAddEventListener, ADD_EVENT_LISTENER_SOURCE, customSchedule, customCancel, returnTarget);\n if (nativePrependEventListener) {\n proto[PREPEND_EVENT_LISTENER] = makeAddListener(nativePrependEventListener, PREPEND_EVENT_LISTENER_SOURCE, customSchedulePrepend, customCancel, returnTarget, true);\n }\n proto[REMOVE_EVENT_LISTENER] = function () {\n var target = this || _global;\n var eventName = arguments[0];\n var options = arguments[2];\n var capture;\n if (options === undefined) {\n capture = false;\n }\n else if (options === true) {\n capture = true;\n }\n else if (options === false) {\n capture = false;\n }\n else {\n capture = options ? !!options.capture : false;\n }\n var delegate = arguments[1];\n if (!delegate) {\n return nativeRemoveEventListener.apply(this, arguments);\n }\n if (validateHandler &&\n !validateHandler(nativeRemoveEventListener, delegate, target, arguments)) {\n return;\n }\n var symbolEventNames = zoneSymbolEventNames$1[eventName];\n var symbolEventName;\n if (symbolEventNames) {\n symbolEventName = symbolEventNames[capture ? TRUE_STR : FALSE_STR];\n }\n var existingTasks = symbolEventName && target[symbolEventName];\n if (existingTasks) {\n for (var i = 0; i < existingTasks.length; i++) {\n var existingTask = existingTasks[i];\n if (compare(existingTask, delegate)) {\n existingTasks.splice(i, 1);\n // set isRemoved to data for faster invokeTask check\n existingTask.isRemoved = true;\n if (existingTasks.length === 0) {\n // all tasks for the eventName + capture have gone,\n // remove globalZoneAwareCallback and remove the task cache from target\n existingTask.allRemoved = true;\n target[symbolEventName] = null;\n }\n existingTask.zone.cancelTask(existingTask);\n if (returnTarget) {\n return target;\n }\n return;\n }\n }\n }\n // issue 930, didn't find the event name or callback\n // from zone kept existingTasks, the callback maybe\n // added outside of zone, we need to call native removeEventListener\n // to try to remove it.\n return nativeRemoveEventListener.apply(this, arguments);\n };\n proto[LISTENERS_EVENT_LISTENER] = function () {\n var target = this || _global;\n var eventName = arguments[0];\n var listeners = [];\n var tasks = findEventTasks(target, eventNameToString ? eventNameToString(eventName) : eventName);\n for (var i = 0; i < tasks.length; i++) {\n var task = tasks[i];\n var delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n listeners.push(delegate);\n }\n return listeners;\n };\n proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER] = function () {\n var target = this || _global;\n var eventName = arguments[0];\n if (!eventName) {\n var keys = Object.keys(target);\n for (var i = 0; i < keys.length; i++) {\n var prop = keys[i];\n var match = EVENT_NAME_SYMBOL_REGX.exec(prop);\n var evtName = match && match[1];\n // in nodejs EventEmitter, removeListener event is\n // used for monitoring the removeListener call,\n // so just keep removeListener eventListener until\n // all other eventListeners are removed\n if (evtName && evtName !== 'removeListener') {\n this[REMOVE_ALL_LISTENERS_EVENT_LISTENER].call(this, evtName);\n }\n }\n // remove removeListener listener finally\n this[REMOVE_ALL_LISTENERS_EVENT_LISTENER].call(this, 'removeListener');\n }\n else {\n var symbolEventNames = zoneSymbolEventNames$1[eventName];\n if (symbolEventNames) {\n var symbolEventName = symbolEventNames[FALSE_STR];\n var symbolCaptureEventName = symbolEventNames[TRUE_STR];\n var tasks = target[symbolEventName];\n var captureTasks = target[symbolCaptureEventName];\n if (tasks) {\n var removeTasks = tasks.slice();\n for (var i = 0; i < removeTasks.length; i++) {\n var task = removeTasks[i];\n var delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n this[REMOVE_EVENT_LISTENER].call(this, eventName, delegate, task.options);\n }\n }\n if (captureTasks) {\n var removeTasks = captureTasks.slice();\n for (var i = 0; i < removeTasks.length; i++) {\n var task = removeTasks[i];\n var delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n this[REMOVE_EVENT_LISTENER].call(this, eventName, delegate, task.options);\n }\n }\n }\n }\n if (returnTarget) {\n return this;\n }\n };\n // for native toString patch\n attachOriginToPatched(proto[ADD_EVENT_LISTENER], nativeAddEventListener);\n attachOriginToPatched(proto[REMOVE_EVENT_LISTENER], nativeRemoveEventListener);\n if (nativeRemoveAllListeners) {\n attachOriginToPatched(proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER], nativeRemoveAllListeners);\n }\n if (nativeListeners) {\n attachOriginToPatched(proto[LISTENERS_EVENT_LISTENER], nativeListeners);\n }\n return true;\n }\n var results = [];\n for (var i = 0; i < apis.length; i++) {\n results[i] = patchEventTargetMethods(apis[i], patchOptions);\n }\n return results;\n}\nfunction findEventTasks(target, eventName) {\n var foundTasks = [];\n for (var prop in target) {\n var match = EVENT_NAME_SYMBOL_REGX.exec(prop);\n var evtName = match && match[1];\n if (evtName && (!eventName || evtName === eventName)) {\n var tasks = target[prop];\n if (tasks) {\n for (var i = 0; i < tasks.length; i++) {\n foundTasks.push(tasks[i]);\n }\n }\n }\n }\n return foundTasks;\n}\nfunction patchEventPrototype(global, api) {\n var Event = global['Event'];\n if (Event && Event.prototype) {\n api.patchMethod(Event.prototype, 'stopImmediatePropagation', function (delegate) { return function (self, args) {\n self[IMMEDIATE_PROPAGATION_SYMBOL] = true;\n // we need to call the native stopImmediatePropagation\n // in case in some hybrid application, some part of\n // application will be controlled by zone, some are not\n delegate && delegate.apply(self, args);\n }; });\n }\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @fileoverview\n * @suppress {missingRequire}\n */\nvar taskSymbol = zoneSymbol('zoneTask');\nfunction patchTimer(window, setName, cancelName, nameSuffix) {\n var setNative = null;\n var clearNative = null;\n setName += nameSuffix;\n cancelName += nameSuffix;\n var tasksByHandleId = {};\n function scheduleTask(task) {\n var data = task.data;\n function timer() {\n try {\n task.invoke.apply(this, arguments);\n }\n finally {\n // issue-934, task will be cancelled\n // even it is a periodic task such as\n // setInterval\n if (!(task.data && task.data.isPeriodic)) {\n if (typeof data.handleId === 'number') {\n // in non-nodejs env, we remove timerId\n // from local cache\n delete tasksByHandleId[data.handleId];\n }\n else if (data.handleId) {\n // Node returns complex objects as handleIds\n // we remove task reference from timer object\n data.handleId[taskSymbol] = null;\n }\n }\n }\n }\n data.args[0] = timer;\n data.handleId = setNative.apply(window, data.args);\n return task;\n }\n function clearTask(task) {\n return clearNative(task.data.handleId);\n }\n setNative =\n patchMethod(window, setName, function (delegate) { return function (self, args) {\n if (typeof args[0] === 'function') {\n var options = {\n isPeriodic: nameSuffix === 'Interval',\n delay: (nameSuffix === 'Timeout' || nameSuffix === 'Interval') ? args[1] || 0 :\n undefined,\n args: args\n };\n var task = scheduleMacroTaskWithCurrentZone(setName, args[0], options, scheduleTask, clearTask);\n if (!task) {\n return task;\n }\n // Node.js must additionally support the ref and unref functions.\n var handle = task.data.handleId;\n if (typeof handle === 'number') {\n // for non nodejs env, we save handleId: task\n // mapping in local cache for clearTimeout\n tasksByHandleId[handle] = task;\n }\n else if (handle) {\n // for nodejs env, we save task\n // reference in timerId Object for clearTimeout\n handle[taskSymbol] = task;\n }\n // check whether handle is null, because some polyfill or browser\n // may return undefined from setTimeout/setInterval/setImmediate/requestAnimationFrame\n if (handle && handle.ref && handle.unref && typeof handle.ref === 'function' &&\n typeof handle.unref === 'function') {\n task.ref = handle.ref.bind(handle);\n task.unref = handle.unref.bind(handle);\n }\n if (typeof handle === 'number' || handle) {\n return handle;\n }\n return task;\n }\n else {\n // cause an error by calling it directly.\n return delegate.apply(window, args);\n }\n }; });\n clearNative =\n patchMethod(window, cancelName, function (delegate) { return function (self, args) {\n var id = args[0];\n var task;\n if (typeof id === 'number') {\n // non nodejs env.\n task = tasksByHandleId[id];\n }\n else {\n // nodejs env.\n task = id && id[taskSymbol];\n // other environments.\n if (!task) {\n task = id;\n }\n }\n if (task && typeof task.type === 'string') {\n if (task.state !== 'notScheduled' &&\n (task.cancelFn && task.data.isPeriodic || task.runCount === 0)) {\n if (typeof id === 'number') {\n delete tasksByHandleId[id];\n }\n else if (id) {\n id[taskSymbol] = null;\n }\n // Do not cancel already canceled functions\n task.zone.cancelTask(task);\n }\n }\n else {\n // cause an error by calling it directly.\n delegate.apply(window, args);\n }\n }; });\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/*\n * This is necessary for Chrome and Chrome mobile, to enable\n * things like redefining `createdCallback` on an element.\n */\nvar _defineProperty = Object[zoneSymbol('defineProperty')] = Object.defineProperty;\nvar _getOwnPropertyDescriptor = Object[zoneSymbol('getOwnPropertyDescriptor')] =\n Object.getOwnPropertyDescriptor;\nvar _create = Object.create;\nvar unconfigurablesKey = zoneSymbol('unconfigurables');\nfunction propertyPatch() {\n Object.defineProperty = function (obj, prop, desc) {\n if (isUnconfigurable(obj, prop)) {\n throw new TypeError('Cannot assign to read only property \\'' + prop + '\\' of ' + obj);\n }\n var originalConfigurableFlag = desc.configurable;\n if (prop !== 'prototype') {\n desc = rewriteDescriptor(obj, prop, desc);\n }\n return _tryDefineProperty(obj, prop, desc, originalConfigurableFlag);\n };\n Object.defineProperties = function (obj, props) {\n Object.keys(props).forEach(function (prop) {\n Object.defineProperty(obj, prop, props[prop]);\n });\n return obj;\n };\n Object.create = function (obj, proto) {\n if (typeof proto === 'object' && !Object.isFrozen(proto)) {\n Object.keys(proto).forEach(function (prop) {\n proto[prop] = rewriteDescriptor(obj, prop, proto[prop]);\n });\n }\n return _create(obj, proto);\n };\n Object.getOwnPropertyDescriptor = function (obj, prop) {\n var desc = _getOwnPropertyDescriptor(obj, prop);\n if (desc && isUnconfigurable(obj, prop)) {\n desc.configurable = false;\n }\n return desc;\n };\n}\nfunction _redefineProperty(obj, prop, desc) {\n var originalConfigurableFlag = desc.configurable;\n desc = rewriteDescriptor(obj, prop, desc);\n return _tryDefineProperty(obj, prop, desc, originalConfigurableFlag);\n}\nfunction isUnconfigurable(obj, prop) {\n return obj && obj[unconfigurablesKey] && obj[unconfigurablesKey][prop];\n}\nfunction rewriteDescriptor(obj, prop, desc) {\n // issue-927, if the desc is frozen, don't try to change the desc\n if (!Object.isFrozen(desc)) {\n desc.configurable = true;\n }\n if (!desc.configurable) {\n // issue-927, if the obj is frozen, don't try to set the desc to obj\n if (!obj[unconfigurablesKey] && !Object.isFrozen(obj)) {\n _defineProperty(obj, unconfigurablesKey, { writable: true, value: {} });\n }\n if (obj[unconfigurablesKey]) {\n obj[unconfigurablesKey][prop] = true;\n }\n }\n return desc;\n}\nfunction _tryDefineProperty(obj, prop, desc, originalConfigurableFlag) {\n try {\n return _defineProperty(obj, prop, desc);\n }\n catch (error) {\n if (desc.configurable) {\n // In case of errors, when the configurable flag was likely set by rewriteDescriptor(), let's\n // retry with the original flag value\n if (typeof originalConfigurableFlag == 'undefined') {\n delete desc.configurable;\n }\n else {\n desc.configurable = originalConfigurableFlag;\n }\n try {\n return _defineProperty(obj, prop, desc);\n }\n catch (error) {\n var descJson = null;\n try {\n descJson = JSON.stringify(desc);\n }\n catch (error) {\n descJson = desc.toString();\n }\n console.log(\"Attempting to configure '\" + prop + \"' with descriptor '\" + descJson + \"' on object '\" + obj + \"' and got error, giving up: \" + error);\n }\n }\n else {\n throw error;\n }\n }\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// we have to patch the instance since the proto is non-configurable\nfunction apply(api, _global) {\n var WS = _global.WebSocket;\n // On Safari window.EventTarget doesn't exist so need to patch WS add/removeEventListener\n // On older Chrome, no need since EventTarget was already patched\n if (!_global.EventTarget) {\n patchEventTarget(_global, [WS.prototype]);\n }\n _global.WebSocket = function (x, y) {\n var socket = arguments.length > 1 ? new WS(x, y) : new WS(x);\n var proxySocket;\n var proxySocketProto;\n // Safari 7.0 has non-configurable own 'onmessage' and friends properties on the socket instance\n var onmessageDesc = ObjectGetOwnPropertyDescriptor(socket, 'onmessage');\n if (onmessageDesc && onmessageDesc.configurable === false) {\n proxySocket = ObjectCreate(socket);\n // socket have own property descriptor 'onopen', 'onmessage', 'onclose', 'onerror'\n // but proxySocket not, so we will keep socket as prototype and pass it to\n // patchOnProperties method\n proxySocketProto = socket;\n [ADD_EVENT_LISTENER_STR, REMOVE_EVENT_LISTENER_STR, 'send', 'close'].forEach(function (propName) {\n proxySocket[propName] = function () {\n var args = ArraySlice.call(arguments);\n if (propName === ADD_EVENT_LISTENER_STR || propName === REMOVE_EVENT_LISTENER_STR) {\n var eventName = args.length > 0 ? args[0] : undefined;\n if (eventName) {\n var propertySymbol = Zone.__symbol__('ON_PROPERTY' + eventName);\n socket[propertySymbol] = proxySocket[propertySymbol];\n }\n }\n return socket[propName].apply(socket, args);\n };\n });\n }\n else {\n // we can patch the real socket\n proxySocket = socket;\n }\n patchOnProperties(proxySocket, ['close', 'error', 'message', 'open'], proxySocketProto);\n return proxySocket;\n };\n var globalWebSocket = _global['WebSocket'];\n for (var prop in WS) {\n globalWebSocket[prop] = WS[prop];\n }\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @fileoverview\n * @suppress {globalThis}\n */\nvar globalEventHandlersEventNames = [\n 'abort',\n 'animationcancel',\n 'animationend',\n 'animationiteration',\n 'auxclick',\n 'beforeinput',\n 'blur',\n 'cancel',\n 'canplay',\n 'canplaythrough',\n 'change',\n 'compositionstart',\n 'compositionupdate',\n 'compositionend',\n 'cuechange',\n 'click',\n 'close',\n 'contextmenu',\n 'curechange',\n 'dblclick',\n 'drag',\n 'dragend',\n 'dragenter',\n 'dragexit',\n 'dragleave',\n 'dragover',\n 'drop',\n 'durationchange',\n 'emptied',\n 'ended',\n 'error',\n 'focus',\n 'focusin',\n 'focusout',\n 'gotpointercapture',\n 'input',\n 'invalid',\n 'keydown',\n 'keypress',\n 'keyup',\n 'load',\n 'loadstart',\n 'loadeddata',\n 'loadedmetadata',\n 'lostpointercapture',\n 'mousedown',\n 'mouseenter',\n 'mouseleave',\n 'mousemove',\n 'mouseout',\n 'mouseover',\n 'mouseup',\n 'mousewheel',\n 'orientationchange',\n 'pause',\n 'play',\n 'playing',\n 'pointercancel',\n 'pointerdown',\n 'pointerenter',\n 'pointerleave',\n 'pointerlockchange',\n 'mozpointerlockchange',\n 'webkitpointerlockerchange',\n 'pointerlockerror',\n 'mozpointerlockerror',\n 'webkitpointerlockerror',\n 'pointermove',\n 'pointout',\n 'pointerover',\n 'pointerup',\n 'progress',\n 'ratechange',\n 'reset',\n 'resize',\n 'scroll',\n 'seeked',\n 'seeking',\n 'select',\n 'selectionchange',\n 'selectstart',\n 'show',\n 'sort',\n 'stalled',\n 'submit',\n 'suspend',\n 'timeupdate',\n 'volumechange',\n 'touchcancel',\n 'touchmove',\n 'touchstart',\n 'touchend',\n 'transitioncancel',\n 'transitionend',\n 'waiting',\n 'wheel'\n];\nvar documentEventNames = [\n 'afterscriptexecute', 'beforescriptexecute', 'DOMContentLoaded', 'freeze', 'fullscreenchange',\n 'mozfullscreenchange', 'webkitfullscreenchange', 'msfullscreenchange', 'fullscreenerror',\n 'mozfullscreenerror', 'webkitfullscreenerror', 'msfullscreenerror', 'readystatechange',\n 'visibilitychange', 'resume'\n];\nvar windowEventNames = [\n 'absolutedeviceorientation',\n 'afterinput',\n 'afterprint',\n 'appinstalled',\n 'beforeinstallprompt',\n 'beforeprint',\n 'beforeunload',\n 'devicelight',\n 'devicemotion',\n 'deviceorientation',\n 'deviceorientationabsolute',\n 'deviceproximity',\n 'hashchange',\n 'languagechange',\n 'message',\n 'mozbeforepaint',\n 'offline',\n 'online',\n 'paint',\n 'pageshow',\n 'pagehide',\n 'popstate',\n 'rejectionhandled',\n 'storage',\n 'unhandledrejection',\n 'unload',\n 'userproximity',\n 'vrdisplyconnected',\n 'vrdisplaydisconnected',\n 'vrdisplaypresentchange'\n];\nvar htmlElementEventNames = [\n 'beforecopy', 'beforecut', 'beforepaste', 'copy', 'cut', 'paste', 'dragstart', 'loadend',\n 'animationstart', 'search', 'transitionrun', 'transitionstart', 'webkitanimationend',\n 'webkitanimationiteration', 'webkitanimationstart', 'webkittransitionend'\n];\nvar mediaElementEventNames = ['encrypted', 'waitingforkey', 'msneedkey', 'mozinterruptbegin', 'mozinterruptend'];\nvar ieElementEventNames = [\n 'activate',\n 'afterupdate',\n 'ariarequest',\n 'beforeactivate',\n 'beforedeactivate',\n 'beforeeditfocus',\n 'beforeupdate',\n 'cellchange',\n 'controlselect',\n 'dataavailable',\n 'datasetchanged',\n 'datasetcomplete',\n 'errorupdate',\n 'filterchange',\n 'layoutcomplete',\n 'losecapture',\n 'move',\n 'moveend',\n 'movestart',\n 'propertychange',\n 'resizeend',\n 'resizestart',\n 'rowenter',\n 'rowexit',\n 'rowsdelete',\n 'rowsinserted',\n 'command',\n 'compassneedscalibration',\n 'deactivate',\n 'help',\n 'mscontentzoom',\n 'msmanipulationstatechanged',\n 'msgesturechange',\n 'msgesturedoubletap',\n 'msgestureend',\n 'msgesturehold',\n 'msgesturestart',\n 'msgesturetap',\n 'msgotpointercapture',\n 'msinertiastart',\n 'mslostpointercapture',\n 'mspointercancel',\n 'mspointerdown',\n 'mspointerenter',\n 'mspointerhover',\n 'mspointerleave',\n 'mspointermove',\n 'mspointerout',\n 'mspointerover',\n 'mspointerup',\n 'pointerout',\n 'mssitemodejumplistitemremoved',\n 'msthumbnailclick',\n 'stop',\n 'storagecommit'\n];\nvar webglEventNames = ['webglcontextrestored', 'webglcontextlost', 'webglcontextcreationerror'];\nvar formEventNames = ['autocomplete', 'autocompleteerror'];\nvar detailEventNames = ['toggle'];\nvar frameEventNames = ['load'];\nvar frameSetEventNames = ['blur', 'error', 'focus', 'load', 'resize', 'scroll', 'messageerror'];\nvar marqueeEventNames = ['bounce', 'finish', 'start'];\nvar XMLHttpRequestEventNames = [\n 'loadstart', 'progress', 'abort', 'error', 'load', 'progress', 'timeout', 'loadend',\n 'readystatechange'\n];\nvar IDBIndexEventNames = ['upgradeneeded', 'complete', 'abort', 'success', 'error', 'blocked', 'versionchange', 'close'];\nvar websocketEventNames = ['close', 'error', 'open', 'message'];\nvar workerEventNames = ['error', 'message'];\nvar eventNames = globalEventHandlersEventNames.concat(webglEventNames, formEventNames, detailEventNames, documentEventNames, windowEventNames, htmlElementEventNames, ieElementEventNames);\nfunction filterProperties(target, onProperties, ignoreProperties) {\n if (!ignoreProperties || ignoreProperties.length === 0) {\n return onProperties;\n }\n var tip = ignoreProperties.filter(function (ip) { return ip.target === target; });\n if (!tip || tip.length === 0) {\n return onProperties;\n }\n var targetIgnoreProperties = tip[0].ignoreProperties;\n return onProperties.filter(function (op) { return targetIgnoreProperties.indexOf(op) === -1; });\n}\nfunction patchFilteredProperties(target, onProperties, ignoreProperties, prototype) {\n // check whether target is available, sometimes target will be undefined\n // because different browser or some 3rd party plugin.\n if (!target) {\n return;\n }\n var filteredProperties = filterProperties(target, onProperties, ignoreProperties);\n patchOnProperties(target, filteredProperties, prototype);\n}\nfunction propertyDescriptorPatch(api, _global) {\n if (isNode && !isMix) {\n return;\n }\n var supportsWebSocket = typeof WebSocket !== 'undefined';\n if (canPatchViaPropertyDescriptor()) {\n var ignoreProperties = _global['__Zone_ignore_on_properties'];\n // for browsers that we can patch the descriptor: Chrome & Firefox\n if (isBrowser) {\n var internalWindow = window;\n var ignoreErrorProperties = isIE ? [{ target: internalWindow, ignoreProperties: ['error'] }] : [];\n // in IE/Edge, onProp not exist in window object, but in WindowPrototype\n // so we need to pass WindowPrototype to check onProp exist or not\n patchFilteredProperties(internalWindow, eventNames.concat(['messageerror']), ignoreProperties ? ignoreProperties.concat(ignoreErrorProperties) : ignoreProperties, ObjectGetPrototypeOf(internalWindow));\n patchFilteredProperties(Document.prototype, eventNames, ignoreProperties);\n if (typeof internalWindow['SVGElement'] !== 'undefined') {\n patchFilteredProperties(internalWindow['SVGElement'].prototype, eventNames, ignoreProperties);\n }\n patchFilteredProperties(Element.prototype, eventNames, ignoreProperties);\n patchFilteredProperties(HTMLElement.prototype, eventNames, ignoreProperties);\n patchFilteredProperties(HTMLMediaElement.prototype, mediaElementEventNames, ignoreProperties);\n patchFilteredProperties(HTMLFrameSetElement.prototype, windowEventNames.concat(frameSetEventNames), ignoreProperties);\n patchFilteredProperties(HTMLBodyElement.prototype, windowEventNames.concat(frameSetEventNames), ignoreProperties);\n patchFilteredProperties(HTMLFrameElement.prototype, frameEventNames, ignoreProperties);\n patchFilteredProperties(HTMLIFrameElement.prototype, frameEventNames, ignoreProperties);\n var HTMLMarqueeElement_1 = internalWindow['HTMLMarqueeElement'];\n if (HTMLMarqueeElement_1) {\n patchFilteredProperties(HTMLMarqueeElement_1.prototype, marqueeEventNames, ignoreProperties);\n }\n var Worker_1 = internalWindow['Worker'];\n if (Worker_1) {\n patchFilteredProperties(Worker_1.prototype, workerEventNames, ignoreProperties);\n }\n }\n patchFilteredProperties(XMLHttpRequest.prototype, XMLHttpRequestEventNames, ignoreProperties);\n var XMLHttpRequestEventTarget_1 = _global['XMLHttpRequestEventTarget'];\n if (XMLHttpRequestEventTarget_1) {\n patchFilteredProperties(XMLHttpRequestEventTarget_1 && XMLHttpRequestEventTarget_1.prototype, XMLHttpRequestEventNames, ignoreProperties);\n }\n if (typeof IDBIndex !== 'undefined') {\n patchFilteredProperties(IDBIndex.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBRequest.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBOpenDBRequest.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBDatabase.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBTransaction.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBCursor.prototype, IDBIndexEventNames, ignoreProperties);\n }\n if (supportsWebSocket) {\n patchFilteredProperties(WebSocket.prototype, websocketEventNames, ignoreProperties);\n }\n }\n else {\n // Safari, Android browsers (Jelly Bean)\n patchViaCapturingAllTheEvents();\n patchClass('XMLHttpRequest');\n if (supportsWebSocket) {\n apply(api, _global);\n }\n }\n}\nfunction canPatchViaPropertyDescriptor() {\n if ((isBrowser || isMix) && !ObjectGetOwnPropertyDescriptor(HTMLElement.prototype, 'onclick') &&\n typeof Element !== 'undefined') {\n // WebKit https://bugs.webkit.org/show_bug.cgi?id=134364\n // IDL interface attributes are not configurable\n var desc = ObjectGetOwnPropertyDescriptor(Element.prototype, 'onclick');\n if (desc && !desc.configurable)\n return false;\n }\n var ON_READY_STATE_CHANGE = 'onreadystatechange';\n var XMLHttpRequestPrototype = XMLHttpRequest.prototype;\n var xhrDesc = ObjectGetOwnPropertyDescriptor(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE);\n // add enumerable and configurable here because in opera\n // by default XMLHttpRequest.prototype.onreadystatechange is undefined\n // without adding enumerable and configurable will cause onreadystatechange\n // non-configurable\n // and if XMLHttpRequest.prototype.onreadystatechange is undefined,\n // we should set a real desc instead a fake one\n if (xhrDesc) {\n ObjectDefineProperty(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE, {\n enumerable: true,\n configurable: true,\n get: function () {\n return true;\n }\n });\n var req = new XMLHttpRequest();\n var result = !!req.onreadystatechange;\n // restore original desc\n ObjectDefineProperty(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE, xhrDesc || {});\n return result;\n }\n else {\n var SYMBOL_FAKE_ONREADYSTATECHANGE_1 = zoneSymbol('fake');\n ObjectDefineProperty(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE, {\n enumerable: true,\n configurable: true,\n get: function () {\n return this[SYMBOL_FAKE_ONREADYSTATECHANGE_1];\n },\n set: function (value) {\n this[SYMBOL_FAKE_ONREADYSTATECHANGE_1] = value;\n }\n });\n var req = new XMLHttpRequest();\n var detectFunc = function () { };\n req.onreadystatechange = detectFunc;\n var result = req[SYMBOL_FAKE_ONREADYSTATECHANGE_1] === detectFunc;\n req.onreadystatechange = null;\n return result;\n }\n}\nvar unboundKey = zoneSymbol('unbound');\n// Whenever any eventListener fires, we check the eventListener target and all parents\n// for `onwhatever` properties and replace them with zone-bound functions\n// - Chrome (for now)\nfunction patchViaCapturingAllTheEvents() {\n var _loop_1 = function (i) {\n var property = eventNames[i];\n var onproperty = 'on' + property;\n self.addEventListener(property, function (event) {\n var elt = event.target, bound, source;\n if (elt) {\n source = elt.constructor['name'] + '.' + onproperty;\n }\n else {\n source = 'unknown.' + onproperty;\n }\n while (elt) {\n if (elt[onproperty] && !elt[onproperty][unboundKey]) {\n bound = wrapWithCurrentZone(elt[onproperty], source);\n bound[unboundKey] = elt[onproperty];\n elt[onproperty] = bound;\n }\n elt = elt.parentElement;\n }\n }, true);\n };\n for (var i = 0; i < eventNames.length; i++) {\n _loop_1(i);\n }\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction eventTargetPatch(_global, api) {\n var WTF_ISSUE_555 = 'Anchor,Area,Audio,BR,Base,BaseFont,Body,Button,Canvas,Content,DList,Directory,Div,Embed,FieldSet,Font,Form,Frame,FrameSet,HR,Head,Heading,Html,IFrame,Image,Input,Keygen,LI,Label,Legend,Link,Map,Marquee,Media,Menu,Meta,Meter,Mod,OList,Object,OptGroup,Option,Output,Paragraph,Pre,Progress,Quote,Script,Select,Source,Span,Style,TableCaption,TableCell,TableCol,Table,TableRow,TableSection,TextArea,Title,Track,UList,Unknown,Video';\n var NO_EVENT_TARGET = 'ApplicationCache,EventSource,FileReader,InputMethodContext,MediaController,MessagePort,Node,Performance,SVGElementInstance,SharedWorker,TextTrack,TextTrackCue,TextTrackList,WebKitNamedFlow,Window,Worker,WorkerGlobalScope,XMLHttpRequest,XMLHttpRequestEventTarget,XMLHttpRequestUpload,IDBRequest,IDBOpenDBRequest,IDBDatabase,IDBTransaction,IDBCursor,DBIndex,WebSocket'\n .split(',');\n var EVENT_TARGET = 'EventTarget';\n var apis = [];\n var isWtf = _global['wtf'];\n var WTF_ISSUE_555_ARRAY = WTF_ISSUE_555.split(',');\n if (isWtf) {\n // Workaround for: https://github.com/google/tracing-framework/issues/555\n apis = WTF_ISSUE_555_ARRAY.map(function (v) { return 'HTML' + v + 'Element'; }).concat(NO_EVENT_TARGET);\n }\n else if (_global[EVENT_TARGET]) {\n apis.push(EVENT_TARGET);\n }\n else {\n // Note: EventTarget is not available in all browsers,\n // if it's not available, we instead patch the APIs in the IDL that inherit from EventTarget\n apis = NO_EVENT_TARGET;\n }\n var isDisableIECheck = _global['__Zone_disable_IE_check'] || false;\n var isEnableCrossContextCheck = _global['__Zone_enable_cross_context_check'] || false;\n var ieOrEdge = isIEOrEdge();\n var ADD_EVENT_LISTENER_SOURCE = '.addEventListener:';\n var FUNCTION_WRAPPER = '[object FunctionWrapper]';\n var BROWSER_TOOLS = 'function __BROWSERTOOLS_CONSOLE_SAFEFUNC() { [native code] }';\n // predefine all __zone_symbol__ + eventName + true/false string\n for (var i = 0; i < eventNames.length; i++) {\n var eventName = eventNames[i];\n var falseEventName = eventName + FALSE_STR;\n var trueEventName = eventName + TRUE_STR;\n var symbol = ZONE_SYMBOL_PREFIX + falseEventName;\n var symbolCapture = ZONE_SYMBOL_PREFIX + trueEventName;\n zoneSymbolEventNames$1[eventName] = {};\n zoneSymbolEventNames$1[eventName][FALSE_STR] = symbol;\n zoneSymbolEventNames$1[eventName][TRUE_STR] = symbolCapture;\n }\n // predefine all task.source string\n for (var i = 0; i < WTF_ISSUE_555.length; i++) {\n var target = WTF_ISSUE_555_ARRAY[i];\n var targets = globalSources[target] = {};\n for (var j = 0; j < eventNames.length; j++) {\n var eventName = eventNames[j];\n targets[eventName] = target + ADD_EVENT_LISTENER_SOURCE + eventName;\n }\n }\n var checkIEAndCrossContext = function (nativeDelegate, delegate, target, args) {\n if (!isDisableIECheck && ieOrEdge) {\n if (isEnableCrossContextCheck) {\n try {\n var testString = delegate.toString();\n if ((testString === FUNCTION_WRAPPER || testString == BROWSER_TOOLS)) {\n nativeDelegate.apply(target, args);\n return false;\n }\n }\n catch (error) {\n nativeDelegate.apply(target, args);\n return false;\n }\n }\n else {\n var testString = delegate.toString();\n if ((testString === FUNCTION_WRAPPER || testString == BROWSER_TOOLS)) {\n nativeDelegate.apply(target, args);\n return false;\n }\n }\n }\n else if (isEnableCrossContextCheck) {\n try {\n delegate.toString();\n }\n catch (error) {\n nativeDelegate.apply(target, args);\n return false;\n }\n }\n return true;\n };\n var apiTypes = [];\n for (var i = 0; i < apis.length; i++) {\n var type = _global[apis[i]];\n apiTypes.push(type && type.prototype);\n }\n // vh is validateHandler to check event handler\n // is valid or not(for security check)\n patchEventTarget(_global, apiTypes, { vh: checkIEAndCrossContext });\n api.patchEventTarget = patchEventTarget;\n return true;\n}\nfunction patchEvent(global, api) {\n patchEventPrototype(global, api);\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction patchCallbacks(target, targetName, method, callbacks) {\n var symbol = Zone.__symbol__(method);\n if (target[symbol]) {\n return;\n }\n var nativeDelegate = target[symbol] = target[method];\n target[method] = function (name, opts, options) {\n if (opts && opts.prototype) {\n callbacks.forEach(function (callback) {\n var source = targetName + \".\" + method + \"::\" + callback;\n var prototype = opts.prototype;\n if (prototype.hasOwnProperty(callback)) {\n var descriptor = ObjectGetOwnPropertyDescriptor(prototype, callback);\n if (descriptor && descriptor.value) {\n descriptor.value = wrapWithCurrentZone(descriptor.value, source);\n _redefineProperty(opts.prototype, callback, descriptor);\n }\n else if (prototype[callback]) {\n prototype[callback] = wrapWithCurrentZone(prototype[callback], source);\n }\n }\n else if (prototype[callback]) {\n prototype[callback] = wrapWithCurrentZone(prototype[callback], source);\n }\n });\n }\n return nativeDelegate.call(target, name, opts, options);\n };\n attachOriginToPatched(target[method], nativeDelegate);\n}\nfunction registerElementPatch(_global) {\n if ((!isBrowser && !isMix) || !('registerElement' in _global.document)) {\n return;\n }\n var callbacks = ['createdCallback', 'attachedCallback', 'detachedCallback', 'attributeChangedCallback'];\n patchCallbacks(document, 'Document', 'registerElement', callbacks);\n}\nfunction patchCustomElements(_global) {\n if ((!isBrowser && !isMix) || !('customElements' in _global)) {\n return;\n }\n var callbacks = ['connectedCallback', 'disconnectedCallback', 'adoptedCallback', 'attributeChangedCallback'];\n patchCallbacks(_global.customElements, 'customElements', 'define', callbacks);\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @fileoverview\n * @suppress {missingRequire}\n */\nZone.__load_patch('util', function (global, Zone, api) {\n api.patchOnProperties = patchOnProperties;\n api.patchMethod = patchMethod;\n api.bindArguments = bindArguments;\n});\nZone.__load_patch('timers', function (global) {\n var set = 'set';\n var clear = 'clear';\n patchTimer(global, set, clear, 'Timeout');\n patchTimer(global, set, clear, 'Interval');\n patchTimer(global, set, clear, 'Immediate');\n});\nZone.__load_patch('requestAnimationFrame', function (global) {\n patchTimer(global, 'request', 'cancel', 'AnimationFrame');\n patchTimer(global, 'mozRequest', 'mozCancel', 'AnimationFrame');\n patchTimer(global, 'webkitRequest', 'webkitCancel', 'AnimationFrame');\n});\nZone.__load_patch('blocking', function (global, Zone) {\n var blockingMethods = ['alert', 'prompt', 'confirm'];\n for (var i = 0; i < blockingMethods.length; i++) {\n var name_1 = blockingMethods[i];\n patchMethod(global, name_1, function (delegate, symbol, name) {\n return function (s, args) {\n return Zone.current.run(delegate, global, args, name);\n };\n });\n }\n});\nZone.__load_patch('EventTarget', function (global, Zone, api) {\n // load blackListEvents from global\n var SYMBOL_BLACK_LISTED_EVENTS = Zone.__symbol__('BLACK_LISTED_EVENTS');\n if (global[SYMBOL_BLACK_LISTED_EVENTS]) {\n Zone[SYMBOL_BLACK_LISTED_EVENTS] = global[SYMBOL_BLACK_LISTED_EVENTS];\n }\n patchEvent(global, api);\n eventTargetPatch(global, api);\n // patch XMLHttpRequestEventTarget's addEventListener/removeEventListener\n var XMLHttpRequestEventTarget = global['XMLHttpRequestEventTarget'];\n if (XMLHttpRequestEventTarget && XMLHttpRequestEventTarget.prototype) {\n api.patchEventTarget(global, [XMLHttpRequestEventTarget.prototype]);\n }\n patchClass('MutationObserver');\n patchClass('WebKitMutationObserver');\n patchClass('IntersectionObserver');\n patchClass('FileReader');\n});\nZone.__load_patch('on_property', function (global, Zone, api) {\n propertyDescriptorPatch(api, global);\n propertyPatch();\n});\nZone.__load_patch('customElements', function (global, Zone, api) {\n registerElementPatch(global);\n patchCustomElements(global);\n});\nZone.__load_patch('canvas', function (global) {\n var HTMLCanvasElement = global['HTMLCanvasElement'];\n if (typeof HTMLCanvasElement !== 'undefined' && HTMLCanvasElement.prototype &&\n HTMLCanvasElement.prototype.toBlob) {\n patchMacroTask(HTMLCanvasElement.prototype, 'toBlob', function (self, args) {\n return { name: 'HTMLCanvasElement.toBlob', target: self, cbIdx: 0, args: args };\n });\n }\n});\nZone.__load_patch('XHR', function (global, Zone) {\n // Treat XMLHttpRequest as a macrotask.\n patchXHR(global);\n var XHR_TASK = zoneSymbol('xhrTask');\n var XHR_SYNC = zoneSymbol('xhrSync');\n var XHR_LISTENER = zoneSymbol('xhrListener');\n var XHR_SCHEDULED = zoneSymbol('xhrScheduled');\n var XHR_URL = zoneSymbol('xhrURL');\n var XHR_ERROR_BEFORE_SCHEDULED = zoneSymbol('xhrErrorBeforeScheduled');\n function patchXHR(window) {\n var XMLHttpRequestPrototype = XMLHttpRequest.prototype;\n function findPendingTask(target) {\n return target[XHR_TASK];\n }\n var oriAddListener = XMLHttpRequestPrototype[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n var oriRemoveListener = XMLHttpRequestPrototype[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n if (!oriAddListener) {\n var XMLHttpRequestEventTarget_1 = window['XMLHttpRequestEventTarget'];\n if (XMLHttpRequestEventTarget_1) {\n var XMLHttpRequestEventTargetPrototype = XMLHttpRequestEventTarget_1.prototype;\n oriAddListener = XMLHttpRequestEventTargetPrototype[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n oriRemoveListener = XMLHttpRequestEventTargetPrototype[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n }\n }\n var READY_STATE_CHANGE = 'readystatechange';\n var SCHEDULED = 'scheduled';\n function scheduleTask(task) {\n var data = task.data;\n var target = data.target;\n target[XHR_SCHEDULED] = false;\n target[XHR_ERROR_BEFORE_SCHEDULED] = false;\n // remove existing event listener\n var listener = target[XHR_LISTENER];\n if (!oriAddListener) {\n oriAddListener = target[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n oriRemoveListener = target[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n }\n if (listener) {\n oriRemoveListener.call(target, READY_STATE_CHANGE, listener);\n }\n var newListener = target[XHR_LISTENER] = function () {\n if (target.readyState === target.DONE) {\n // sometimes on some browsers XMLHttpRequest will fire onreadystatechange with\n // readyState=4 multiple times, so we need to check task state here\n if (!data.aborted && target[XHR_SCHEDULED] && task.state === SCHEDULED) {\n // check whether the xhr has registered onload listener\n // if that is the case, the task should invoke after all\n // onload listeners finish.\n var loadTasks = target['__zone_symbol__loadfalse'];\n if (loadTasks && loadTasks.length > 0) {\n var oriInvoke_1 = task.invoke;\n task.invoke = function () {\n // need to load the tasks again, because in other\n // load listener, they may remove themselves\n var loadTasks = target['__zone_symbol__loadfalse'];\n for (var i = 0; i < loadTasks.length; i++) {\n if (loadTasks[i] === task) {\n loadTasks.splice(i, 1);\n }\n }\n if (!data.aborted && task.state === SCHEDULED) {\n oriInvoke_1.call(task);\n }\n };\n loadTasks.push(task);\n }\n else {\n task.invoke();\n }\n }\n else if (!data.aborted && target[XHR_SCHEDULED] === false) {\n // error occurs when xhr.send()\n target[XHR_ERROR_BEFORE_SCHEDULED] = true;\n }\n }\n };\n oriAddListener.call(target, READY_STATE_CHANGE, newListener);\n var storedTask = target[XHR_TASK];\n if (!storedTask) {\n target[XHR_TASK] = task;\n }\n sendNative.apply(target, data.args);\n target[XHR_SCHEDULED] = true;\n return task;\n }\n function placeholderCallback() { }\n function clearTask(task) {\n var data = task.data;\n // Note - ideally, we would call data.target.removeEventListener here, but it's too late\n // to prevent it from firing. So instead, we store info for the event listener.\n data.aborted = true;\n return abortNative.apply(data.target, data.args);\n }\n var openNative = patchMethod(XMLHttpRequestPrototype, 'open', function () { return function (self, args) {\n self[XHR_SYNC] = args[2] == false;\n self[XHR_URL] = args[1];\n return openNative.apply(self, args);\n }; });\n var XMLHTTPREQUEST_SOURCE = 'XMLHttpRequest.send';\n var fetchTaskAborting = zoneSymbol('fetchTaskAborting');\n var fetchTaskScheduling = zoneSymbol('fetchTaskScheduling');\n var sendNative = patchMethod(XMLHttpRequestPrototype, 'send', function () { return function (self, args) {\n if (Zone.current[fetchTaskScheduling] === true) {\n // a fetch is scheduling, so we are using xhr to polyfill fetch\n // and because we already schedule macroTask for fetch, we should\n // not schedule a macroTask for xhr again\n return sendNative.apply(self, args);\n }\n if (self[XHR_SYNC]) {\n // if the XHR is sync there is no task to schedule, just execute the code.\n return sendNative.apply(self, args);\n }\n else {\n var options = { target: self, url: self[XHR_URL], isPeriodic: false, args: args, aborted: false };\n var task = scheduleMacroTaskWithCurrentZone(XMLHTTPREQUEST_SOURCE, placeholderCallback, options, scheduleTask, clearTask);\n if (self && self[XHR_ERROR_BEFORE_SCHEDULED] === true && !options.aborted &&\n task.state === SCHEDULED) {\n // xhr request throw error when send\n // we should invoke task instead of leaving a scheduled\n // pending macroTask\n task.invoke();\n }\n }\n }; });\n var abortNative = patchMethod(XMLHttpRequestPrototype, 'abort', function () { return function (self, args) {\n var task = findPendingTask(self);\n if (task && typeof task.type == 'string') {\n // If the XHR has already completed, do nothing.\n // If the XHR has already been aborted, do nothing.\n // Fix #569, call abort multiple times before done will cause\n // macroTask task count be negative number\n if (task.cancelFn == null || (task.data && task.data.aborted)) {\n return;\n }\n task.zone.cancelTask(task);\n }\n else if (Zone.current[fetchTaskAborting] === true) {\n // the abort is called from fetch polyfill, we need to call native abort of XHR.\n return abortNative.apply(self, args);\n }\n // Otherwise, we are trying to abort an XHR which has not yet been sent, so there is no\n // task\n // to cancel. Do nothing.\n }; });\n }\n});\nZone.__load_patch('geolocation', function (global) {\n /// GEO_LOCATION\n if (global['navigator'] && global['navigator'].geolocation) {\n patchPrototype(global['navigator'].geolocation, ['getCurrentPosition', 'watchPosition']);\n }\n});\nZone.__load_patch('PromiseRejectionEvent', function (global, Zone) {\n // handle unhandled promise rejection\n function findPromiseRejectionHandler(evtName) {\n return function (e) {\n var eventTasks = findEventTasks(global, evtName);\n eventTasks.forEach(function (eventTask) {\n // windows has added unhandledrejection event listener\n // trigger the event listener\n var PromiseRejectionEvent = global['PromiseRejectionEvent'];\n if (PromiseRejectionEvent) {\n var evt = new PromiseRejectionEvent(evtName, { promise: e.promise, reason: e.rejection });\n eventTask.invoke(evt);\n }\n });\n };\n }\n if (global['PromiseRejectionEvent']) {\n Zone[zoneSymbol('unhandledPromiseRejectionHandler')] =\n findPromiseRejectionHandler('unhandledrejection');\n Zone[zoneSymbol('rejectionHandledHandler')] =\n findPromiseRejectionHandler('rejectionhandled');\n }\n});\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n})));\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/zone.js/dist/zone.js\n// module id = 694\n// module chunks = 3"],"sourceRoot":""}