{"version":3,"sources":["webpack:///./node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js","webpack:///./node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js","webpack:///./node_modules/lodash.debounce/index.js"],"names":["componentWillMount","state","this","constructor","getDerivedStateFromProps","props","setState","componentWillReceiveProps","nextProps","prevState","bind","componentWillUpdate","nextState","prevProps","__reactInternalSnapshotFlag","__reactInternalSnapshot","getSnapshotBeforeUpdate","polyfill","Component","prototype","isReactComponent","Error","foundWillMountName","foundWillReceivePropsName","foundWillUpdateName","UNSAFE_componentWillMount","UNSAFE_componentWillReceiveProps","UNSAFE_componentWillUpdate","componentName","displayName","name","newApiName","componentDidUpdate","maybeSnapshot","snapshot","call","__webpack_require__","r","__webpack_exports__","d","__suppressDeprecationWarning","global","MapShim","Map","getIndex","arr","key","result","some","entry","index","class_1","__entries__","Object","defineProperty","get","length","enumerable","configurable","set","value","push","delete","entries","splice","has","clear","forEach","callback","ctx","_i","_a","isBrowser","window","document","global$1","Math","self","Function","requestAnimationFrame$1","requestAnimationFrame","setTimeout","Date","now","trailingTimeout","REFRESH_DELAY","transitionKeys","mutationObserverSupported","MutationObserver","ResizeObserverController","connected_","mutationEventsAdded_","mutationsObserver_","observers_","onTransitionEnd_","refresh","delay","leadingCall","trailingCall","lastCallTime","resolvePending","proxy","timeoutCallback","timeStamp","throttle","addObserver","observer","indexOf","connect_","removeObserver","observers","disconnect_","updateObservers_","activeObservers","filter","gatherActive","hasActive","broadcastActive","addEventListener","observe","attributes","childList","characterData","subtree","removeEventListener","disconnect","_b","propertyName","getInstance","instance_","defineConfigurable","target","keys","writable","getWindowOf","ownerDocument","defaultView","emptyRect","createRectInit","toFloat","parseFloat","getBordersSize","styles","positions","arguments","reduce","size","position","getHTMLElementContentRect","clientWidth","clientHeight","getComputedStyle","paddings","positions_1","getPaddings","horizPad","left","right","vertPad","top","bottom","width","height","boxSizing","round","documentElement","isDocumentElement","vertScrollbar","horizScrollbar","abs","isSVGGraphicsElement","SVGGraphicsElement","SVGElement","getBBox","getContentRect","bbox","getSVGContentRect","x","y","ResizeObservation","broadcastWidth","broadcastHeight","contentRect_","isActive","rect","broadcastRect","ResizeObserverEntry","rectInit","Constr","contentRect","DOMRectReadOnly","create","ResizeObserverSPI","controller","callbackCtx","activeObservations_","observations_","TypeError","callback_","controller_","callbackCtx_","Element","observations","unobserve","clearActive","_this","observation","map","WeakMap","ResizeObserver","method","apply","FUNC_ERROR_TEXT","NAN","symbolTag","reTrim","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","parseInt","freeGlobal","freeSelf","root","objectToString","toString","nativeMax","max","nativeMin","min","isObject","type","toNumber","isObjectLike","isSymbol","other","valueOf","replace","isBinary","test","slice","module","exports","func","wait","options","lastArgs","lastThis","maxWait","timerId","lastInvokeTime","leading","maxing","trailing","invokeFunc","time","args","thisArg","undefined","shouldInvoke","timeSinceLastCall","timerExpired","trailingEdge","remainingWait","debounced","isInvoking","leadingEdge","cancel","clearTimeout","flush"],"mappings":"2FAOA,SAAAA,IAEA,IAAAC,EAAAC,KAAAC,YAAAC,yBAAAF,KAAAG,MAAAH,KAAAD,OACAA,SACAC,KAAAI,SAAAL,GAIA,SAAAM,EAAAC,GAQAN,KAAAI,SALA,SAAAG,GACA,IAAAR,EAAAC,KAAAC,YAAAC,yBAAAI,EAAAC,GACA,OAAAR,UAAA,MAGAS,KAAAR,OAGA,SAAAS,EAAAH,EAAAI,GACA,IACA,IAAAC,EAAAX,KAAAG,MACAI,EAAAP,KAAAD,MACAC,KAAAG,MAAAG,EACAN,KAAAD,MAAAW,EACAV,KAAAY,6BAAA,EACAZ,KAAAa,wBAAAb,KAAAc,wBACAH,EACAJ,GAEG,QACHP,KAAAG,MAAAQ,EACAX,KAAAD,MAAAQ,GAUA,SAAAQ,EAAAC,GACA,IAAAC,EAAAD,EAAAC,UAEA,IAAAA,MAAAC,iBACA,UAAAC,MAAA,sCAGA,GACA,mBAAAH,EAAAd,0BACA,mBAAAe,EAAAH,wBAEA,OAAAE,EAMA,IAAAI,EAAA,KACAC,EAAA,KACAC,EAAA,KAgBA,GAfA,mBAAAL,EAAAnB,mBACAsB,EAAA,qBACG,mBAAAH,EAAAM,4BACHH,EAAA,6BAEA,mBAAAH,EAAAZ,0BACAgB,EAAA,4BACG,mBAAAJ,EAAAO,mCACHH,EAAA,oCAEA,mBAAAJ,EAAAR,oBACAa,EAAA,sBACG,mBAAAL,EAAAQ,6BACHH,EAAA,8BAGA,OAAAF,GACA,OAAAC,GACA,OAAAC,EACA,CACA,IAAAI,EAAAV,EAAAW,aAAAX,EAAAY,KACAC,EACA,mBAAAb,EAAAd,yBACA,6BACA,4BAEA,MAAAiB,MACA,2FACAO,EACA,SACAG,EACA,uDACA,OAAAT,EAAA,OAAAA,EAAA,KACA,OAAAC,EACA,OAAAA,EACA,KACA,OAAAC,EAAA,OAAAA,EAAA,IACA,wIAgBA,GARA,mBAAAN,EAAAd,2BACAe,EAAAnB,qBACAmB,EAAAZ,6BAMA,mBAAAY,EAAAH,wBAAA,CACA,sBAAAG,EAAAa,mBACA,UAAAX,MACA,qHAIAF,EAAAR,sBAEA,IAAAqB,EAAAb,EAAAa,mBAEAb,EAAAa,mBAAA,SACAnB,EACAJ,EACAwB,GAUA,IAAAC,EAAAhC,KAAAY,4BACAZ,KAAAa,wBACAkB,EAEAD,EAAAG,KAAAjC,KAAAW,EAAAJ,EAAAyB,IAIA,OAAAhB,EA1JAkB,EAAAC,EAAAC,GAAAF,EAAAG,EAAAD,EAAA,6BAAArB,IA6CAjB,EAAAwC,8BAAA,EACAjC,EAAAiC,8BAAA,EACA7B,EAAA6B,8BAAA,qCC/CAJ,EAAAC,EAAAC,GAAA,SAAAG,GAOA,IAAAC,EAAA,WACA,uBAAAC,IACA,OAAAA,IASA,SAAAC,EAAAC,EAAAC,GACA,IAAAC,GAAA,EAQA,OAPAF,EAAAG,KAAA,SAAAC,EAAAC,GACA,OAAAD,EAAA,KAAAH,IACAC,EAAAG,GACA,KAIAH,EAEA,kBACA,SAAAI,IACAjD,KAAAkD,YAAA,GAuEA,OArEAC,OAAAC,eAAAH,EAAAhC,UAAA,QAIAoC,IAAA,WACA,OAAArD,KAAAkD,YAAAI,QAEAC,YAAA,EACAC,cAAA,IAMAP,EAAAhC,UAAAoC,IAAA,SAAAT,GACA,IAAAI,EAAAN,EAAA1C,KAAAkD,YAAAN,GACAG,EAAA/C,KAAAkD,YAAAF,GACA,OAAAD,KAAA,IAOAE,EAAAhC,UAAAwC,IAAA,SAAAb,EAAAc,GACA,IAAAV,EAAAN,EAAA1C,KAAAkD,YAAAN,IACAI,EACAhD,KAAAkD,YAAAF,GAAA,GAAAU,EAGA1D,KAAAkD,YAAAS,KAAA,CAAAf,EAAAc,KAOAT,EAAAhC,UAAA2C,OAAA,SAAAhB,GACA,IAAAiB,EAAA7D,KAAAkD,YACAF,EAAAN,EAAAmB,EAAAjB,IACAI,GACAa,EAAAC,OAAAd,EAAA,IAOAC,EAAAhC,UAAA8C,IAAA,SAAAnB,GACA,SAAAF,EAAA1C,KAAAkD,YAAAN,IAKAK,EAAAhC,UAAA+C,MAAA,WACAhE,KAAAkD,YAAAY,OAAA,IAOAb,EAAAhC,UAAAgD,QAAA,SAAAC,EAAAC,QACA,IAAAA,IAAiCA,EAAA,MACjC,QAAAC,EAAA,EAAAC,EAAArE,KAAAkD,YAAmDkB,EAAAC,EAAAf,OAAgBc,IAAA,CACnE,IAAArB,EAAAsB,EAAAD,GACAF,EAAAjC,KAAAkC,EAAApB,EAAA,GAAAA,EAAA,MAGAE,EAzEA,GAtBA,GAsGAqB,EAAA,oBAAAC,QAAA,oBAAAC,UAAAD,OAAAC,oBAGAC,OACA,IAAAlC,KAAAmC,YACAnC,EAEA,oBAAAoC,WAAAD,YACAC,KAEA,oBAAAJ,eAAAG,YACAH,OAGAK,SAAA,cAAAA,GASAC,EACA,mBAAAC,sBAIAA,sBAAAtE,KAAAiE,GAEA,SAAAP,GAAgC,OAAAa,WAAA,WAAgC,OAAAb,EAAAc,KAAAC,QAA+B,SAI/FC,EAAA,EAiEA,IAAAC,EAAA,GAGAC,EAAA,iEAEAC,EAAA,oBAAAC,iBAIAC,EAAA,WAMA,SAAAA,IAMAvF,KAAAwF,YAAA,EAMAxF,KAAAyF,sBAAA,EAMAzF,KAAA0F,mBAAA,KAMA1F,KAAA2F,WAAA,GACA3F,KAAA4F,iBAAA5F,KAAA4F,iBAAApF,KAAAR,MACAA,KAAA6F,QAjGA,SAAA3B,EAAA4B,GACA,IAAAC,GAAA,EAAAC,GAAA,EAAAC,EAAA,EAOA,SAAAC,IACAH,IACAA,GAAA,EACA7B,KAEA8B,GACAG,IAUA,SAAAC,IACAvB,EAAAqB,GAOA,SAAAC,IACA,IAAAE,EAAArB,KAAAC,MACA,GAAAc,EAAA,CAEA,GAAAM,EAAAJ,EAAAf,EACA,OAMAc,GAAA,OAGAD,GAAA,EACAC,GAAA,EACAjB,WAAAqB,EAAAN,GAEAG,EAAAI,EAEA,OAAAF,EA6CAG,CAAAtG,KAAA6F,QAAArF,KAAAR,MAAAmF,GAgKA,OAxJAI,EAAAtE,UAAAsF,YAAA,SAAAC,IACAxG,KAAA2F,WAAAc,QAAAD,IACAxG,KAAA2F,WAAAhC,KAAA6C,GAGAxG,KAAAwF,YACAxF,KAAA0G,YASAnB,EAAAtE,UAAA0F,eAAA,SAAAH,GACA,IAAAI,EAAA5G,KAAA2F,WACA3C,EAAA4D,EAAAH,QAAAD,IAEAxD,GACA4D,EAAA9C,OAAAd,EAAA,IAGA4D,EAAAtD,QAAAtD,KAAAwF,YACAxF,KAAA6G,eASAtB,EAAAtE,UAAA4E,QAAA,WACA7F,KAAA8G,oBAIA9G,KAAA6F,WAWAN,EAAAtE,UAAA6F,iBAAA,WAEA,IAAAC,EAAA/G,KAAA2F,WAAAqB,OAAA,SAAAR,GACA,OAAAA,EAAAS,eAAAT,EAAAU,cAQA,OADAH,EAAA9C,QAAA,SAAAuC,GAAqD,OAAAA,EAAAW,oBACrDJ,EAAAzD,OAAA,GAQAiC,EAAAtE,UAAAyF,SAAA,WAGApC,IAAAtE,KAAAwF,aAMAhB,SAAA4C,iBAAA,gBAAApH,KAAA4F,kBACArB,OAAA6C,iBAAA,SAAApH,KAAA6F,SACAR,GACArF,KAAA0F,mBAAA,IAAAJ,iBAAAtF,KAAA6F,SACA7F,KAAA0F,mBAAA2B,QAAA7C,SAAA,CACA8C,YAAA,EACAC,WAAA,EACAC,eAAA,EACAC,SAAA,MAIAjD,SAAA4C,iBAAA,qBAAApH,KAAA6F,SACA7F,KAAAyF,sBAAA,GAEAzF,KAAAwF,YAAA,IAQAD,EAAAtE,UAAA4F,YAAA,WAGAvC,GAAAtE,KAAAwF,aAGAhB,SAAAkD,oBAAA,gBAAA1H,KAAA4F,kBACArB,OAAAmD,oBAAA,SAAA1H,KAAA6F,SACA7F,KAAA0F,oBACA1F,KAAA0F,mBAAAiC,aAEA3H,KAAAyF,sBACAjB,SAAAkD,oBAAA,qBAAA1H,KAAA6F,SAEA7F,KAAA0F,mBAAA,KACA1F,KAAAyF,sBAAA,EACAzF,KAAAwF,YAAA,IASAD,EAAAtE,UAAA2E,iBAAA,SAAAvB,GACA,IAAAuD,EAAAvD,EAAAwD,oBAAA,IAAAD,EAAA,GAAAA,EAEAxC,EAAAtC,KAAA,SAAAF,GACA,SAAAiF,EAAApB,QAAA7D,MAGA5C,KAAA6F,WAQAN,EAAAuC,YAAA,WAIA,OAHA9H,KAAA+H,YACA/H,KAAA+H,UAAA,IAAAxC,GAEAvF,KAAA+H,WAOAxC,EAAAwC,UAAA,KACAxC,EAhMA,GA0MAyC,EAAA,SAAAC,EAAA9H,GACA,QAAAiE,EAAA,EAAAC,EAAAlB,OAAA+E,KAAA/H,GAA6CiE,EAAAC,EAAAf,OAAgBc,IAAA,CAC7D,IAAAxB,EAAAyB,EAAAD,GACAjB,OAAAC,eAAA6E,EAAArF,EAAA,CACAc,MAAAvD,EAAAyC,GACAW,YAAA,EACA4E,UAAA,EACA3E,cAAA,IAGA,OAAAyE,GASAG,EAAA,SAAAH,GAOA,OAHAA,KAAAI,eAAAJ,EAAAI,cAAAC,aAGA7D,GAIA8D,EAAAC,EAAA,SAOA,SAAAC,EAAA/E,GACA,OAAAgF,WAAAhF,IAAA,EASA,SAAAiF,EAAAC,GAEA,IADA,IAAAC,EAAA,GACAzE,EAAA,EAAoBA,EAAA0E,UAAAxF,OAAuBc,IAC3CyE,EAAAzE,EAAA,GAAA0E,UAAA1E,GAEA,OAAAyE,EAAAE,OAAA,SAAAC,EAAAC,GAEA,OAAAD,EAAAP,EADAG,EAAA,UAAAK,EAAA,YAEK,GAmCL,SAAAC,EAAAjB,GAGA,IAAAkB,EAAAlB,EAAAkB,YAAAC,EAAAnB,EAAAmB,aASA,IAAAD,IAAAC,EACA,OAAAb,EAEA,IAAAK,EAAAR,EAAAH,GAAAoB,iBAAApB,GACAqB,EA3CA,SAAAV,GAGA,IAFA,IACAU,EAAA,GACAlF,EAAA,EAAAmF,EAFA,gCAE6CnF,EAAAmF,EAAAjG,OAAyBc,IAAA,CACtE,IAAA6E,EAAAM,EAAAnF,GACAV,EAAAkF,EAAA,WAAAK,GACAK,EAAAL,GAAAR,EAAA/E,GAEA,OAAA4F,EAmCAE,CAAAZ,GACAa,EAAAH,EAAAI,KAAAJ,EAAAK,MACAC,EAAAN,EAAAO,IAAAP,EAAAQ,OAKAC,EAAAtB,EAAAG,EAAAmB,OAAAC,EAAAvB,EAAAG,EAAAoB,QAqBA,GAlBA,eAAApB,EAAAqB,YAOAvF,KAAAwF,MAAAH,EAAAN,KAAAN,IACAY,GAAApB,EAAAC,EAAA,gBAAAa,GAEA/E,KAAAwF,MAAAF,EAAAJ,KAAAR,IACAY,GAAArB,EAAAC,EAAA,gBAAAgB,KAoDA,SAAA3B,GACA,OAAAA,IAAAG,EAAAH,GAAAzD,SAAA2F,gBA9CAC,CAAAnC,GAAA,CAKA,IAAAoC,EAAA3F,KAAAwF,MAAAH,EAAAN,GAAAN,EACAmB,EAAA5F,KAAAwF,MAAAF,EAAAJ,GAAAR,EAMA,IAAA1E,KAAA6F,IAAAF,KACAN,GAAAM,GAEA,IAAA3F,KAAA6F,IAAAD,KACAN,GAAAM,GAGA,OAAA9B,EAAAc,EAAAI,KAAAJ,EAAAO,IAAAE,EAAAC,GAQA,IAAAQ,EAGA,oBAAAC,mBACA,SAAAxC,GAAkC,OAAAA,aAAAG,EAAAH,GAAAwC,oBAKlC,SAAAxC,GAA8B,OAAAA,aAAAG,EAAAH,GAAAyC,YAC9B,mBAAAzC,EAAA0C,SAiBA,SAAAC,EAAA3C,GACA,OAAA3D,EAGAkG,EAAAvC,GAhHA,SAAAA,GACA,IAAA4C,EAAA5C,EAAA0C,UACA,OAAAnC,EAAA,IAAAqC,EAAAd,MAAAc,EAAAb,QA+GAc,CAAA7C,GAEAiB,EAAAjB,GALAM,EAuCA,SAAAC,EAAAuC,EAAAC,EAAAjB,EAAAC,GACA,OAAYe,IAAAC,IAAAjB,QAAAC,UAOZ,IAAAiB,EAAA,WAMA,SAAAA,EAAAhD,GAMAjI,KAAAkL,eAAA,EAMAlL,KAAAmL,gBAAA,EAMAnL,KAAAoL,aAAA5C,EAAA,SACAxI,KAAAiI,SA0BA,OAlBAgD,EAAAhK,UAAAoK,SAAA,WACA,IAAAC,EAAAV,EAAA5K,KAAAiI,QAEA,OADAjI,KAAAoL,aAAAE,EACAA,EAAAvB,QAAA/J,KAAAkL,gBACAI,EAAAtB,SAAAhK,KAAAmL,iBAQAF,EAAAhK,UAAAsK,cAAA,WACA,IAAAD,EAAAtL,KAAAoL,aAGA,OAFApL,KAAAkL,eAAAI,EAAAvB,MACA/J,KAAAmL,gBAAAG,EAAAtB,OACAsB,GAEAL,EAnDA,GAsDAO,EAAA,WAiBA,OAVA,SAAAvD,EAAAwD,GACA,IA/FApH,EACA0G,EAAAC,EAAAjB,EAAAC,EAEA0B,EACAJ,EA2FAK,GA9FAZ,GADA1G,EA+FAoH,GA9FAV,EAAAC,EAAA3G,EAAA2G,EAAAjB,EAAA1F,EAAA0F,MAAAC,EAAA3F,EAAA2F,OAEA0B,EAAA,oBAAAE,gCAAAzI,OACAmI,EAAAnI,OAAA0I,OAAAH,EAAAzK,WAEA+G,EAAAsD,EAAA,CACAP,IAAAC,IAAAjB,QAAAC,SACAH,IAAAmB,EACArB,MAAAoB,EAAAhB,EACAD,OAAAE,EAAAgB,EACAtB,KAAAqB,IAEAO,GAyFAtD,EAAAhI,KAAA,CAAkCiI,SAAA0D,iBAflC,GAoBAG,EAAA,WAWA,SAAAA,EAAA5H,EAAA6H,EAAAC,GAcA,GAPAhM,KAAAiM,oBAAA,GAMAjM,KAAAkM,cAAA,IAAA1J,EACA,mBAAA0B,EACA,UAAAiI,UAAA,2DAEAnM,KAAAoM,UAAAlI,EACAlE,KAAAqM,YAAAN,EACA/L,KAAAsM,aAAAN,EAoHA,OA5GAF,EAAA7K,UAAAoG,QAAA,SAAAY,GACA,IAAAa,UAAAxF,OACA,UAAA6I,UAAA,4CAGA,uBAAAI,4BAAApJ,OAAA,CAGA,KAAA8E,aAAAG,EAAAH,GAAAsE,SACA,UAAAJ,UAAA,yCAEA,IAAAK,EAAAxM,KAAAkM,cAEAM,EAAAzI,IAAAkE,KAGAuE,EAAA/I,IAAAwE,EAAA,IAAAgD,EAAAhD,IACAjI,KAAAqM,YAAA9F,YAAAvG,MAEAA,KAAAqM,YAAAxG,aAQAiG,EAAA7K,UAAAwL,UAAA,SAAAxE,GACA,IAAAa,UAAAxF,OACA,UAAA6I,UAAA,4CAGA,uBAAAI,4BAAApJ,OAAA,CAGA,KAAA8E,aAAAG,EAAAH,GAAAsE,SACA,UAAAJ,UAAA,yCAEA,IAAAK,EAAAxM,KAAAkM,cAEAM,EAAAzI,IAAAkE,KAGAuE,EAAA5I,OAAAqE,GACAuE,EAAAxD,MACAhJ,KAAAqM,YAAA1F,eAAA3G,SAQA8L,EAAA7K,UAAA0G,WAAA,WACA3H,KAAA0M,cACA1M,KAAAkM,cAAAlI,QACAhE,KAAAqM,YAAA1F,eAAA3G,OAQA8L,EAAA7K,UAAAgG,aAAA,WACA,IAAA0F,EAAA3M,KACAA,KAAA0M,cACA1M,KAAAkM,cAAAjI,QAAA,SAAA2I,GACAA,EAAAvB,YACAsB,EAAAV,oBAAAtI,KAAAiJ,MAUAd,EAAA7K,UAAAkG,gBAAA,WAEA,GAAAnH,KAAAkH,YAAA,CAGA,IAAA/C,EAAAnE,KAAAsM,aAEAzI,EAAA7D,KAAAiM,oBAAAY,IAAA,SAAAD,GACA,WAAApB,EAAAoB,EAAA3E,OAAA2E,EAAArB,mBAEAvL,KAAAoM,UAAAnK,KAAAkC,EAAAN,EAAAM,GACAnE,KAAA0M,gBAOAZ,EAAA7K,UAAAyL,YAAA,WACA1M,KAAAiM,oBAAAnI,OAAA,IAOAgI,EAAA7K,UAAAiG,UAAA,WACA,OAAAlH,KAAAiM,oBAAA3I,OAAA,GAEAwI,EAlJA,GAwJAlF,EAAA,oBAAAkG,QAAA,IAAAA,QAAA,IAAAtK,EAKAuK,EAAA,WAkBA,OAXA,SAAAA,EAAA7I,GACA,KAAAlE,gBAAA+M,GACA,UAAAZ,UAAA,sCAEA,IAAArD,UAAAxF,OACA,UAAA6I,UAAA,4CAEA,IAAAJ,EAAAxG,EAAAuC,cACAtB,EAAA,IAAAsF,EAAA5H,EAAA6H,EAAA/L,MACA4G,EAAAnD,IAAAzD,KAAAwG,IAhBA,GAqBA,CACA,UACA,YACA,cACAvC,QAAA,SAAA+I,GACAD,EAAA9L,UAAA+L,GAAA,WACA,IAAA3I,EACA,OAAAA,EAAAuC,EAAAvD,IAAArD,OAAAgN,GAAAC,MAAA5I,EAAAyE,cAIA,IAAA9F,OAEA,IAAAyB,EAAAsI,eACAtI,EAAAsI,eAEAA,EAGe3K,EAAA,oDC/5Bf,SAAAG,GAUA,IAAA2K,EAAA,sBAGAC,EAAA,IAGAC,EAAA,kBAGAC,EAAA,aAGAC,EAAA,qBAGAC,EAAA,aAGAC,EAAA,cAGAC,EAAAC,SAGAC,EAAA,iBAAApL,QAAAY,iBAAAZ,EAGAqL,EAAA,iBAAAjJ,iBAAAxB,iBAAAwB,KAGAkJ,EAAAF,GAAAC,GAAAhJ,SAAA,cAAAA,GAUAkJ,EAPA3K,OAAAlC,UAOA8M,SAGAC,EAAAtJ,KAAAuJ,IACAC,EAAAxJ,KAAAyJ,IAkBAlJ,EAAA,WACA,OAAA4I,EAAA7I,KAAAC,OA4MA,SAAAmJ,EAAA1K,GACA,IAAA2K,SAAA3K,EACA,QAAAA,IAAA,UAAA2K,GAAA,YAAAA,GA4EA,SAAAC,EAAA5K,GACA,oBAAAA,EACA,OAAAA,EAEA,GAhCA,SAAAA,GACA,uBAAAA,GAtBA,SAAAA,GACA,QAAAA,GAAA,iBAAAA,EAsBA6K,CAAA7K,IAAAoK,EAAA7L,KAAAyB,IAAA0J,EA8BAoB,CAAA9K,GACA,OAAAyJ,EAEA,GAAAiB,EAAA1K,GAAA,CACA,IAAA+K,EAAA,mBAAA/K,EAAAgL,QAAAhL,EAAAgL,UAAAhL,EACAA,EAAA0K,EAAAK,KAAA,GAAAA,EAEA,oBAAA/K,EACA,WAAAA,OAEAA,IAAAiL,QAAAtB,EAAA,IACA,IAAAuB,EAAArB,EAAAsB,KAAAnL,GACA,OAAAkL,GAAApB,EAAAqB,KAAAnL,GACA+J,EAAA/J,EAAAoL,MAAA,GAAAF,EAAA,KACAtB,EAAAuB,KAAAnL,GAAAyJ,GAAAzJ,EAGAqL,EAAAC,QAtPA,SAAAC,EAAAC,EAAAC,GACA,IAAAC,EACAC,EACAC,EACAzM,EACA0M,EACAtJ,EACAuJ,EAAA,EACAC,GAAA,EACAC,GAAA,EACAC,GAAA,EAEA,sBAAAV,EACA,UAAA9C,UAAAe,GAUA,SAAA0C,EAAAC,GACA,IAAAC,EAAAV,EACAW,EAAAV,EAKA,OAHAD,EAAAC,OAAAW,EACAR,EAAAK,EACAhN,EAAAoM,EAAAhC,MAAA8C,EAAAD,GAqBA,SAAAG,EAAAJ,GACA,IAAAK,EAAAL,EAAA5J,EAMA,YAAA+J,IAAA/J,GAAAiK,GAAAhB,GACAgB,EAAA,GAAAR,GANAG,EAAAL,GAMAF,EAGA,SAAAa,IACA,IAAAN,EAAA5K,IACA,GAAAgL,EAAAJ,GACA,OAAAO,EAAAP,GAGAN,EAAAxK,WAAAoL,EAzBA,SAAAN,GACA,IAEAhN,EAAAqM,GAFAW,EAAA5J,GAIA,OAAAyJ,EAAAxB,EAAArL,EAAAyM,GAHAO,EAAAL,IAGA3M,EAoBAwN,CAAAR,IAGA,SAAAO,EAAAP,GAKA,OAJAN,OAAAS,EAIAL,GAAAP,EACAQ,EAAAC,IAEAT,EAAAC,OAAAW,EACAnN,GAeA,SAAAyN,IACA,IAAAT,EAAA5K,IACAsL,EAAAN,EAAAJ,GAMA,GAJAT,EAAAtG,UACAuG,EAAArP,KACAiG,EAAA4J,EAEAU,EAAA,CACA,QAAAP,IAAAT,EACA,OAvEA,SAAAM,GAMA,OAJAL,EAAAK,EAEAN,EAAAxK,WAAAoL,EAAAjB,GAEAO,EAAAG,EAAAC,GAAAhN,EAiEA2N,CAAAvK,GAEA,GAAAyJ,EAGA,OADAH,EAAAxK,WAAAoL,EAAAjB,GACAU,EAAA3J,GAMA,YAHA+J,IAAAT,IACAA,EAAAxK,WAAAoL,EAAAjB,IAEArM,EAIA,OAxGAqM,EAAAZ,EAAAY,IAAA,EACAd,EAAAe,KACAM,IAAAN,EAAAM,QAEAH,GADAI,EAAA,YAAAP,GACAnB,EAAAM,EAAAa,EAAAG,UAAA,EAAAJ,GAAAI,EACAK,EAAA,aAAAR,MAAAQ,YAiGAW,EAAAG,OAnCA,gBACAT,IAAAT,GACAmB,aAAAnB,GAEAC,EAAA,EACAJ,EAAAnJ,EAAAoJ,EAAAE,OAAAS,GA+BAM,EAAAK,MA5BA,WACA,YAAAX,IAAAT,EAAA1M,EAAAuN,EAAAnL,MA4BAqL","file":"7-chunk.5c1384390c9026de2bfc.js","sourcesContent":["/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nfunction componentWillMount() {\n // Call this.constructor.gDSFP to support sub-classes.\n var state = this.constructor.getDerivedStateFromProps(this.props, this.state);\n if (state !== null && state !== undefined) {\n this.setState(state);\n }\n}\n\nfunction componentWillReceiveProps(nextProps) {\n // Call this.constructor.gDSFP to support sub-classes.\n // Use the setState() updater to ensure state isn't stale in certain edge cases.\n function updater(prevState) {\n var state = this.constructor.getDerivedStateFromProps(nextProps, prevState);\n return state !== null && state !== undefined ? state : null;\n }\n // Binding \"this\" is important for shallow renderer support.\n this.setState(updater.bind(this));\n}\n\nfunction componentWillUpdate(nextProps, nextState) {\n try {\n var prevProps = this.props;\n var prevState = this.state;\n this.props = nextProps;\n this.state = nextState;\n this.__reactInternalSnapshotFlag = true;\n this.__reactInternalSnapshot = this.getSnapshotBeforeUpdate(\n prevProps,\n prevState\n );\n } finally {\n this.props = prevProps;\n this.state = prevState;\n }\n}\n\n// React may warn about cWM/cWRP/cWU methods being deprecated.\n// Add a flag to suppress these warnings for this special case.\ncomponentWillMount.__suppressDeprecationWarning = true;\ncomponentWillReceiveProps.__suppressDeprecationWarning = true;\ncomponentWillUpdate.__suppressDeprecationWarning = true;\n\nfunction polyfill(Component) {\n var prototype = Component.prototype;\n\n if (!prototype || !prototype.isReactComponent) {\n throw new Error('Can only polyfill class components');\n }\n\n if (\n typeof Component.getDerivedStateFromProps !== 'function' &&\n typeof prototype.getSnapshotBeforeUpdate !== 'function'\n ) {\n return Component;\n }\n\n // If new component APIs are defined, \"unsafe\" lifecycles won't be called.\n // Error if any of these lifecycles are present,\n // Because they would work differently between older and newer (16.3+) versions of React.\n var foundWillMountName = null;\n var foundWillReceivePropsName = null;\n var foundWillUpdateName = null;\n if (typeof prototype.componentWillMount === 'function') {\n foundWillMountName = 'componentWillMount';\n } else if (typeof prototype.UNSAFE_componentWillMount === 'function') {\n foundWillMountName = 'UNSAFE_componentWillMount';\n }\n if (typeof prototype.componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'componentWillReceiveProps';\n } else if (typeof prototype.UNSAFE_componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'UNSAFE_componentWillReceiveProps';\n }\n if (typeof prototype.componentWillUpdate === 'function') {\n foundWillUpdateName = 'componentWillUpdate';\n } else if (typeof prototype.UNSAFE_componentWillUpdate === 'function') {\n foundWillUpdateName = 'UNSAFE_componentWillUpdate';\n }\n if (\n foundWillMountName !== null ||\n foundWillReceivePropsName !== null ||\n foundWillUpdateName !== null\n ) {\n var componentName = Component.displayName || Component.name;\n var newApiName =\n typeof Component.getDerivedStateFromProps === 'function'\n ? 'getDerivedStateFromProps()'\n : 'getSnapshotBeforeUpdate()';\n\n throw Error(\n 'Unsafe legacy lifecycles will not be called for components using new component APIs.\\n\\n' +\n componentName +\n ' uses ' +\n newApiName +\n ' but also contains the following legacy lifecycles:' +\n (foundWillMountName !== null ? '\\n ' + foundWillMountName : '') +\n (foundWillReceivePropsName !== null\n ? '\\n ' + foundWillReceivePropsName\n : '') +\n (foundWillUpdateName !== null ? '\\n ' + foundWillUpdateName : '') +\n '\\n\\nThe above lifecycles should be removed. Learn more about this warning here:\\n' +\n 'https://fb.me/react-async-component-lifecycle-hooks'\n );\n }\n\n // React <= 16.2 does not support static getDerivedStateFromProps.\n // As a workaround, use cWM and cWRP to invoke the new static lifecycle.\n // Newer versions of React will ignore these lifecycles if gDSFP exists.\n if (typeof Component.getDerivedStateFromProps === 'function') {\n prototype.componentWillMount = componentWillMount;\n prototype.componentWillReceiveProps = componentWillReceiveProps;\n }\n\n // React <= 16.2 does not support getSnapshotBeforeUpdate.\n // As a workaround, use cWU to invoke the new lifecycle.\n // Newer versions of React will ignore that lifecycle if gSBU exists.\n if (typeof prototype.getSnapshotBeforeUpdate === 'function') {\n if (typeof prototype.componentDidUpdate !== 'function') {\n throw new Error(\n 'Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype'\n );\n }\n\n prototype.componentWillUpdate = componentWillUpdate;\n\n var componentDidUpdate = prototype.componentDidUpdate;\n\n prototype.componentDidUpdate = function componentDidUpdatePolyfill(\n prevProps,\n prevState,\n maybeSnapshot\n ) {\n // 16.3+ will not execute our will-update method;\n // It will pass a snapshot value to did-update though.\n // Older versions will require our polyfilled will-update value.\n // We need to handle both cases, but can't just check for the presence of \"maybeSnapshot\",\n // Because for <= 15.x versions this might be a \"prevContext\" object.\n // We also can't just check \"__reactInternalSnapshot\",\n // Because get-snapshot might return a falsy value.\n // So check for the explicit __reactInternalSnapshotFlag flag to determine behavior.\n var snapshot = this.__reactInternalSnapshotFlag\n ? this.__reactInternalSnapshot\n : maybeSnapshot;\n\n componentDidUpdate.call(this, prevProps, prevState, snapshot);\n };\n }\n\n return Component;\n}\n\nexport { polyfill };\n","/**\r\n * A collection of shims that provide minimal functionality of the ES6 collections.\r\n *\r\n * These implementations are not meant to be used outside of the ResizeObserver\r\n * modules as they cover only a limited range of use cases.\r\n */\r\n/* eslint-disable require-jsdoc, valid-jsdoc */\r\nvar MapShim = (function () {\r\n if (typeof Map !== 'undefined') {\r\n return Map;\r\n }\r\n /**\r\n * Returns index in provided array that matches the specified key.\r\n *\r\n * @param {Array} arr\r\n * @param {*} key\r\n * @returns {number}\r\n */\r\n function getIndex(arr, key) {\r\n var result = -1;\r\n arr.some(function (entry, index) {\r\n if (entry[0] === key) {\r\n result = index;\r\n return true;\r\n }\r\n return false;\r\n });\r\n return result;\r\n }\r\n return /** @class */ (function () {\r\n function class_1() {\r\n this.__entries__ = [];\r\n }\r\n Object.defineProperty(class_1.prototype, \"size\", {\r\n /**\r\n * @returns {boolean}\r\n */\r\n get: function () {\r\n return this.__entries__.length;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n /**\r\n * @param {*} key\r\n * @returns {*}\r\n */\r\n class_1.prototype.get = function (key) {\r\n var index = getIndex(this.__entries__, key);\r\n var entry = this.__entries__[index];\r\n return entry && entry[1];\r\n };\r\n /**\r\n * @param {*} key\r\n * @param {*} value\r\n * @returns {void}\r\n */\r\n class_1.prototype.set = function (key, value) {\r\n var index = getIndex(this.__entries__, key);\r\n if (~index) {\r\n this.__entries__[index][1] = value;\r\n }\r\n else {\r\n this.__entries__.push([key, value]);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.delete = function (key) {\r\n var entries = this.__entries__;\r\n var index = getIndex(entries, key);\r\n if (~index) {\r\n entries.splice(index, 1);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.has = function (key) {\r\n return !!~getIndex(this.__entries__, key);\r\n };\r\n /**\r\n * @returns {void}\r\n */\r\n class_1.prototype.clear = function () {\r\n this.__entries__.splice(0);\r\n };\r\n /**\r\n * @param {Function} callback\r\n * @param {*} [ctx=null]\r\n * @returns {void}\r\n */\r\n class_1.prototype.forEach = function (callback, ctx) {\r\n if (ctx === void 0) { ctx = null; }\r\n for (var _i = 0, _a = this.__entries__; _i < _a.length; _i++) {\r\n var entry = _a[_i];\r\n callback.call(ctx, entry[1], entry[0]);\r\n }\r\n };\r\n return class_1;\r\n }());\r\n})();\n\n/**\r\n * Detects whether window and document objects are available in current environment.\r\n */\r\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && window.document === document;\n\n// Returns global object of a current environment.\r\nvar global$1 = (function () {\r\n if (typeof global !== 'undefined' && global.Math === Math) {\r\n return global;\r\n }\r\n if (typeof self !== 'undefined' && self.Math === Math) {\r\n return self;\r\n }\r\n if (typeof window !== 'undefined' && window.Math === Math) {\r\n return window;\r\n }\r\n // eslint-disable-next-line no-new-func\r\n return Function('return this')();\r\n})();\n\n/**\r\n * A shim for the requestAnimationFrame which falls back to the setTimeout if\r\n * first one is not supported.\r\n *\r\n * @returns {number} Requests' identifier.\r\n */\r\nvar requestAnimationFrame$1 = (function () {\r\n if (typeof requestAnimationFrame === 'function') {\r\n // It's required to use a bounded function because IE sometimes throws\r\n // an \"Invalid calling object\" error if rAF is invoked without the global\r\n // object on the left hand side.\r\n return requestAnimationFrame.bind(global$1);\r\n }\r\n return function (callback) { return setTimeout(function () { return callback(Date.now()); }, 1000 / 60); };\r\n})();\n\n// Defines minimum timeout before adding a trailing call.\r\nvar trailingTimeout = 2;\r\n/**\r\n * Creates a wrapper function which ensures that provided callback will be\r\n * invoked only once during the specified delay period.\r\n *\r\n * @param {Function} callback - Function to be invoked after the delay period.\r\n * @param {number} delay - Delay after which to invoke callback.\r\n * @returns {Function}\r\n */\r\nfunction throttle (callback, delay) {\r\n var leadingCall = false, trailingCall = false, lastCallTime = 0;\r\n /**\r\n * Invokes the original callback function and schedules new invocation if\r\n * the \"proxy\" was called during current request.\r\n *\r\n * @returns {void}\r\n */\r\n function resolvePending() {\r\n if (leadingCall) {\r\n leadingCall = false;\r\n callback();\r\n }\r\n if (trailingCall) {\r\n proxy();\r\n }\r\n }\r\n /**\r\n * Callback invoked after the specified delay. It will further postpone\r\n * invocation of the original function delegating it to the\r\n * requestAnimationFrame.\r\n *\r\n * @returns {void}\r\n */\r\n function timeoutCallback() {\r\n requestAnimationFrame$1(resolvePending);\r\n }\r\n /**\r\n * Schedules invocation of the original function.\r\n *\r\n * @returns {void}\r\n */\r\n function proxy() {\r\n var timeStamp = Date.now();\r\n if (leadingCall) {\r\n // Reject immediately following calls.\r\n if (timeStamp - lastCallTime < trailingTimeout) {\r\n return;\r\n }\r\n // Schedule new call to be in invoked when the pending one is resolved.\r\n // This is important for \"transitions\" which never actually start\r\n // immediately so there is a chance that we might miss one if change\r\n // happens amids the pending invocation.\r\n trailingCall = true;\r\n }\r\n else {\r\n leadingCall = true;\r\n trailingCall = false;\r\n setTimeout(timeoutCallback, delay);\r\n }\r\n lastCallTime = timeStamp;\r\n }\r\n return proxy;\r\n}\n\n// Minimum delay before invoking the update of observers.\r\nvar REFRESH_DELAY = 20;\r\n// A list of substrings of CSS properties used to find transition events that\r\n// might affect dimensions of observed elements.\r\nvar transitionKeys = ['top', 'right', 'bottom', 'left', 'width', 'height', 'size', 'weight'];\r\n// Check if MutationObserver is available.\r\nvar mutationObserverSupported = typeof MutationObserver !== 'undefined';\r\n/**\r\n * Singleton controller class which handles updates of ResizeObserver instances.\r\n */\r\nvar ResizeObserverController = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserverController.\r\n *\r\n * @private\r\n */\r\n function ResizeObserverController() {\r\n /**\r\n * Indicates whether DOM listeners have been added.\r\n *\r\n * @private {boolean}\r\n */\r\n this.connected_ = false;\r\n /**\r\n * Tells that controller has subscribed for Mutation Events.\r\n *\r\n * @private {boolean}\r\n */\r\n this.mutationEventsAdded_ = false;\r\n /**\r\n * Keeps reference to the instance of MutationObserver.\r\n *\r\n * @private {MutationObserver}\r\n */\r\n this.mutationsObserver_ = null;\r\n /**\r\n * A list of connected observers.\r\n *\r\n * @private {Array}\r\n */\r\n this.observers_ = [];\r\n this.onTransitionEnd_ = this.onTransitionEnd_.bind(this);\r\n this.refresh = throttle(this.refresh.bind(this), REFRESH_DELAY);\r\n }\r\n /**\r\n * Adds observer to observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be added.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.addObserver = function (observer) {\r\n if (!~this.observers_.indexOf(observer)) {\r\n this.observers_.push(observer);\r\n }\r\n // Add listeners if they haven't been added yet.\r\n if (!this.connected_) {\r\n this.connect_();\r\n }\r\n };\r\n /**\r\n * Removes observer from observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be removed.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.removeObserver = function (observer) {\r\n var observers = this.observers_;\r\n var index = observers.indexOf(observer);\r\n // Remove observer if it's present in registry.\r\n if (~index) {\r\n observers.splice(index, 1);\r\n }\r\n // Remove listeners if controller has no connected observers.\r\n if (!observers.length && this.connected_) {\r\n this.disconnect_();\r\n }\r\n };\r\n /**\r\n * Invokes the update of observers. It will continue running updates insofar\r\n * it detects changes.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.refresh = function () {\r\n var changesDetected = this.updateObservers_();\r\n // Continue running updates if changes have been detected as there might\r\n // be future ones caused by CSS transitions.\r\n if (changesDetected) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Updates every observer from observers list and notifies them of queued\r\n * entries.\r\n *\r\n * @private\r\n * @returns {boolean} Returns \"true\" if any observer has detected changes in\r\n * dimensions of it's elements.\r\n */\r\n ResizeObserverController.prototype.updateObservers_ = function () {\r\n // Collect observers that have active observations.\r\n var activeObservers = this.observers_.filter(function (observer) {\r\n return observer.gatherActive(), observer.hasActive();\r\n });\r\n // Deliver notifications in a separate cycle in order to avoid any\r\n // collisions between observers, e.g. when multiple instances of\r\n // ResizeObserver are tracking the same element and the callback of one\r\n // of them changes content dimensions of the observed target. Sometimes\r\n // this may result in notifications being blocked for the rest of observers.\r\n activeObservers.forEach(function (observer) { return observer.broadcastActive(); });\r\n return activeObservers.length > 0;\r\n };\r\n /**\r\n * Initializes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.connect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already added.\r\n if (!isBrowser || this.connected_) {\r\n return;\r\n }\r\n // Subscription to the \"Transitionend\" event is used as a workaround for\r\n // delayed transitions. This way it's possible to capture at least the\r\n // final state of an element.\r\n document.addEventListener('transitionend', this.onTransitionEnd_);\r\n window.addEventListener('resize', this.refresh);\r\n if (mutationObserverSupported) {\r\n this.mutationsObserver_ = new MutationObserver(this.refresh);\r\n this.mutationsObserver_.observe(document, {\r\n attributes: true,\r\n childList: true,\r\n characterData: true,\r\n subtree: true\r\n });\r\n }\r\n else {\r\n document.addEventListener('DOMSubtreeModified', this.refresh);\r\n this.mutationEventsAdded_ = true;\r\n }\r\n this.connected_ = true;\r\n };\r\n /**\r\n * Removes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.disconnect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already removed.\r\n if (!isBrowser || !this.connected_) {\r\n return;\r\n }\r\n document.removeEventListener('transitionend', this.onTransitionEnd_);\r\n window.removeEventListener('resize', this.refresh);\r\n if (this.mutationsObserver_) {\r\n this.mutationsObserver_.disconnect();\r\n }\r\n if (this.mutationEventsAdded_) {\r\n document.removeEventListener('DOMSubtreeModified', this.refresh);\r\n }\r\n this.mutationsObserver_ = null;\r\n this.mutationEventsAdded_ = false;\r\n this.connected_ = false;\r\n };\r\n /**\r\n * \"Transitionend\" event handler.\r\n *\r\n * @private\r\n * @param {TransitionEvent} event\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.onTransitionEnd_ = function (_a) {\r\n var _b = _a.propertyName, propertyName = _b === void 0 ? '' : _b;\r\n // Detect whether transition may affect dimensions of an element.\r\n var isReflowProperty = transitionKeys.some(function (key) {\r\n return !!~propertyName.indexOf(key);\r\n });\r\n if (isReflowProperty) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Returns instance of the ResizeObserverController.\r\n *\r\n * @returns {ResizeObserverController}\r\n */\r\n ResizeObserverController.getInstance = function () {\r\n if (!this.instance_) {\r\n this.instance_ = new ResizeObserverController();\r\n }\r\n return this.instance_;\r\n };\r\n /**\r\n * Holds reference to the controller's instance.\r\n *\r\n * @private {ResizeObserverController}\r\n */\r\n ResizeObserverController.instance_ = null;\r\n return ResizeObserverController;\r\n}());\n\n/**\r\n * Defines non-writable/enumerable properties of the provided target object.\r\n *\r\n * @param {Object} target - Object for which to define properties.\r\n * @param {Object} props - Properties to be defined.\r\n * @returns {Object} Target object.\r\n */\r\nvar defineConfigurable = (function (target, props) {\r\n for (var _i = 0, _a = Object.keys(props); _i < _a.length; _i++) {\r\n var key = _a[_i];\r\n Object.defineProperty(target, key, {\r\n value: props[key],\r\n enumerable: false,\r\n writable: false,\r\n configurable: true\r\n });\r\n }\r\n return target;\r\n});\n\n/**\r\n * Returns the global object associated with provided element.\r\n *\r\n * @param {Object} target\r\n * @returns {Object}\r\n */\r\nvar getWindowOf = (function (target) {\r\n // Assume that the element is an instance of Node, which means that it\r\n // has the \"ownerDocument\" property from which we can retrieve a\r\n // corresponding global object.\r\n var ownerGlobal = target && target.ownerDocument && target.ownerDocument.defaultView;\r\n // Return the local global object if it's not possible extract one from\r\n // provided element.\r\n return ownerGlobal || global$1;\r\n});\n\n// Placeholder of an empty content rectangle.\r\nvar emptyRect = createRectInit(0, 0, 0, 0);\r\n/**\r\n * Converts provided string to a number.\r\n *\r\n * @param {number|string} value\r\n * @returns {number}\r\n */\r\nfunction toFloat(value) {\r\n return parseFloat(value) || 0;\r\n}\r\n/**\r\n * Extracts borders size from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @param {...string} positions - Borders positions (top, right, ...)\r\n * @returns {number}\r\n */\r\nfunction getBordersSize(styles) {\r\n var positions = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n positions[_i - 1] = arguments[_i];\r\n }\r\n return positions.reduce(function (size, position) {\r\n var value = styles['border-' + position + '-width'];\r\n return size + toFloat(value);\r\n }, 0);\r\n}\r\n/**\r\n * Extracts paddings sizes from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @returns {Object} Paddings box.\r\n */\r\nfunction getPaddings(styles) {\r\n var positions = ['top', 'right', 'bottom', 'left'];\r\n var paddings = {};\r\n for (var _i = 0, positions_1 = positions; _i < positions_1.length; _i++) {\r\n var position = positions_1[_i];\r\n var value = styles['padding-' + position];\r\n paddings[position] = toFloat(value);\r\n }\r\n return paddings;\r\n}\r\n/**\r\n * Calculates content rectangle of provided SVG element.\r\n *\r\n * @param {SVGGraphicsElement} target - Element content rectangle of which needs\r\n * to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getSVGContentRect(target) {\r\n var bbox = target.getBBox();\r\n return createRectInit(0, 0, bbox.width, bbox.height);\r\n}\r\n/**\r\n * Calculates content rectangle of provided HTMLElement.\r\n *\r\n * @param {HTMLElement} target - Element for which to calculate the content rectangle.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getHTMLElementContentRect(target) {\r\n // Client width & height properties can't be\r\n // used exclusively as they provide rounded values.\r\n var clientWidth = target.clientWidth, clientHeight = target.clientHeight;\r\n // By this condition we can catch all non-replaced inline, hidden and\r\n // detached elements. Though elements with width & height properties less\r\n // than 0.5 will be discarded as well.\r\n //\r\n // Without it we would need to implement separate methods for each of\r\n // those cases and it's not possible to perform a precise and performance\r\n // effective test for hidden elements. E.g. even jQuery's ':visible' filter\r\n // gives wrong results for elements with width & height less than 0.5.\r\n if (!clientWidth && !clientHeight) {\r\n return emptyRect;\r\n }\r\n var styles = getWindowOf(target).getComputedStyle(target);\r\n var paddings = getPaddings(styles);\r\n var horizPad = paddings.left + paddings.right;\r\n var vertPad = paddings.top + paddings.bottom;\r\n // Computed styles of width & height are being used because they are the\r\n // only dimensions available to JS that contain non-rounded values. It could\r\n // be possible to utilize the getBoundingClientRect if only it's data wasn't\r\n // affected by CSS transformations let alone paddings, borders and scroll bars.\r\n var width = toFloat(styles.width), height = toFloat(styles.height);\r\n // Width & height include paddings and borders when the 'border-box' box\r\n // model is applied (except for IE).\r\n if (styles.boxSizing === 'border-box') {\r\n // Following conditions are required to handle Internet Explorer which\r\n // doesn't include paddings and borders to computed CSS dimensions.\r\n //\r\n // We can say that if CSS dimensions + paddings are equal to the \"client\"\r\n // properties then it's either IE, and thus we don't need to subtract\r\n // anything, or an element merely doesn't have paddings/borders styles.\r\n if (Math.round(width + horizPad) !== clientWidth) {\r\n width -= getBordersSize(styles, 'left', 'right') + horizPad;\r\n }\r\n if (Math.round(height + vertPad) !== clientHeight) {\r\n height -= getBordersSize(styles, 'top', 'bottom') + vertPad;\r\n }\r\n }\r\n // Following steps can't be applied to the document's root element as its\r\n // client[Width/Height] properties represent viewport area of the window.\r\n // Besides, it's as well not necessary as the itself neither has\r\n // rendered scroll bars nor it can be clipped.\r\n if (!isDocumentElement(target)) {\r\n // In some browsers (only in Firefox, actually) CSS width & height\r\n // include scroll bars size which can be removed at this step as scroll\r\n // bars are the only difference between rounded dimensions + paddings\r\n // and \"client\" properties, though that is not always true in Chrome.\r\n var vertScrollbar = Math.round(width + horizPad) - clientWidth;\r\n var horizScrollbar = Math.round(height + vertPad) - clientHeight;\r\n // Chrome has a rather weird rounding of \"client\" properties.\r\n // E.g. for an element with content width of 314.2px it sometimes gives\r\n // the client width of 315px and for the width of 314.7px it may give\r\n // 314px. And it doesn't happen all the time. So just ignore this delta\r\n // as a non-relevant.\r\n if (Math.abs(vertScrollbar) !== 1) {\r\n width -= vertScrollbar;\r\n }\r\n if (Math.abs(horizScrollbar) !== 1) {\r\n height -= horizScrollbar;\r\n }\r\n }\r\n return createRectInit(paddings.left, paddings.top, width, height);\r\n}\r\n/**\r\n * Checks whether provided element is an instance of the SVGGraphicsElement.\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nvar isSVGGraphicsElement = (function () {\r\n // Some browsers, namely IE and Edge, don't have the SVGGraphicsElement\r\n // interface.\r\n if (typeof SVGGraphicsElement !== 'undefined') {\r\n return function (target) { return target instanceof getWindowOf(target).SVGGraphicsElement; };\r\n }\r\n // If it's so, then check that element is at least an instance of the\r\n // SVGElement and that it has the \"getBBox\" method.\r\n // eslint-disable-next-line no-extra-parens\r\n return function (target) { return (target instanceof getWindowOf(target).SVGElement &&\r\n typeof target.getBBox === 'function'); };\r\n})();\r\n/**\r\n * Checks whether provided element is a document element ().\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nfunction isDocumentElement(target) {\r\n return target === getWindowOf(target).document.documentElement;\r\n}\r\n/**\r\n * Calculates an appropriate content rectangle for provided html or svg element.\r\n *\r\n * @param {Element} target - Element content rectangle of which needs to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getContentRect(target) {\r\n if (!isBrowser) {\r\n return emptyRect;\r\n }\r\n if (isSVGGraphicsElement(target)) {\r\n return getSVGContentRect(target);\r\n }\r\n return getHTMLElementContentRect(target);\r\n}\r\n/**\r\n * Creates rectangle with an interface of the DOMRectReadOnly.\r\n * Spec: https://drafts.fxtf.org/geometry/#domrectreadonly\r\n *\r\n * @param {DOMRectInit} rectInit - Object with rectangle's x/y coordinates and dimensions.\r\n * @returns {DOMRectReadOnly}\r\n */\r\nfunction createReadOnlyRect(_a) {\r\n var x = _a.x, y = _a.y, width = _a.width, height = _a.height;\r\n // If DOMRectReadOnly is available use it as a prototype for the rectangle.\r\n var Constr = typeof DOMRectReadOnly !== 'undefined' ? DOMRectReadOnly : Object;\r\n var rect = Object.create(Constr.prototype);\r\n // Rectangle's properties are not writable and non-enumerable.\r\n defineConfigurable(rect, {\r\n x: x, y: y, width: width, height: height,\r\n top: y,\r\n right: x + width,\r\n bottom: height + y,\r\n left: x\r\n });\r\n return rect;\r\n}\r\n/**\r\n * Creates DOMRectInit object based on the provided dimensions and the x/y coordinates.\r\n * Spec: https://drafts.fxtf.org/geometry/#dictdef-domrectinit\r\n *\r\n * @param {number} x - X coordinate.\r\n * @param {number} y - Y coordinate.\r\n * @param {number} width - Rectangle's width.\r\n * @param {number} height - Rectangle's height.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction createRectInit(x, y, width, height) {\r\n return { x: x, y: y, width: width, height: height };\r\n}\n\n/**\r\n * Class that is responsible for computations of the content rectangle of\r\n * provided DOM element and for keeping track of it's changes.\r\n */\r\nvar ResizeObservation = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObservation.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n */\r\n function ResizeObservation(target) {\r\n /**\r\n * Broadcasted width of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastWidth = 0;\r\n /**\r\n * Broadcasted height of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastHeight = 0;\r\n /**\r\n * Reference to the last observed content rectangle.\r\n *\r\n * @private {DOMRectInit}\r\n */\r\n this.contentRect_ = createRectInit(0, 0, 0, 0);\r\n this.target = target;\r\n }\r\n /**\r\n * Updates content rectangle and tells whether it's width or height properties\r\n * have changed since the last broadcast.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObservation.prototype.isActive = function () {\r\n var rect = getContentRect(this.target);\r\n this.contentRect_ = rect;\r\n return (rect.width !== this.broadcastWidth ||\r\n rect.height !== this.broadcastHeight);\r\n };\r\n /**\r\n * Updates 'broadcastWidth' and 'broadcastHeight' properties with a data\r\n * from the corresponding properties of the last observed content rectangle.\r\n *\r\n * @returns {DOMRectInit} Last observed content rectangle.\r\n */\r\n ResizeObservation.prototype.broadcastRect = function () {\r\n var rect = this.contentRect_;\r\n this.broadcastWidth = rect.width;\r\n this.broadcastHeight = rect.height;\r\n return rect;\r\n };\r\n return ResizeObservation;\r\n}());\n\nvar ResizeObserverEntry = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObserverEntry.\r\n *\r\n * @param {Element} target - Element that is being observed.\r\n * @param {DOMRectInit} rectInit - Data of the element's content rectangle.\r\n */\r\n function ResizeObserverEntry(target, rectInit) {\r\n var contentRect = createReadOnlyRect(rectInit);\r\n // According to the specification following properties are not writable\r\n // and are also not enumerable in the native implementation.\r\n //\r\n // Property accessors are not being used as they'd require to define a\r\n // private WeakMap storage which may cause memory leaks in browsers that\r\n // don't support this type of collections.\r\n defineConfigurable(this, { target: target, contentRect: contentRect });\r\n }\r\n return ResizeObserverEntry;\r\n}());\n\nvar ResizeObserverSPI = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback function that is invoked\r\n * when one of the observed elements changes it's content dimensions.\r\n * @param {ResizeObserverController} controller - Controller instance which\r\n * is responsible for the updates of observer.\r\n * @param {ResizeObserver} callbackCtx - Reference to the public\r\n * ResizeObserver instance which will be passed to callback function.\r\n */\r\n function ResizeObserverSPI(callback, controller, callbackCtx) {\r\n /**\r\n * Collection of resize observations that have detected changes in dimensions\r\n * of elements.\r\n *\r\n * @private {Array}\r\n */\r\n this.activeObservations_ = [];\r\n /**\r\n * Registry of the ResizeObservation instances.\r\n *\r\n * @private {Map}\r\n */\r\n this.observations_ = new MapShim();\r\n if (typeof callback !== 'function') {\r\n throw new TypeError('The callback provided as parameter 1 is not a function.');\r\n }\r\n this.callback_ = callback;\r\n this.controller_ = controller;\r\n this.callbackCtx_ = callbackCtx;\r\n }\r\n /**\r\n * Starts observing provided element.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.observe = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is already being observed.\r\n if (observations.has(target)) {\r\n return;\r\n }\r\n observations.set(target, new ResizeObservation(target));\r\n this.controller_.addObserver(this);\r\n // Force the update of observations.\r\n this.controller_.refresh();\r\n };\r\n /**\r\n * Stops observing provided element.\r\n *\r\n * @param {Element} target - Element to stop observing.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.unobserve = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is not being observed.\r\n if (!observations.has(target)) {\r\n return;\r\n }\r\n observations.delete(target);\r\n if (!observations.size) {\r\n this.controller_.removeObserver(this);\r\n }\r\n };\r\n /**\r\n * Stops observing all elements.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.disconnect = function () {\r\n this.clearActive();\r\n this.observations_.clear();\r\n this.controller_.removeObserver(this);\r\n };\r\n /**\r\n * Collects observation instances the associated element of which has changed\r\n * it's content rectangle.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.gatherActive = function () {\r\n var _this = this;\r\n this.clearActive();\r\n this.observations_.forEach(function (observation) {\r\n if (observation.isActive()) {\r\n _this.activeObservations_.push(observation);\r\n }\r\n });\r\n };\r\n /**\r\n * Invokes initial callback function with a list of ResizeObserverEntry\r\n * instances collected from active resize observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.broadcastActive = function () {\r\n // Do nothing if observer doesn't have active observations.\r\n if (!this.hasActive()) {\r\n return;\r\n }\r\n var ctx = this.callbackCtx_;\r\n // Create ResizeObserverEntry instance for every active observation.\r\n var entries = this.activeObservations_.map(function (observation) {\r\n return new ResizeObserverEntry(observation.target, observation.broadcastRect());\r\n });\r\n this.callback_.call(ctx, entries, ctx);\r\n this.clearActive();\r\n };\r\n /**\r\n * Clears the collection of active observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.clearActive = function () {\r\n this.activeObservations_.splice(0);\r\n };\r\n /**\r\n * Tells whether observer has active observations.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObserverSPI.prototype.hasActive = function () {\r\n return this.activeObservations_.length > 0;\r\n };\r\n return ResizeObserverSPI;\r\n}());\n\n// Registry of internal observers. If WeakMap is not available use current shim\r\n// for the Map collection as it has all required methods and because WeakMap\r\n// can't be fully polyfilled anyway.\r\nvar observers = typeof WeakMap !== 'undefined' ? new WeakMap() : new MapShim();\r\n/**\r\n * ResizeObserver API. Encapsulates the ResizeObserver SPI implementation\r\n * exposing only those methods and properties that are defined in the spec.\r\n */\r\nvar ResizeObserver = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback that is invoked when\r\n * dimensions of the observed elements change.\r\n */\r\n function ResizeObserver(callback) {\r\n if (!(this instanceof ResizeObserver)) {\r\n throw new TypeError('Cannot call a class as a function.');\r\n }\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n var controller = ResizeObserverController.getInstance();\r\n var observer = new ResizeObserverSPI(callback, controller, this);\r\n observers.set(this, observer);\r\n }\r\n return ResizeObserver;\r\n}());\r\n// Expose public methods of ResizeObserver.\r\n[\r\n 'observe',\r\n 'unobserve',\r\n 'disconnect'\r\n].forEach(function (method) {\r\n ResizeObserver.prototype[method] = function () {\r\n var _a;\r\n return (_a = observers.get(this))[method].apply(_a, arguments);\r\n };\r\n});\n\nvar index = (function () {\r\n // Export existing implementation if available.\r\n if (typeof global$1.ResizeObserver !== 'undefined') {\r\n return global$1.ResizeObserver;\r\n }\r\n return ResizeObserver;\r\n})();\n\nexport default index;\n","/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n result = wait - timeSinceLastCall;\n\n return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = debounce;\n"],"sourceRoot":""}