{"version":3,"sources":["webpack:///./node_modules/react-is/index.js","webpack:///./node_modules/resolve-pathname/esm/resolve-pathname.js","webpack:///./node_modules/value-equal/esm/value-equal.js","webpack:///./node_modules/react-is/cjs/react-is.production.min.js","webpack:///./node_modules/react-router/node_modules/isarray/index.js","webpack:///./node_modules/react-router/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack:///./node_modules/react-router/node_modules/@babel/runtime/helpers/esm/extends.js","webpack:///./node_modules/react-router/node_modules/history/esm/history.js","webpack:///./node_modules/react-router/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack:///./node_modules/react-router/esm/react-router.js","webpack:///./node_modules/tiny-invariant/dist/tiny-invariant.esm.js","webpack:///./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","webpack:///./node_modules/mini-create-react-context/dist/esm/index.js","webpack:///./node_modules/mini-create-react-context/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack:///./node_modules/react-router/node_modules/path-to-regexp/index.js"],"names":["module","exports","isAbsolute","pathname","charAt","spliceOne","list","index","i","k","n","length","pop","to","from","undefined","hasTrailingSlash","toParts","split","fromParts","isToAbs","isFromAbs","mustEndAbs","concat","last","up","part","unshift","result","join","substr","_typeof","obj","Symbol","iterator","constructor","prototype","valueOf","Object","call","valueEqual","a","b","Array","isArray","every","item","aValue","bValue","keys","assign","key","c","d","e","f","g","h","l","m","p","q","r","t","v","w","x","y","z","u","$$typeof","type","A","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Element","ForwardRef","Fragment","Lazy","Memo","Portal","Profiler","StrictMode","Suspense","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isMemo","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","typeOf","arr","toString","_inheritsLoose","subClass","superClass","create","__proto__","_extends","target","arguments","source","hasOwnProperty","apply","this","createPath","location","search","hash","path","createLocation","state","currentLocation","hashIndex","indexOf","searchIndex","parsePath","decodeURI","URIError","createTransitionManager","prompt","listeners","setPrompt","nextPrompt","confirmTransitionTo","action","getUserConfirmation","callback","appendListener","fn","isActive","listener","push","filter","notifyListeners","_len","args","_key","forEach","window","document","createElement","clamp","lowerBound","upperBound","Math","min","max","createMemoryHistory","props","_props","_props$initialEntries","initialEntries","_props$initialIndex","initialIndex","_props$keyLength","keyLength","transitionManager","setState","nextState","history","entries","createKey","random","map","entry","createHref","go","nextIndex","ok","nextEntries","slice","splice","replace","goBack","goForward","canGo","block","listen","_objectWithoutPropertiesLoose","excluded","sourceKeys","historyContext","name","context","displayName","createNamedContext$1","_React$Component","Router","_this","_isMounted","_pendingLocation","staticContext","unlisten","computeRootMatch","url","params","isExact","_proto","componentDidMount","componentWillUnmount","render","Provider","value","match","children","Component","Lifecycle","onMount","componentDidUpdate","prevProps","onUpdate","onUnmount","cache","cacheCount","generatePath","generator","compile","compilePath","pretty","Redirect","_ref","computedMatch","_ref$push","Consumer","method","self","prevLocation","cache$1","cacheCount$1","matchPath","options","_options","_options$exact","exact","_options$strict","strict","_options$sensitive","sensitive","reduce","matched","_compilePath","cacheKey","end","pathCache","regexp","compilePath$1","exec","values","memo","Route","context$1","_this$props","component","basename","base","createURL","staticHandler","methodName","noop","Switch","element","Children","child","isValidElement","cloneElement","useContext","useHistory","useLocation","useParams","condition","message","Error","reactIs","REACT_STATICS","childContextTypes","contextType","contextTypes","defaultProps","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","mixins","propTypes","KNOWN_STATICS","caller","callee","arity","MEMO_STATICS","compare","TYPE_STATICS","getStatics","defineProperty","getOwnPropertyNames","getOwnPropertySymbols","getOwnPropertyDescriptor","getPrototypeOf","objectPrototype","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","targetStatics","sourceStatics","descriptor","commonjsGlobal","globalThis","global","createEventEmitter","handlers","on","handler","off","get","set","newValue","changedBits","createContext","defaultValue","calculateChangedBits","_Provider$childContex","_Consumer$contextType","contextProp","_Component","emitter","getChildContext","componentWillReceiveProps","nextProps","oldValue","object","isRequired","_Component2","_this2","getValue","observedBits","_proto2","isarray","pathToRegexp","parse","str","tokensToFunction","tokensToRegExp","PATH_REGEXP","RegExp","res","tokens","defaultDelimiter","delimiter","escaped","offset","next","prefix","capture","group","modifier","asterisk","partial","repeat","optional","pattern","escapeGroup","escapeString","encodeURIComponentPretty","encodeURI","charCodeAt","toUpperCase","matches","flags","opts","data","encode","encodeURIComponent","token","segment","TypeError","JSON","stringify","j","test","attachKeys","re","route","endsWithDelimiter","groups","regexpToRegexp","parts","arrayToRegexp","stringToRegexp"],"mappings":";2FAGEA,EAAOC,QAAU,EAAQ,M,iCCH3B,SAASC,EAAWC,GAClB,MAA8B,MAAvBA,EAASC,OAAO,GAIzB,SAASC,EAAUC,EAAMC,GACvB,IAAK,IAAIC,EAAID,EAAOE,EAAID,EAAI,EAAGE,EAAIJ,EAAKK,OAAQF,EAAIC,EAAGF,GAAK,EAAGC,GAAK,EAClEH,EAAKE,GAAKF,EAAKG,GAGjBH,EAAKM,MAwDQ,IApDf,SAAyBC,EAAIC,QACdC,IAATD,IAAoBA,EAAO,IAC/B,IAgBIE,EAhBAC,EAAUJ,GAAMA,EAAGK,MAAM,MAAQ,GACjCC,EAAYL,GAAQA,EAAKI,MAAM,MAAQ,GACvCE,EAAUP,GAAMX,EAAWW,GAC3BQ,EAAYP,GAAQZ,EAAWY,GAC/BQ,EAAaF,GAAWC,EAW5B,GATIR,GAAMX,EAAWW,GAEnBM,EAAYF,EACHA,EAAQN,SAEjBQ,EAAUP,MACVO,EAAYA,EAAUI,OAAON,KAG1BE,EAAUR,OAAQ,MAAO,IAG9B,GAAIQ,EAAUR,OAAQ,CACpB,IAAIa,EAAOL,EAAUA,EAAUR,OAAS,GACxCK,EAA4B,MAATQ,GAAyB,OAATA,GAA0B,KAATA,OAEpDR,GAAmB,EAKrB,IAFA,IAAIS,EAAK,EAEAjB,EAAIW,EAAUR,OAAQH,GAAK,EAAGA,IAAK,CAC1C,IAAIkB,EAAOP,EAAUX,GAER,MAATkB,EACFrB,EAAUc,EAAWX,GACH,OAATkB,GACTrB,EAAUc,EAAWX,GACrBiB,KACSA,IACTpB,EAAUc,EAAWX,GACrBiB,KAIJ,IAAKH,EAAY,KAAOG,IAAMA,EAC5BN,EAAUQ,QAAQ,OAEhBL,GAA+B,KAAjBH,EAAU,IAAeA,EAAU,IAAOjB,EAAWiB,EAAU,KAAMA,EAAUQ,QAAQ,IACzG,IAAIC,EAAST,EAAUU,KAAK,KAE5B,OADIb,GAA0C,MAAtBY,EAAOE,QAAQ,KAAYF,GAAU,KACtDA,I,iCC/DT,SAASG,EAAQC,GAAmV,OAAtOD,EAArD,oBAAXE,QAAoD,kBAApBA,OAAOC,SAAmC,SAAiBF,GAAO,cAAcA,GAA2B,SAAiBA,GAAO,OAAOA,GAAyB,oBAAXC,QAAyBD,EAAIG,cAAgBF,QAAUD,IAAQC,OAAOG,UAAY,gBAAkBJ,IAAyBA,GAEnX,SAASK,EAAQL,GACf,OAAOA,EAAIK,QAAUL,EAAIK,UAAYC,OAAOF,UAAUC,QAAQE,KAAKP,GA2BtD,IAxBf,SAASQ,EAAWC,EAAGC,GAErB,GAAID,IAAMC,EAAG,OAAO,EAEpB,GAAS,MAALD,GAAkB,MAALC,EAAW,OAAO,EAEnC,GAAIC,MAAMC,QAAQH,GAChB,OAAOE,MAAMC,QAAQF,IAAMD,EAAE9B,SAAW+B,EAAE/B,QAAU8B,EAAEI,OAAM,SAAUC,EAAMvC,GAC1E,OAAOiC,EAAWM,EAAMJ,EAAEnC,OAI9B,GAAmB,WAAfwB,EAAQU,IAAkC,WAAfV,EAAQW,GAAiB,CACtD,IAAIK,EAASV,EAAQI,GACjBO,EAASX,EAAQK,GACrB,OAAIK,IAAWN,GAAKO,IAAWN,EAAUF,EAAWO,EAAQC,GACrDV,OAAOW,KAAKX,OAAOY,OAAO,GAAIT,EAAGC,IAAIG,OAAM,SAAUM,GAC1D,OAAOX,EAAWC,EAAEU,GAAMT,EAAES,OAIhC,OAAO,I,iCCjBT,SAASpB,EAAQC,GAAmV,OAAtOD,EAArD,oBAAXE,QAAoD,kBAApBA,OAAOC,SAAmC,SAAiBF,GAAO,cAAcA,GAA2B,SAAiBA,GAAO,OAAOA,GAAyB,oBAAXC,QAAyBD,EAAIG,cAAgBF,QAAUD,IAAQC,OAAOG,UAAY,gBAAkBJ,IAAyBA,GAEnX,IAAIU,EAAI,oBAAsBT,QAAUA,OAAY,IAChDmB,EAAIV,EAAIT,OAAY,IAAE,iBAAmB,MACzCoB,EAAIX,EAAIT,OAAY,IAAE,gBAAkB,MACxCqB,EAAIZ,EAAIT,OAAY,IAAE,kBAAoB,MAC1CsB,EAAIb,EAAIT,OAAY,IAAE,qBAAuB,MAC7CuB,EAAId,EAAIT,OAAY,IAAE,kBAAoB,MAC1CwB,EAAIf,EAAIT,OAAY,IAAE,kBAAoB,MAC1CxB,EAAIiC,EAAIT,OAAY,IAAE,iBAAmB,MACzCyB,EAAIhB,EAAIT,OAAY,IAAE,oBAAsB,MAC5C0B,EAAIjB,EAAIT,OAAY,IAAE,yBAA2B,MACjDvB,EAAIgC,EAAIT,OAAY,IAAE,qBAAuB,MAC7C2B,EAAIlB,EAAIT,OAAY,IAAE,kBAAoB,MAC1C4B,EAAInB,EAAIT,OAAY,IAAE,uBAAyB,MAC/C6B,EAAIpB,EAAIT,OAAY,IAAE,cAAgB,MACtC8B,EAAIrB,EAAIT,OAAY,IAAE,cAAgB,MACtC+B,EAAItB,EAAIT,OAAY,IAAE,eAAiB,MACvCgC,EAAIvB,EAAIT,OAAY,IAAE,qBAAuB,MAC7CiC,EAAIxB,EAAIT,OAAY,IAAE,mBAAqB,MAC3CkC,EAAIzB,EAAIT,OAAY,IAAE,eAAiB,MAE3C,SAASmC,EAAE3B,GACT,GAAI,WAAaV,EAAQU,IAAM,OAASA,EAAG,CACzC,IAAI4B,EAAI5B,EAAE6B,SAEV,OAAQD,GACN,KAAKjB,EACH,OAAQX,EAAIA,EAAE8B,MACZ,KAAKb,EACL,KAAKC,EACL,KAAKL,EACL,KAAKE,EACL,KAAKD,EACL,KAAKK,EACH,OAAOnB,EAET,QACE,OAAQA,EAAIA,GAAKA,EAAE6B,UACjB,KAAK7D,EACL,KAAKC,EACL,KAAKqD,EACL,KAAKD,EACL,KAAKL,EACH,OAAOhB,EAET,QACE,OAAO4B,GAKjB,KAAKhB,EACH,OAAOgB,IAKf,SAASG,EAAE/B,GACT,OAAO2B,EAAE3B,KAAOkB,EAGlB1D,EAAQwE,UAAYf,EACpBzD,EAAQyE,eAAiBf,EACzB1D,EAAQ0E,gBAAkBlE,EAC1BR,EAAQ2E,gBAAkBnB,EAC1BxD,EAAQ4E,QAAUzB,EAClBnD,EAAQ6E,WAAapE,EACrBT,EAAQ8E,SAAWzB,EACnBrD,EAAQ+E,KAAOjB,EACf9D,EAAQgF,KAAOnB,EACf7D,EAAQiF,OAAS7B,EACjBpD,EAAQkF,SAAW3B,EACnBvD,EAAQmF,WAAa7B,EACrBtD,EAAQoF,SAAWzB,EAEnB3D,EAAQqF,YAAc,SAAU7C,GAC9B,OAAO+B,EAAE/B,IAAM2B,EAAE3B,KAAOiB,GAG1BzD,EAAQsF,iBAAmBf,EAE3BvE,EAAQuF,kBAAoB,SAAU/C,GACpC,OAAO2B,EAAE3B,KAAOhC,GAGlBR,EAAQwF,kBAAoB,SAAUhD,GACpC,OAAO2B,EAAE3B,KAAOgB,GAGlBxD,EAAQyF,UAAY,SAAUjD,GAC5B,MAAO,WAAaV,EAAQU,IAAM,OAASA,GAAKA,EAAE6B,WAAalB,GAGjEnD,EAAQ0F,aAAe,SAAUlD,GAC/B,OAAO2B,EAAE3B,KAAO/B,GAGlBT,EAAQ2F,WAAa,SAAUnD,GAC7B,OAAO2B,EAAE3B,KAAOa,GAGlBrD,EAAQ4F,OAAS,SAAUpD,GACzB,OAAO2B,EAAE3B,KAAOsB,GAGlB9D,EAAQ6F,OAAS,SAAUrD,GACzB,OAAO2B,EAAE3B,KAAOqB,GAGlB7D,EAAQ8F,SAAW,SAAUtD,GAC3B,OAAO2B,EAAE3B,KAAOY,GAGlBpD,EAAQ+F,WAAa,SAAUvD,GAC7B,OAAO2B,EAAE3B,KAAOe,GAGlBvD,EAAQgG,aAAe,SAAUxD,GAC/B,OAAO2B,EAAE3B,KAAOc,GAGlBtD,EAAQiG,WAAa,SAAUzD,GAC7B,OAAO2B,EAAE3B,KAAOmB,GAGlB3D,EAAQkG,mBAAqB,SAAU1D,GACrC,MAAO,kBAAoBA,GAAK,oBAAsBA,GAAKA,IAAMa,GAAKb,IAAMkB,GAAKlB,IAAMe,GAAKf,IAAMc,GAAKd,IAAMmB,GAAKnB,IAAMoB,GAAK,WAAa9B,EAAQU,IAAM,OAASA,IAAMA,EAAE6B,WAAaP,GAAKtB,EAAE6B,WAAaR,GAAKrB,EAAE6B,WAAab,GAAKhB,EAAE6B,WAAa7D,GAAKgC,EAAE6B,WAAa5D,GAAK+B,EAAE6B,WAAaL,GAAKxB,EAAE6B,WAAaJ,GAAKzB,EAAE6B,WAAaH,GAAK1B,EAAE6B,WAAaN,IAGxV/D,EAAQmG,OAAShC,G,kBC5IjBpE,EAAOC,QAAU0C,MAAMC,SAAW,SAAUyD,GAC1C,MAA8C,kBAAvC/D,OAAOF,UAAUkE,SAAS/D,KAAK8D,K,iCCDzB,SAASE,EAAeC,EAAUC,GAC/CD,EAASpE,UAAYE,OAAOoE,OAAOD,EAAWrE,WAC9CoE,EAASpE,UAAUD,YAAcqE,EACjCA,EAASG,UAAYF,E,4UCHR,SAASG,IAetB,OAdAA,EAAWtE,OAAOY,QAAU,SAAU2D,GACpC,IAAK,IAAIrG,EAAI,EAAGA,EAAIsG,UAAUnG,OAAQH,IAAK,CACzC,IAAIuG,EAASD,UAAUtG,GAEvB,IAAK,IAAI2C,KAAO4D,EACVzE,OAAOF,UAAU4E,eAAezE,KAAKwE,EAAQ5D,KAC/C0D,EAAO1D,GAAO4D,EAAO5D,IAK3B,OAAO0D,IAGOI,MAAMC,KAAMJ,W,8BCsC9B,SAASK,EAAWC,GAClB,IAAIjH,EAAWiH,EAASjH,SACpBkH,EAASD,EAASC,OAClBC,EAAOF,EAASE,KAChBC,EAAOpH,GAAY,IAGvB,OAFIkH,GAAqB,MAAXA,IAAgBE,GAA6B,MAArBF,EAAOjH,OAAO,GAAaiH,EAAS,IAAMA,GAC5EC,GAAiB,MAATA,IAAcC,GAA2B,MAAnBD,EAAKlH,OAAO,GAAakH,EAAO,IAAMA,GACjEC,EAGT,SAASC,EAAeD,EAAME,EAAOtE,EAAKuE,GACxC,IAAIN,EAEgB,kBAATG,GAETH,EAxCJ,SAAmBG,GACjB,IAAIpH,EAAWoH,GAAQ,IACnBF,EAAS,GACTC,EAAO,GACPK,EAAYxH,EAASyH,QAAQ,MAEd,IAAfD,IACFL,EAAOnH,EAAS2B,OAAO6F,GACvBxH,EAAWA,EAAS2B,OAAO,EAAG6F,IAGhC,IAAIE,EAAc1H,EAASyH,QAAQ,KAOnC,OALqB,IAAjBC,IACFR,EAASlH,EAAS2B,OAAO+F,GACzB1H,EAAWA,EAAS2B,OAAO,EAAG+F,IAGzB,CACL1H,SAAUA,EACVkH,OAAmB,MAAXA,EAAiB,GAAKA,EAC9BC,KAAe,MAATA,EAAe,GAAKA,GAmBfQ,CAAUP,IACZE,MAAQA,QAIS1G,KAD1BqG,EAAWR,EAAS,GAAIW,IACXpH,WAAwBiH,EAASjH,SAAW,IAErDiH,EAASC,OACuB,MAA9BD,EAASC,OAAOjH,OAAO,KAAYgH,EAASC,OAAS,IAAMD,EAASC,QAExED,EAASC,OAAS,GAGhBD,EAASE,KACqB,MAA5BF,EAASE,KAAKlH,OAAO,KAAYgH,EAASE,KAAO,IAAMF,EAASE,MAEpEF,EAASE,KAAO,QAGJvG,IAAV0G,QAA0C1G,IAAnBqG,EAASK,QAAqBL,EAASK,MAAQA,IAG5E,IACEL,EAASjH,SAAW4H,UAAUX,EAASjH,UACvC,MAAOmD,GACP,MAAIA,aAAa0E,SACT,IAAIA,SAAS,aAAeZ,EAASjH,SAAxB,iFAEbmD,EAoBV,OAhBIH,IAAKiE,EAASjE,IAAMA,GAEpBuE,EAEGN,EAASjH,SAE6B,MAAhCiH,EAASjH,SAASC,OAAO,KAClCgH,EAASjH,SAAW,YAAgBiH,EAASjH,SAAUuH,EAAgBvH,WAFvEiH,EAASjH,SAAWuH,EAAgBvH,SAMjCiH,EAASjH,WACZiH,EAASjH,SAAW,KAIjBiH,EAOT,SAASa,IACP,IAAIC,EAAS,KAiCb,IAAIC,EAAY,GA4BhB,MAAO,CACLC,UA5DF,SAAmBC,GAGjB,OADAH,EAASG,EACF,WACDH,IAAWG,IAAYH,EAAS,QAyDtCI,oBArDF,SAA6BlB,EAAUmB,EAAQC,EAAqBC,GAIlE,GAAc,MAAVP,EAAgB,CAClB,IAAItG,EAA2B,oBAAXsG,EAAwBA,EAAOd,EAAUmB,GAAUL,EAEjD,kBAAXtG,EAC0B,oBAAxB4G,EACTA,EAAoB5G,EAAQ6G,GAG5BA,GAAS,GAIXA,GAAoB,IAAX7G,QAGX6G,GAAS,IAmCXC,eA7BF,SAAwBC,GACtB,IAAIC,GAAW,EAEf,SAASC,IACHD,GAAUD,EAAG1B,WAAM,EAAQH,WAIjC,OADAqB,EAAUW,KAAKD,GACR,WACLD,GAAW,EACXT,EAAYA,EAAUY,QAAO,SAAUjG,GACrC,OAAOA,IAAS+F,OAmBpBG,gBAdF,WACE,IAAK,IAAIC,EAAOnC,UAAUnG,OAAQuI,EAAO,IAAIvG,MAAMsG,GAAOE,EAAO,EAAGA,EAAOF,EAAME,IAC/ED,EAAKC,GAAQrC,UAAUqC,GAGzBhB,EAAUiB,SAAQ,SAAUP,GAC1B,OAAOA,EAAS5B,WAAM,EAAQiC,QAYC,qBAAXG,SAA0BA,OAAOC,UAAYD,OAAOC,SAASC,cAolBvF,SAASC,EAAM9I,EAAG+I,EAAYC,GAC5B,OAAOC,KAAKC,IAAID,KAAKE,IAAInJ,EAAG+I,GAAaC,GAO3C,SAASI,EAAoBC,QACb,IAAVA,IACFA,EAAQ,IAGV,IAAIC,EAASD,EACTvB,EAAsBwB,EAAOxB,oBAC7ByB,EAAwBD,EAAOE,eAC/BA,OAA2C,IAA1BD,EAAmC,CAAC,KAAOA,EAC5DE,EAAsBH,EAAOI,aAC7BA,OAAuC,IAAxBD,EAAiC,EAAIA,EACpDE,EAAmBL,EAAOM,UAC1BA,OAAiC,IAArBD,EAA8B,EAAIA,EAC9CE,EAAoBtC,IAExB,SAASuC,EAASC,GAChB7D,EAAS8D,EAASD,GAElBC,EAAQ/J,OAAS+J,EAAQC,QAAQhK,OACjC4J,EAAkBvB,gBAAgB0B,EAAQtD,SAAUsD,EAAQnC,QAG9D,SAASqC,IACP,OAAOjB,KAAKkB,SAASvE,SAAS,IAAIxE,OAAO,EAAGwI,GAG9C,IAAI/J,EAAQiJ,EAAMY,EAAc,EAAGF,EAAevJ,OAAS,GACvDgK,EAAUT,EAAeY,KAAI,SAAUC,GACzC,OAAmCvD,EAAeuD,OAAOhK,EAAjC,kBAAVgK,EAAsDH,IAAgDG,EAAM5H,KAAOyH,QAG/HI,EAAa7D,EAyCjB,SAAS8D,EAAGvK,GACV,IAAIwK,EAAY1B,EAAMkB,EAAQnK,MAAQG,EAAG,EAAGgK,EAAQC,QAAQhK,OAAS,GAEjEyG,EAAWsD,EAAQC,QAAQO,GAC/BX,EAAkBjC,oBAAoBlB,EAFzB,MAE2CoB,GAAqB,SAAU2C,GACjFA,EACFX,EAAS,CACPjC,OALO,MAMPnB,SAAUA,EACV7G,MAAO2K,IAKTV,OA8BN,IAAIE,EAAU,CACZ/J,OAAQgK,EAAQhK,OAChB4H,OAAQ,MACRnB,SAAUuD,EAAQpK,GAClBA,MAAOA,EACPoK,QAASA,EACTK,WAAYA,EACZlC,KA1FF,SAAcvB,EAAME,GAElB,IACIL,EAAWI,EAAeD,EAAME,EAAOmD,IAAaF,EAAQtD,UAChEmD,EAAkBjC,oBAAoBlB,EAFzB,OAE2CoB,GAAqB,SAAU2C,GACrF,GAAKA,EAAL,CACA,IACID,EADYR,EAAQnK,MACI,EACxB6K,EAAcV,EAAQC,QAAQU,MAAM,GAEpCD,EAAYzK,OAASuK,EACvBE,EAAYE,OAAOJ,EAAWE,EAAYzK,OAASuK,EAAW9D,GAE9DgE,EAAYtC,KAAK1B,GAGnBoD,EAAS,CACPjC,OAfS,OAgBTnB,SAAUA,EACV7G,MAAO2K,EACPP,QAASS,SAuEbG,QAlEF,SAAiBhE,EAAME,GAErB,IACIL,EAAWI,EAAeD,EAAME,EAAOmD,IAAaF,EAAQtD,UAChEmD,EAAkBjC,oBAAoBlB,EAFzB,UAE2CoB,GAAqB,SAAU2C,GAChFA,IACLT,EAAQC,QAAQD,EAAQnK,OAAS6G,EACjCoD,EAAS,CACPjC,OANS,UAOTnB,SAAUA,SA0Dd6D,GAAIA,EACJO,OAnCF,WACEP,GAAI,IAmCJQ,UAhCF,WACER,EAAG,IAgCHS,MA7BF,SAAehL,GACb,IAAIwK,EAAYR,EAAQnK,MAAQG,EAChC,OAAOwK,GAAa,GAAKA,EAAYR,EAAQC,QAAQhK,QA4BrDgL,MAzBF,SAAezD,GAKb,YAJe,IAAXA,IACFA,GAAS,GAGJqC,EAAkBnC,UAAUF,IAqBnC0D,OAlBF,SAAgB/C,GACd,OAAO0B,EAAkB7B,eAAeG,KAmB1C,OAAO6B,E,oCCj6BM,SAASmB,EAA8B9E,EAAQ+E,GAC5D,GAAc,MAAV/E,EAAgB,MAAO,GAC3B,IAEI5D,EAAK3C,EAFLqG,EAAS,GACTkF,EAAazJ,OAAOW,KAAK8D,GAG7B,IAAKvG,EAAI,EAAGA,EAAIuL,EAAWpL,OAAQH,IACjC2C,EAAM4I,EAAWvL,GACbsL,EAASlE,QAAQzE,IAAQ,IAC7B0D,EAAO1D,GAAO4D,EAAO5D,IAGvB,OAAO0D,E,UCOLmF,EANqB,SAA4BC,GACnD,IAAIC,EAAU,cAEd,OADAA,EAAQC,YAAcF,EACfC,EAGyB,CAAmB,kBAQjD,EANuB,SAA4BD,GACrD,IAAIC,EAAU,cAEd,OADAA,EAAQC,YAAcF,EACfC,EAGkBE,CAAqB,UAK5C,EAAsB,SAAUC,GAYlC,SAASC,EAAOvC,GACd,IAAIwC,EA0BJ,OAxBAA,EAAQF,EAAiB9J,KAAK2E,KAAM6C,IAAU7C,MACxCO,MAAQ,CACZL,SAAU2C,EAAMW,QAAQtD,UAO1BmF,EAAMC,YAAa,EACnBD,EAAME,iBAAmB,KAEpB1C,EAAM2C,gBACTH,EAAMI,SAAW5C,EAAMW,QAAQkB,QAAO,SAAUxE,GAC1CmF,EAAMC,WACRD,EAAM/B,SAAS,CACbpD,SAAUA,IAGZmF,EAAME,iBAAmBrF,MAKxBmF,EAtCThG,EAAe+F,EAAQD,GAEvBC,EAAOM,iBAAmB,SAA0BzM,GAClD,MAAO,CACLoH,KAAM,IACNsF,IAAK,IACLC,OAAQ,GACRC,QAAsB,MAAb5M,IAkCb,IAAI6M,EAASV,EAAOlK,UA8BpB,OA5BA4K,EAAOC,kBAAoB,WACzB/F,KAAKsF,YAAa,EAEdtF,KAAKuF,kBACPvF,KAAKsD,SAAS,CACZpD,SAAUF,KAAKuF,oBAKrBO,EAAOE,qBAAuB,WACxBhG,KAAKyF,UAAUzF,KAAKyF,YAG1BK,EAAOG,OAAS,WACd,OAAoB,IAAM5D,cAAc,EAAQ6D,SAAU,CACxDC,MAAO,CACL3C,QAASxD,KAAK6C,MAAMW,QACpBtD,SAAUF,KAAKO,MAAML,SACrBkG,MAAOhB,EAAOM,iBAAiB1F,KAAKO,MAAML,SAASjH,UACnDuM,cAAexF,KAAK6C,MAAM2C,gBAEd,IAAMnD,cAAcyC,EAAeoB,SAAU,CAC3DG,SAAUrG,KAAK6C,MAAMwD,UAAY,KACjCF,MAAOnG,KAAK6C,MAAMW,YAIf4B,EAxEiB,CAyExB,IAAMkB,WAqCN,IAAMA,UAQR,IAAI,EAAyB,SAAUnB,GAGrC,SAASoB,IACP,OAAOpB,EAAiBpF,MAAMC,KAAMJ,YAAcI,KAHpDX,EAAekH,EAAWpB,GAM1B,IAAIW,EAASS,EAAUrL,UAkBvB,OAhBA4K,EAAOC,kBAAoB,WACrB/F,KAAK6C,MAAM2D,SAASxG,KAAK6C,MAAM2D,QAAQnL,KAAK2E,KAAMA,OAGxD8F,EAAOW,mBAAqB,SAA4BC,GAClD1G,KAAK6C,MAAM8D,UAAU3G,KAAK6C,MAAM8D,SAAStL,KAAK2E,KAAMA,KAAM0G,IAGhEZ,EAAOE,qBAAuB,WACxBhG,KAAK6C,MAAM+D,WAAW5G,KAAK6C,MAAM+D,UAAUvL,KAAK2E,KAAMA,OAG5D8F,EAAOG,OAAS,WACd,OAAO,MAGFM,EAzBoB,CA0B3B,IAAMD,WAoCR,IAAIO,EAAQ,GAERC,EAAa,EAkBjB,SAASC,EAAa1G,EAAMuF,GAS1B,YARa,IAATvF,IACFA,EAAO,UAGM,IAAXuF,IACFA,EAAS,IAGK,MAATvF,EAAeA,EAzBxB,SAAqBA,GACnB,GAAIwG,EAAMxG,GAAO,OAAOwG,EAAMxG,GAC9B,IAAI2G,EAAY,IAAaC,QAAQ5G,GAOrC,OALIyG,EAPW,MAQbD,EAAMxG,GAAQ2G,EACdF,KAGKE,EAgBsBE,CAAY7G,EAAZ6G,CAAkBtB,EAAQ,CACrDuB,QAAQ,IAQZ,SAASC,EAASC,GAChB,IAAIC,EAAgBD,EAAKC,cACrB3N,EAAK0N,EAAK1N,GACV4N,EAAYF,EAAKzF,KACjBA,OAAqB,IAAd2F,GAA+BA,EAC1C,OAAoB,IAAMlF,cAAc,EAAQmF,SAAU,MAAM,SAAUxC,GACvEA,GAAyH,aAAU,GACpI,IAAIxB,EAAUwB,EAAQxB,QAClBgC,EAAgBR,EAAQQ,cACxBiC,EAAS7F,EAAO4B,EAAQ5B,KAAO4B,EAAQa,QACvCnE,EAAWI,EAAegH,EAA8B,kBAAP3N,EAAkBoN,EAAapN,EAAI2N,EAAc1B,QAAUlG,EAAS,GAAI/F,EAAI,CAC/HV,SAAU8N,EAAapN,EAAGV,SAAUqO,EAAc1B,UAC/CjM,GAGL,OAAI6L,GACFiC,EAAOvH,GACA,MAGW,IAAMmC,cAAc,EAAW,CACjDmE,QAAS,WACPiB,EAAOvH,IAETyG,SAAU,SAAkBe,EAAMhB,GAChC,IF5JmBnL,EAAGC,EE4JlBmM,EAAerH,EAAeoG,EAAU/M,IF5JzB4B,EE8JIoM,EF9JDnM,EE8JekE,EAAS,GAAIQ,EAAU,CAC1DjE,IAAK0L,EAAa1L,MF9JnBV,EAAEtC,WAAauC,EAAEvC,UAAYsC,EAAE4E,SAAW3E,EAAE2E,QAAU5E,EAAE6E,OAAS5E,EAAE4E,MAAQ7E,EAAEU,MAAQT,EAAES,KAAO,YAAWV,EAAEgF,MAAO/E,EAAE+E,QEgKnHkH,EAAOvH,IAGXvG,GAAIA,OAOV,IAAIiO,EAAU,GAEVC,EAAe,EAyBnB,SAASC,EAAU7O,EAAU8O,QACX,IAAZA,IACFA,EAAU,KAGW,kBAAZA,GAAwBtM,MAAMC,QAAQqM,MAC/CA,EAAU,CACR1H,KAAM0H,IAIV,IAAIC,EAAWD,EACX1H,EAAO2H,EAAS3H,KAChB4H,EAAiBD,EAASE,MAC1BA,OAA2B,IAAnBD,GAAoCA,EAC5CE,EAAkBH,EAASI,OAC3BA,OAA6B,IAApBD,GAAqCA,EAC9CE,EAAqBL,EAASM,UAC9BA,OAAmC,IAAvBD,GAAwCA,EAExD,MADY,GAAGhO,OAAOgG,GACTkI,QAAO,SAAUC,EAASnI,GACrC,IAAKA,GAAiB,KAATA,EAAa,OAAO,KACjC,GAAImI,EAAS,OAAOA,EAEpB,IAAIC,EA/CR,SAAuBpI,EAAM0H,GAC3B,IAAIW,EAAW,GAAKX,EAAQY,IAAMZ,EAAQK,OAASL,EAAQO,UACvDM,EAAYhB,EAAQc,KAAcd,EAAQc,GAAY,IAC1D,GAAIE,EAAUvI,GAAO,OAAOuI,EAAUvI,GACtC,IAAItE,EAAO,GAEPrB,EAAS,CACXmO,OAFW,IAAaxI,EAAMtE,EAAMgM,GAGpChM,KAAMA,GAQR,OALI8L,EAda,MAefe,EAAUvI,GAAQ3F,EAClBmN,KAGKnN,EA+BcoO,CAAczI,EAAM,CACrCsI,IAAKT,EACLE,OAAQA,EACRE,UAAWA,IAETO,EAASJ,EAAaI,OACtB9M,EAAO0M,EAAa1M,KAEpBqK,EAAQyC,EAAOE,KAAK9P,GACxB,IAAKmN,EAAO,OAAO,KACnB,IAAIT,EAAMS,EAAM,GACZ4C,EAAS5C,EAAMjC,MAAM,GACrB0B,EAAU5M,IAAa0M,EAC3B,OAAIuC,IAAUrC,EAAgB,KACvB,CACLxF,KAAMA,EAENsF,IAAc,MAATtF,GAAwB,KAARsF,EAAa,IAAMA,EAExCE,QAASA,EAETD,OAAQ7J,EAAKwM,QAAO,SAAUU,EAAMhN,EAAK5C,GAEvC,OADA4P,EAAKhN,EAAI8I,MAAQiE,EAAO3P,GACjB4P,IACN,OAEJ,MAiBL,IAAI,EAAqB,SAAU9D,GAGjC,SAAS+D,IACP,OAAO/D,EAAiBpF,MAAMC,KAAMJ,YAAcI,KAmCpD,OAtCAX,EAAe6J,EAAO/D,GAMT+D,EAAMhO,UAEZ+K,OAAS,WACd,IAAIZ,EAAQrF,KAEZ,OAAoB,IAAMqC,cAAc,EAAQmF,SAAU,MAAM,SAAU2B,GACvEA,GAAwH,aAAU,GACnI,IAAIjJ,EAAWmF,EAAMxC,MAAM3C,UAAYiJ,EAAUjJ,SAI7C2C,EAAQnD,EAAS,GAAIyJ,EAAW,CAClCjJ,SAAUA,EACVkG,MALUf,EAAMxC,MAAMyE,cAAgBjC,EAAMxC,MAAMyE,cAClDjC,EAAMxC,MAAMxC,KAAOyH,EAAU5H,EAASjH,SAAUoM,EAAMxC,OAASsG,EAAU/C,QAOvEgD,EAAc/D,EAAMxC,MACpBwD,EAAW+C,EAAY/C,SACvBgD,EAAYD,EAAYC,UACxBpD,EAASmD,EAAYnD,OAOzB,OAJIxK,MAAMC,QAAQ2K,IAAiC,IAApBA,EAAS5M,SACtC4M,EAAW,MAGO,IAAMhE,cAAc,EAAQ6D,SAAU,CACxDC,MAAOtD,GACNA,EAAMuD,MAAQC,EAA+B,oBAAbA,EAAuHA,EAASxD,GAASwD,EAAWgD,EAAyB,IAAMhH,cAAcgH,EAAWxG,GAASoD,EAASA,EAAOpD,GAAS,KAA2B,oBAAbwD,EAAuHA,EAASxD,GAAS,UAIraqG,EAvCgB,CAwCvB,IAAM5C,WAeR,SAAS,EAAgBjG,GACvB,MAA0B,MAAnBA,EAAKnH,OAAO,GAAamH,EAAO,IAAMA,EAU/C,SAAS,EAAciJ,EAAUpJ,GAC/B,IAAKoJ,EAAU,OAAOpJ,EACtB,IAAIqJ,EAAO,EAAgBD,GAC3B,OAAwC,IAApCpJ,EAASjH,SAASyH,QAAQ6I,GAAoBrJ,EAC3CR,EAAS,GAAIQ,EAAU,CAC5BjH,SAAUiH,EAASjH,SAAS2B,OAAO2O,EAAK9P,UAI5C,SAAS+P,EAAUtJ,GACjB,MAA2B,kBAAbA,EAAwBA,EAAWD,EAAWC,GAG9D,SAASuJ,EAAcC,GACrB,OAAO,WACuG,aAAU,IAI1H,SAASC,KAoFP,IAAMrD,UAYR,IAAI,EAAsB,SAAUnB,GAGlC,SAASyE,IACP,OAAOzE,EAAiBpF,MAAMC,KAAMJ,YAAcI,KAgCpD,OAnCAX,EAAeuK,EAAQzE,GAMVyE,EAAO1O,UAEb+K,OAAS,WACd,IAAIZ,EAAQrF,KAEZ,OAAoB,IAAMqC,cAAc,EAAQmF,SAAU,MAAM,SAAUxC,GACvEA,GAAuH,aAAU,GAClI,IACI6E,EAASzD,EADTlG,EAAWmF,EAAMxC,MAAM3C,UAAY8E,EAAQ9E,SAe/C,OATA,IAAM4J,SAAS5H,QAAQmD,EAAMxC,MAAMwD,UAAU,SAAU0D,GACrD,GAAa,MAAT3D,GAA8B,IAAM4D,eAAeD,GAAQ,CAC7DF,EAAUE,EACV,IAAI1J,EAAO0J,EAAMlH,MAAMxC,MAAQ0J,EAAMlH,MAAMjJ,KAC3CwM,EAAQ/F,EAAOyH,EAAU5H,EAASjH,SAAUyG,EAAS,GAAIqK,EAAMlH,MAAO,CACpExC,KAAMA,KACF2E,EAAQoB,UAGXA,EAAqB,IAAM6D,aAAaJ,EAAS,CACtD3J,SAAUA,EACVoH,cAAelB,IACZ,SAIFwD,EApCiB,CAqCxB,IAAMtD,WAoCR,IAAI4D,EAAa,IAAMA,WAEvB,SAASC,IAKP,OAAOD,EAAWpF,GAGpB,SAASsF,IAKP,OAAOF,EAAW,GAAShK,SAG7B,SAASmK,IAKP,IAAIjE,EAAQ8D,EAAW,GAAS9D,MAChC,OAAOA,EAAQA,EAAMR,OAAS,K,gCCvoBjB,IAZf,SAAmB0E,EAAWC,GAC5B,IAAID,EAKF,MAAM,IAAIE,MARD,sB,gCCCb,IAAIC,EAAU,EAAQ,KAOlBC,EAAgB,CAClBC,mBAAmB,EACnBC,aAAa,EACbC,cAAc,EACdC,cAAc,EACd7F,aAAa,EACb8F,iBAAiB,EACjBC,0BAA0B,EAC1BC,0BAA0B,EAC1BC,QAAQ,EACRC,WAAW,EACX9N,MAAM,GAEJ+N,EAAgB,CAClBrG,MAAM,EACNtL,QAAQ,EACRyB,WAAW,EACXmQ,QAAQ,EACRC,QAAQ,EACR1L,WAAW,EACX2L,OAAO,GASLC,EAAe,CACjB,UAAY,EACZC,SAAS,EACTX,cAAc,EACd7F,aAAa,EACbkG,WAAW,EACX9N,MAAM,GAEJqO,EAAe,GAInB,SAASC,EAAWtC,GAElB,OAAIoB,EAAQ7L,OAAOyK,GACVmC,EAIFE,EAAarC,EAAoB,WAAMqB,EAVhDgB,EAAajB,EAAQ7M,YAhBK,CACxB,UAAY,EACZqI,QAAQ,EACR6E,cAAc,EACd7F,aAAa,EACbkG,WAAW,GAYbO,EAAajB,EAAQ1M,MAAQyN,EAY7B,IAAII,EAAiBxQ,OAAOwQ,eACxBC,EAAsBzQ,OAAOyQ,oBAC7BC,EAAwB1Q,OAAO0Q,sBAC/BC,EAA2B3Q,OAAO2Q,yBAClCC,EAAiB5Q,OAAO4Q,eACxBC,EAAkB7Q,OAAOF,UAuC7BpC,EAAOC,QArCP,SAASmT,EAAqBC,EAAiBC,EAAiBC,GAC9D,GAA+B,kBAApBD,EAA8B,CAEvC,GAAIH,EAAiB,CACnB,IAAIK,EAAqBN,EAAeI,GAEpCE,GAAsBA,IAAuBL,GAC/CC,EAAqBC,EAAiBG,EAAoBD,GAI9D,IAAItQ,EAAO8P,EAAoBO,GAE3BN,IACF/P,EAAOA,EAAK1B,OAAOyR,EAAsBM,KAM3C,IAHA,IAAIG,EAAgBZ,EAAWQ,GAC3BK,EAAgBb,EAAWS,GAEtB9S,EAAI,EAAGA,EAAIyC,EAAKtC,SAAUH,EAAG,CACpC,IAAI2C,EAAMF,EAAKzC,GAEf,IAAK8R,EAAcnP,MAAUoQ,IAAaA,EAAUpQ,OAAWuQ,IAAiBA,EAAcvQ,OAAWsQ,IAAiBA,EAActQ,IAAO,CAC7I,IAAIwQ,EAAaV,EAAyBK,EAAiBnQ,GAE3D,IAEE2P,EAAeO,EAAiBlQ,EAAKwQ,GACrC,MAAOrQ,OAKf,OAAO+P,I,iCCrGT,yDAKIO,EAAuC,qBAAfC,WAA6BA,WAA+B,qBAAXxK,OAAyBA,OAA2B,qBAAXyK,EAAyBA,EAAS,GAexJ,SAASC,EAAmB1G,GAC1B,IAAI2G,EAAW,GACf,MAAO,CACLC,GAAI,SAAYC,GACdF,EAASlL,KAAKoL,IAEhBC,IAAK,SAAaD,GAChBF,EAAWA,EAASjL,QAAO,SAAUtF,GACnC,OAAOA,IAAMyQ,MAGjBE,IAAK,WACH,OAAO/G,GAETgH,IAAK,SAAaC,EAAUC,GAC1BlH,EAAQiH,EACRN,EAAS5K,SAAQ,SAAU8K,GACzB,OAAOA,EAAQ7G,EAAOkH,QAuI9B,IAAIhU,EAAQ,IAAMiU,eA7HlB,SAA4BC,EAAcC,GACxC,IAAIC,EAAuBC,EAxCvBzR,EA0CA0R,EAAc,4BAzCXjB,EADHzQ,EAAM,yBACoByQ,EAAezQ,IAAQ,GAAK,GAyCI,MAE1DiK,EAAwB,SAAU0H,GAGpC,SAAS1H,IACP,IAAIb,EAIJ,OAFAA,EAAQuI,EAAW7N,MAAMC,KAAMJ,YAAcI,MACvC6N,QAAUhB,EAAmBxH,EAAMxC,MAAMsD,OACxCd,EAPT,YAAea,EAAU0H,GAUzB,IAAI9H,EAASI,EAAShL,UAoCtB,OAlCA4K,EAAOgI,gBAAkB,WACvB,IAAIzG,EAEJ,OAAOA,EAAO,IAASsG,GAAe3N,KAAK6N,QAASxG,GAGtDvB,EAAOiI,0BAA4B,SAAmCC,GACpE,GAAIhO,KAAK6C,MAAMsD,QAAU6H,EAAU7H,MAAO,CACxC,IAEIkH,EAFAY,EAAWjO,KAAK6C,MAAMsD,MACtBiH,EAAWY,EAAU7H,QA9DfnJ,EAiEGiR,MAjEAhR,EAiEUmQ,GA/Dd,IAANpQ,GAAW,EAAIA,IAAM,EAAIC,EAEzBD,IAAMA,GAAKC,IAAMA,GA8DlBoQ,EAAc,GAEdA,EAA8C,oBAAzBG,EAAsCA,EAAqBS,EAAUb,GA5ExE,WAoFE,KAFpBC,GAAe,IAGbrN,KAAK6N,QAAQV,IAAIa,EAAU7H,MAAOkH,IA7E9C,IAAkBrQ,EAAGC,GAmFjB6I,EAAOG,OAAS,WACd,OAAOjG,KAAK6C,MAAMwD,UAGbH,EA/CmB,CAgD1B,aAEFA,EAASyE,oBAAqB8C,EAAwB,IAA0BE,GAAe,IAAUO,OAAOC,WAAYV,GAE5H,IAAIjG,EAAwB,SAAU4G,GAGpC,SAAS5G,IACP,IAAI6G,EAiBJ,OAfAA,EAASD,EAAYrO,MAAMC,KAAMJ,YAAcI,MACxCO,MAAQ,CACb4F,MAAOkI,EAAOC,YAGhBD,EAAO1H,SAAW,SAAUyG,EAAUC,GAGC,MAFI,EAAtBgB,EAAOE,cAENlB,IAClBgB,EAAO/K,SAAS,CACd6C,MAAOkI,EAAOC,cAKbD,EApBT,YAAe7G,EAAU4G,GAuBzB,IAAII,EAAUhH,EAAStM,UAkCvB,OAhCAsT,EAAQT,0BAA4B,SAAmCC,GACrE,IAAIO,EAAeP,EAAUO,aAC7BvO,KAAKuO,kBAAgC1U,IAAjB0U,GAA+C,OAAjBA,EAhI5B,WAgI4EA,GAGpGC,EAAQzI,kBAAoB,WACtB/F,KAAKgF,QAAQ2I,IACf3N,KAAKgF,QAAQ2I,GAAaZ,GAAG/M,KAAK2G,UAGpC,IAAI4H,EAAevO,KAAK6C,MAAM0L,aAC9BvO,KAAKuO,kBAAgC1U,IAAjB0U,GAA+C,OAAjBA,EAzI5B,WAyI4EA,GAGpGC,EAAQxI,qBAAuB,WACzBhG,KAAKgF,QAAQ2I,IACf3N,KAAKgF,QAAQ2I,GAAaV,IAAIjN,KAAK2G,WAIvC6H,EAAQF,SAAW,WACjB,OAAItO,KAAKgF,QAAQ2I,GACR3N,KAAKgF,QAAQ2I,GAAaT,MAE1BK,GAIXiB,EAAQvI,OAAS,WACf,OApHaI,EAoHIrG,KAAK6C,MAAMwD,SAnHzB5K,MAAMC,QAAQ2K,GAAYA,EAAS,GAAKA,GAmHLrG,KAAKO,MAAM4F,OApHvD,IAAmBE,GAuHRmB,EA1DmB,CA2D1B,aAGF,OADAA,EAASqD,eAAgB6C,EAAwB,IAA0BC,GAAe,IAAUO,OAAQR,GACrG,CACLxH,SAAUA,EACVsB,SAAUA,IAKC,Q,kDC7KA,SAASnI,EAAeC,EAAUC,GAC/CD,EAASpE,UAAYE,OAAOoE,OAAOD,EAAWrE,WAC9CoE,EAASpE,UAAUD,YAAcqE,EACjCA,EAASG,UAAYF,EAHvB,mC,mBCAA,SAAS1E,EAAQC,GAAmV,OAAtOD,EAArD,oBAAXE,QAAoD,kBAApBA,OAAOC,SAAmC,SAAiBF,GAAO,cAAcA,GAA2B,SAAiBA,GAAO,OAAOA,GAAyB,oBAAXC,QAAyBD,EAAIG,cAAgBF,QAAUD,IAAQC,OAAOG,UAAY,gBAAkBJ,IAAyBA,GAEnX,IAAI2T,EAAU,EAAQ,KAMtB3V,EAAOC,QAAU2V,EACjB5V,EAAOC,QAAQ4V,MAAQA,EACvB7V,EAAOC,QAAQkO,QAiGf,SAAiB2H,EAAK7G,GACpB,OAAO8G,EAAiBF,EAAMC,EAAK7G,GAAUA,IAjG/CjP,EAAOC,QAAQ8V,iBAAmBA,EAClC/V,EAAOC,QAAQ+V,eAAiBA,EAOhC,IAAIC,EAAc,IAAIC,OAAO,CAE7B,UAMA,0GAA0GrU,KAAK,KAAM,KASrH,SAASgU,EAAMC,EAAK7G,GAQlB,IAPA,IAKIkH,EALAC,EAAS,GACTjT,EAAM,EACN5C,EAAQ,EACRgH,EAAO,GACP8O,EAAmBpH,GAAWA,EAAQqH,WAAa,IAGf,OAAhCH,EAAMF,EAAYhG,KAAK6F,KAAe,CAC5C,IAAInS,EAAIwS,EAAI,GACRI,EAAUJ,EAAI,GACdK,EAASL,EAAI5V,MAIjB,GAHAgH,GAAQuO,EAAIzK,MAAM9K,EAAOiW,GACzBjW,EAAQiW,EAAS7S,EAAEhD,OAEf4V,EACFhP,GAAQgP,EAAQ,OADlB,CAKA,IAAIE,EAAOX,EAAIvV,GACXmW,EAASP,EAAI,GACblK,EAAOkK,EAAI,GACXQ,EAAUR,EAAI,GACdS,EAAQT,EAAI,GACZU,EAAWV,EAAI,GACfW,EAAWX,EAAI,GAEf5O,IACF6O,EAAOtN,KAAKvB,GACZA,EAAO,IAGT,IAAIwP,EAAoB,MAAVL,GAA0B,MAARD,GAAgBA,IAASC,EACrDM,EAAsB,MAAbH,GAAiC,MAAbA,EAC7BI,EAAwB,MAAbJ,GAAiC,MAAbA,EAC/BP,EAAYH,EAAI,IAAME,EACtBa,EAAUP,GAAWC,EACzBR,EAAOtN,KAAK,CACVmD,KAAMA,GAAQ9I,IACduT,OAAQA,GAAU,GAClBJ,UAAWA,EACXW,SAAUA,EACVD,OAAQA,EACRD,QAASA,EACTD,WAAYA,EACZI,QAASA,EAAUC,EAAYD,GAAWJ,EAAW,KAAO,KAAOM,EAAad,GAAa,SAcjG,OATI/V,EAAQuV,EAAInV,SACd4G,GAAQuO,EAAIhU,OAAOvB,IAIjBgH,GACF6O,EAAOtN,KAAKvB,GAGP6O,EAsBT,SAASiB,EAAyBvB,GAChC,OAAOwB,UAAUxB,GAAKvK,QAAQ,WAAW,SAAUnI,GACjD,MAAO,IAAMA,EAAEmU,WAAW,GAAGjR,SAAS,IAAIkR,iBAqB9C,SAASzB,EAAiBK,EAAQnH,GAIhC,IAFA,IAAIwI,EAAU,IAAI9U,MAAMyT,EAAOzV,QAEtBH,EAAI,EAAGA,EAAI4V,EAAOzV,OAAQH,IACN,WAAvBuB,EAAQqU,EAAO5V,MACjBiX,EAAQjX,GAAK,IAAI0V,OAAO,OAASE,EAAO5V,GAAG0W,QAAU,KAAMQ,EAAMzI,KAIrE,OAAO,SAAUjN,EAAK2V,GAMpB,IALA,IAAIpQ,EAAO,GACPqQ,EAAO5V,GAAO,GAEd6V,GADUF,GAAQ,IACDtJ,OAASgJ,EAA2BS,mBAEhDtX,EAAI,EAAGA,EAAI4V,EAAOzV,OAAQH,IAAK,CACtC,IAAIuX,EAAQ3B,EAAO5V,GAEnB,GAAqB,kBAAVuX,EAAX,CAKA,IACIC,EADA3K,EAAQuK,EAAKG,EAAM9L,MAGvB,GAAa,MAAToB,EAAe,CACjB,GAAI0K,EAAMd,SAAU,CAEdc,EAAMhB,UACRxP,GAAQwQ,EAAMrB,QAGhB,SAEA,MAAM,IAAIuB,UAAU,aAAeF,EAAM9L,KAAO,mBAIpD,GAAI0J,EAAQtI,GAAZ,CACE,IAAK0K,EAAMf,OACT,MAAM,IAAIiB,UAAU,aAAeF,EAAM9L,KAAO,kCAAoCiM,KAAKC,UAAU9K,GAAS,KAG9G,GAAqB,IAAjBA,EAAM1M,OAAc,CACtB,GAAIoX,EAAMd,SACR,SAEA,MAAM,IAAIgB,UAAU,aAAeF,EAAM9L,KAAO,qBAIpD,IAAK,IAAImM,EAAI,EAAGA,EAAI/K,EAAM1M,OAAQyX,IAAK,CAGrC,GAFAJ,EAAUH,EAAOxK,EAAM+K,KAElBX,EAAQjX,GAAG6X,KAAKL,GACnB,MAAM,IAAIC,UAAU,iBAAmBF,EAAM9L,KAAO,eAAiB8L,EAAMb,QAAU,oBAAsBgB,KAAKC,UAAUH,GAAW,KAGvIzQ,IAAe,IAAN6Q,EAAUL,EAAMrB,OAASqB,EAAMzB,WAAa0B,OApBzD,CA4BA,GAFAA,EAAUD,EAAMjB,SA3EbQ,UA2EuCjK,GA3ExB9B,QAAQ,SAAS,SAAUnI,GAC/C,MAAO,IAAMA,EAAEmU,WAAW,GAAGjR,SAAS,IAAIkR,iBA0EWK,EAAOxK,IAErDoK,EAAQjX,GAAG6X,KAAKL,GACnB,MAAM,IAAIC,UAAU,aAAeF,EAAM9L,KAAO,eAAiB8L,EAAMb,QAAU,oBAAsBc,EAAU,KAGnHzQ,GAAQwQ,EAAMrB,OAASsB,QApDrBzQ,GAAQwQ,EAuDZ,OAAOxQ,GAWX,SAAS6P,EAAatB,GACpB,OAAOA,EAAIvK,QAAQ,6BAA8B,QAUnD,SAAS4L,EAAYP,GACnB,OAAOA,EAAMrL,QAAQ,gBAAiB,QAWxC,SAAS+M,EAAWC,EAAItV,GAEtB,OADAsV,EAAGtV,KAAOA,EACHsV,EAUT,SAASb,EAAMzI,GACb,OAAOA,GAAWA,EAAQO,UAAY,GAAK,IA2E7C,SAASwG,EAAeI,EAAQnT,EAAMgM,GAC/B0G,EAAQ1S,KACXgM,EAEAhM,GAAQgM,EACRhM,EAAO,IAQT,IAJA,IAAIqM,GADJL,EAAUA,GAAW,IACAK,OACjBO,GAAsB,IAAhBZ,EAAQY,IACd2I,EAAQ,GAEHhY,EAAI,EAAGA,EAAI4V,EAAOzV,OAAQH,IAAK,CACtC,IAAIuX,EAAQ3B,EAAO5V,GAEnB,GAAqB,kBAAVuX,EACTS,GAASpB,EAAaW,OACjB,CACL,IAAIrB,EAASU,EAAaW,EAAMrB,QAC5BC,EAAU,MAAQoB,EAAMb,QAAU,IACtCjU,EAAK6F,KAAKiP,GAENA,EAAMf,SACRL,GAAW,MAAQD,EAASC,EAAU,MAaxC6B,GANI7B,EAJAoB,EAAMd,SACHc,EAAMhB,QAGCL,EAAS,IAAMC,EAAU,KAFzB,MAAQD,EAAS,IAAMC,EAAU,MAKnCD,EAAS,IAAMC,EAAU,KAOzC,IAAIL,EAAYc,EAAanI,EAAQqH,WAAa,KAC9CmC,EAAoBD,EAAMnN,OAAOiL,EAAU3V,UAAY2V,EAiB3D,OAZKhH,IACHkJ,GAASC,EAAoBD,EAAMnN,MAAM,GAAIiL,EAAU3V,QAAU6X,GAAS,MAAQlC,EAAY,WAI9FkC,GADE3I,EACO,IAIAP,GAAUmJ,EAAoB,GAAK,MAAQnC,EAAY,MAG3DgC,EAAW,IAAIpC,OAAO,IAAMsC,EAAOd,EAAMzI,IAAWhM,GAgB7D,SAAS2S,EAAarO,EAAMtE,EAAMgM,GAUhC,OATK0G,EAAQ1S,KACXgM,EAEAhM,GAAQgM,EACRhM,EAAO,IAGTgM,EAAUA,GAAW,GAEjB1H,aAAgB2O,OArJtB,SAAwB3O,EAAMtE,GAE5B,IAAIyV,EAASnR,EAAKR,OAAOuG,MAAM,aAE/B,GAAIoL,EACF,IAAK,IAAIlY,EAAI,EAAGA,EAAIkY,EAAO/X,OAAQH,IACjCyC,EAAK6F,KAAK,CACRmD,KAAMzL,EACNkW,OAAQ,KACRJ,UAAW,KACXW,UAAU,EACVD,QAAQ,EACRD,SAAS,EACTD,UAAU,EACVI,QAAS,OAKf,OAAOoB,EAAW/Q,EAAMtE,GAmIf0V,CAAepR,EAEtBtE,GAGE0S,EAAQpO,GA5Hd,SAAuBA,EAAMtE,EAAMgM,GAGjC,IAFA,IAAI2J,EAAQ,GAEHpY,EAAI,EAAGA,EAAI+G,EAAK5G,OAAQH,IAC/BoY,EAAM9P,KAAK8M,EAAarO,EAAK/G,GAAIyC,EAAMgM,GAASlI,QAIlD,OAAOuR,EADM,IAAIpC,OAAO,MAAQ0C,EAAM/W,KAAK,KAAO,IAAK6V,EAAMzI,IACnChM,GAqHjB4V,CAEPtR,EAEAtE,EAAMgM,GA7GV,SAAwB1H,EAAMtE,EAAMgM,GAClC,OAAO+G,EAAeH,EAAMtO,EAAM0H,GAAUhM,EAAMgM,GA+G3C6J,CAEPvR,EAEAtE,EAAMgM","file":"js/15-91dbce19281e2831b8e1.chunk.js","sourcesContent":["'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}","function isAbsolute(pathname) {\n return pathname.charAt(0) === '/';\n} // About 1.5x faster than the two-arg version of Array#splice()\n\n\nfunction spliceOne(list, index) {\n for (var i = index, k = i + 1, n = list.length; k < n; i += 1, k += 1) {\n list[i] = list[k];\n }\n\n list.pop();\n} // This implementation is based heavily on node's url.parse\n\n\nfunction resolvePathname(to, from) {\n if (from === undefined) from = '';\n var toParts = to && to.split('/') || [];\n var fromParts = from && from.split('/') || [];\n var isToAbs = to && isAbsolute(to);\n var isFromAbs = from && isAbsolute(from);\n var mustEndAbs = isToAbs || isFromAbs;\n\n if (to && isAbsolute(to)) {\n // to is absolute\n fromParts = toParts;\n } else if (toParts.length) {\n // to is relative, drop the filename\n fromParts.pop();\n fromParts = fromParts.concat(toParts);\n }\n\n if (!fromParts.length) return '/';\n var hasTrailingSlash;\n\n if (fromParts.length) {\n var last = fromParts[fromParts.length - 1];\n hasTrailingSlash = last === '.' || last === '..' || last === '';\n } else {\n hasTrailingSlash = false;\n }\n\n var up = 0;\n\n for (var i = fromParts.length; i >= 0; i--) {\n var part = fromParts[i];\n\n if (part === '.') {\n spliceOne(fromParts, i);\n } else if (part === '..') {\n spliceOne(fromParts, i);\n up++;\n } else if (up) {\n spliceOne(fromParts, i);\n up--;\n }\n }\n\n if (!mustEndAbs) for (; up--; up) {\n fromParts.unshift('..');\n }\n if (mustEndAbs && fromParts[0] !== '' && (!fromParts[0] || !isAbsolute(fromParts[0]))) fromParts.unshift('');\n var result = fromParts.join('/');\n if (hasTrailingSlash && result.substr(-1) !== '/') result += '/';\n return result;\n}\n\nexport default resolvePathname;","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction valueOf(obj) {\n return obj.valueOf ? obj.valueOf() : Object.prototype.valueOf.call(obj);\n}\n\nfunction valueEqual(a, b) {\n // Test for strict equality first.\n if (a === b) return true; // Otherwise, if either of them == null they are not equal.\n\n if (a == null || b == null) return false;\n\n if (Array.isArray(a)) {\n return Array.isArray(b) && a.length === b.length && a.every(function (item, index) {\n return valueEqual(item, b[index]);\n });\n }\n\n if (_typeof(a) === 'object' || _typeof(b) === 'object') {\n var aValue = valueOf(a);\n var bValue = valueOf(b);\n if (aValue !== a || bValue !== b) return valueEqual(aValue, bValue);\n return Object.keys(Object.assign({}, a, b)).every(function (key) {\n return valueEqual(a[key], b[key]);\n });\n }\n\n return false;\n}\n\nexport default valueEqual;","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\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'use strict';\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar b = \"function\" === typeof Symbol && Symbol[\"for\"],\n c = b ? Symbol[\"for\"](\"react.element\") : 60103,\n d = b ? Symbol[\"for\"](\"react.portal\") : 60106,\n e = b ? Symbol[\"for\"](\"react.fragment\") : 60107,\n f = b ? Symbol[\"for\"](\"react.strict_mode\") : 60108,\n g = b ? Symbol[\"for\"](\"react.profiler\") : 60114,\n h = b ? Symbol[\"for\"](\"react.provider\") : 60109,\n k = b ? Symbol[\"for\"](\"react.context\") : 60110,\n l = b ? Symbol[\"for\"](\"react.async_mode\") : 60111,\n m = b ? Symbol[\"for\"](\"react.concurrent_mode\") : 60111,\n n = b ? Symbol[\"for\"](\"react.forward_ref\") : 60112,\n p = b ? Symbol[\"for\"](\"react.suspense\") : 60113,\n q = b ? Symbol[\"for\"](\"react.suspense_list\") : 60120,\n r = b ? Symbol[\"for\"](\"react.memo\") : 60115,\n t = b ? Symbol[\"for\"](\"react.lazy\") : 60116,\n v = b ? Symbol[\"for\"](\"react.block\") : 60121,\n w = b ? Symbol[\"for\"](\"react.fundamental\") : 60117,\n x = b ? Symbol[\"for\"](\"react.responder\") : 60118,\n y = b ? Symbol[\"for\"](\"react.scope\") : 60119;\n\nfunction z(a) {\n if (\"object\" === _typeof(a) && null !== a) {\n var u = a.$$typeof;\n\n switch (u) {\n case c:\n switch (a = a.type, a) {\n case l:\n case m:\n case e:\n case g:\n case f:\n case p:\n return a;\n\n default:\n switch (a = a && a.$$typeof, a) {\n case k:\n case n:\n case t:\n case r:\n case h:\n return a;\n\n default:\n return u;\n }\n\n }\n\n case d:\n return u;\n }\n }\n}\n\nfunction A(a) {\n return z(a) === m;\n}\n\nexports.AsyncMode = l;\nexports.ConcurrentMode = m;\nexports.ContextConsumer = k;\nexports.ContextProvider = h;\nexports.Element = c;\nexports.ForwardRef = n;\nexports.Fragment = e;\nexports.Lazy = t;\nexports.Memo = r;\nexports.Portal = d;\nexports.Profiler = g;\nexports.StrictMode = f;\nexports.Suspense = p;\n\nexports.isAsyncMode = function (a) {\n return A(a) || z(a) === l;\n};\n\nexports.isConcurrentMode = A;\n\nexports.isContextConsumer = function (a) {\n return z(a) === k;\n};\n\nexports.isContextProvider = function (a) {\n return z(a) === h;\n};\n\nexports.isElement = function (a) {\n return \"object\" === _typeof(a) && null !== a && a.$$typeof === c;\n};\n\nexports.isForwardRef = function (a) {\n return z(a) === n;\n};\n\nexports.isFragment = function (a) {\n return z(a) === e;\n};\n\nexports.isLazy = function (a) {\n return z(a) === t;\n};\n\nexports.isMemo = function (a) {\n return z(a) === r;\n};\n\nexports.isPortal = function (a) {\n return z(a) === d;\n};\n\nexports.isProfiler = function (a) {\n return z(a) === g;\n};\n\nexports.isStrictMode = function (a) {\n return z(a) === f;\n};\n\nexports.isSuspense = function (a) {\n return z(a) === p;\n};\n\nexports.isValidElementType = function (a) {\n return \"string\" === typeof a || \"function\" === typeof a || a === e || a === m || a === g || a === f || a === p || a === q || \"object\" === _typeof(a) && null !== a && (a.$$typeof === t || a.$$typeof === r || a.$$typeof === h || a.$$typeof === k || a.$$typeof === n || a.$$typeof === w || a.$$typeof === x || a.$$typeof === y || a.$$typeof === v);\n};\n\nexports.typeOf = z;","module.exports = Array.isArray || function (arr) {\n return Object.prototype.toString.call(arr) == '[object Array]';\n};","export default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}","export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport resolvePathname from 'resolve-pathname';\nimport valueEqual from 'value-equal';\nimport warning from 'tiny-warning';\nimport invariant from 'tiny-invariant';\n\nfunction addLeadingSlash(path) {\n return path.charAt(0) === '/' ? path : '/' + path;\n}\n\nfunction stripLeadingSlash(path) {\n return path.charAt(0) === '/' ? path.substr(1) : path;\n}\n\nfunction hasBasename(path, prefix) {\n return path.toLowerCase().indexOf(prefix.toLowerCase()) === 0 && '/?#'.indexOf(path.charAt(prefix.length)) !== -1;\n}\n\nfunction stripBasename(path, prefix) {\n return hasBasename(path, prefix) ? path.substr(prefix.length) : path;\n}\n\nfunction stripTrailingSlash(path) {\n return path.charAt(path.length - 1) === '/' ? path.slice(0, -1) : path;\n}\n\nfunction parsePath(path) {\n var pathname = path || '/';\n var search = '';\n var hash = '';\n var hashIndex = pathname.indexOf('#');\n\n if (hashIndex !== -1) {\n hash = pathname.substr(hashIndex);\n pathname = pathname.substr(0, hashIndex);\n }\n\n var searchIndex = pathname.indexOf('?');\n\n if (searchIndex !== -1) {\n search = pathname.substr(searchIndex);\n pathname = pathname.substr(0, searchIndex);\n }\n\n return {\n pathname: pathname,\n search: search === '?' ? '' : search,\n hash: hash === '#' ? '' : hash\n };\n}\n\nfunction createPath(location) {\n var pathname = location.pathname,\n search = location.search,\n hash = location.hash;\n var path = pathname || '/';\n if (search && search !== '?') path += search.charAt(0) === '?' ? search : \"?\" + search;\n if (hash && hash !== '#') path += hash.charAt(0) === '#' ? hash : \"#\" + hash;\n return path;\n}\n\nfunction createLocation(path, state, key, currentLocation) {\n var location;\n\n if (typeof path === 'string') {\n // Two-arg form: push(path, state)\n location = parsePath(path);\n location.state = state;\n } else {\n // One-arg form: push(location)\n location = _extends({}, path);\n if (location.pathname === undefined) location.pathname = '';\n\n if (location.search) {\n if (location.search.charAt(0) !== '?') location.search = '?' + location.search;\n } else {\n location.search = '';\n }\n\n if (location.hash) {\n if (location.hash.charAt(0) !== '#') location.hash = '#' + location.hash;\n } else {\n location.hash = '';\n }\n\n if (state !== undefined && location.state === undefined) location.state = state;\n }\n\n try {\n location.pathname = decodeURI(location.pathname);\n } catch (e) {\n if (e instanceof URIError) {\n throw new URIError('Pathname \"' + location.pathname + '\" could not be decoded. ' + 'This is likely caused by an invalid percent-encoding.');\n } else {\n throw e;\n }\n }\n\n if (key) location.key = key;\n\n if (currentLocation) {\n // Resolve incomplete/relative pathname relative to current location.\n if (!location.pathname) {\n location.pathname = currentLocation.pathname;\n } else if (location.pathname.charAt(0) !== '/') {\n location.pathname = resolvePathname(location.pathname, currentLocation.pathname);\n }\n } else {\n // When there is no prior location and pathname is empty, set it to /\n if (!location.pathname) {\n location.pathname = '/';\n }\n }\n\n return location;\n}\n\nfunction locationsAreEqual(a, b) {\n return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash && a.key === b.key && valueEqual(a.state, b.state);\n}\n\nfunction createTransitionManager() {\n var prompt = null;\n\n function setPrompt(nextPrompt) {\n process.env.NODE_ENV !== \"production\" ? warning(prompt == null, 'A history supports only one prompt at a time') : void 0;\n prompt = nextPrompt;\n return function () {\n if (prompt === nextPrompt) prompt = null;\n };\n }\n\n function confirmTransitionTo(location, action, getUserConfirmation, callback) {\n // TODO: If another transition starts while we're still confirming\n // the previous one, we may end up in a weird state. Figure out the\n // best way to handle this.\n if (prompt != null) {\n var result = typeof prompt === 'function' ? prompt(location, action) : prompt;\n\n if (typeof result === 'string') {\n if (typeof getUserConfirmation === 'function') {\n getUserConfirmation(result, callback);\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'A history needs a getUserConfirmation function in order to use a prompt message') : void 0;\n callback(true);\n }\n } else {\n // Return false from a transition hook to cancel the transition.\n callback(result !== false);\n }\n } else {\n callback(true);\n }\n }\n\n var listeners = [];\n\n function appendListener(fn) {\n var isActive = true;\n\n function listener() {\n if (isActive) fn.apply(void 0, arguments);\n }\n\n listeners.push(listener);\n return function () {\n isActive = false;\n listeners = listeners.filter(function (item) {\n return item !== listener;\n });\n };\n }\n\n function notifyListeners() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n listeners.forEach(function (listener) {\n return listener.apply(void 0, args);\n });\n }\n\n return {\n setPrompt: setPrompt,\n confirmTransitionTo: confirmTransitionTo,\n appendListener: appendListener,\n notifyListeners: notifyListeners\n };\n}\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n\nfunction getConfirmation(message, callback) {\n callback(window.confirm(message)); // eslint-disable-line no-alert\n}\n/**\n * Returns true if the HTML5 history API is supported. Taken from Modernizr.\n *\n * https://github.com/Modernizr/Modernizr/blob/master/LICENSE\n * https://github.com/Modernizr/Modernizr/blob/master/feature-detects/history.js\n * changed to avoid false negatives for Windows Phones: https://github.com/reactjs/react-router/issues/586\n */\n\n\nfunction supportsHistory() {\n var ua = window.navigator.userAgent;\n if ((ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) && ua.indexOf('Mobile Safari') !== -1 && ua.indexOf('Chrome') === -1 && ua.indexOf('Windows Phone') === -1) return false;\n return window.history && 'pushState' in window.history;\n}\n/**\n * Returns true if browser fires popstate on hash change.\n * IE10 and IE11 do not.\n */\n\n\nfunction supportsPopStateOnHashChange() {\n return window.navigator.userAgent.indexOf('Trident') === -1;\n}\n/**\n * Returns false if using go(n) with hash history causes a full page reload.\n */\n\n\nfunction supportsGoWithoutReloadUsingHash() {\n return window.navigator.userAgent.indexOf('Firefox') === -1;\n}\n/**\n * Returns true if a given popstate event is an extraneous WebKit event.\n * Accounts for the fact that Chrome on iOS fires real popstate events\n * containing undefined state when pressing the back button.\n */\n\n\nfunction isExtraneousPopstateEvent(event) {\n return event.state === undefined && navigator.userAgent.indexOf('CriOS') === -1;\n}\n\nvar PopStateEvent = 'popstate';\nvar HashChangeEvent = 'hashchange';\n\nfunction getHistoryState() {\n try {\n return window.history.state || {};\n } catch (e) {\n // IE 11 sometimes throws when accessing window.history.state\n // See https://github.com/ReactTraining/history/pull/289\n return {};\n }\n}\n/**\n * Creates a history object that uses the HTML5 history API including\n * pushState, replaceState, and the popstate event.\n */\n\n\nfunction createBrowserHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n !canUseDOM ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Browser history needs a DOM') : invariant(false) : void 0;\n var globalHistory = window.history;\n var canUseHistory = supportsHistory();\n var needsHashChangeListener = !supportsPopStateOnHashChange();\n var _props = props,\n _props$forceRefresh = _props.forceRefresh,\n forceRefresh = _props$forceRefresh === void 0 ? false : _props$forceRefresh,\n _props$getUserConfirm = _props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === void 0 ? getConfirmation : _props$getUserConfirm,\n _props$keyLength = _props.keyLength,\n keyLength = _props$keyLength === void 0 ? 6 : _props$keyLength;\n var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';\n\n function getDOMLocation(historyState) {\n var _ref = historyState || {},\n key = _ref.key,\n state = _ref.state;\n\n var _window$location = window.location,\n pathname = _window$location.pathname,\n search = _window$location.search,\n hash = _window$location.hash;\n var path = pathname + search + hash;\n process.env.NODE_ENV !== \"production\" ? warning(!basename || hasBasename(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path \"' + path + '\" to begin with \"' + basename + '\".') : void 0;\n if (basename) path = stripBasename(path, basename);\n return createLocation(path, state, key);\n }\n\n function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n }\n\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = globalHistory.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n function handlePopState(event) {\n // Ignore extraneous popstate events in WebKit.\n if (isExtraneousPopstateEvent(event)) return;\n handlePop(getDOMLocation(event.state));\n }\n\n function handleHashChange() {\n handlePop(getDOMLocation(getHistoryState()));\n }\n\n var forceNextPop = false;\n\n function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location\n });\n } else {\n revertPop(location);\n }\n });\n }\n }\n\n function revertPop(fromLocation) {\n var toLocation = history.location; // TODO: We could probably make this more reliable by\n // keeping a list of keys we've seen in sessionStorage.\n // Instead, we just default to 0 for keys we don't know.\n\n var toIndex = allKeys.indexOf(toLocation.key);\n if (toIndex === -1) toIndex = 0;\n var fromIndex = allKeys.indexOf(fromLocation.key);\n if (fromIndex === -1) fromIndex = 0;\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n }\n\n var initialLocation = getDOMLocation(getHistoryState());\n var allKeys = [initialLocation.key]; // Public interface\n\n function createHref(location) {\n return basename + createPath(location);\n }\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(_typeof(path) === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n if (canUseHistory) {\n globalHistory.pushState({\n key: key,\n state: state\n }, null, href);\n\n if (forceRefresh) {\n window.location.href = href;\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n var nextKeys = allKeys.slice(0, prevIndex + 1);\n nextKeys.push(location.key);\n allKeys = nextKeys;\n setState({\n action: action,\n location: location\n });\n }\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Browser history cannot push state in browsers that do not support HTML5 history') : void 0;\n window.location.href = href;\n }\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(_typeof(path) === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n if (canUseHistory) {\n globalHistory.replaceState({\n key: key,\n state: state\n }, null, href);\n\n if (forceRefresh) {\n window.location.replace(href);\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n if (prevIndex !== -1) allKeys[prevIndex] = location.key;\n setState({\n action: action,\n location: location\n });\n }\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Browser history cannot replace state in browsers that do not support HTML5 history') : void 0;\n window.location.replace(href);\n }\n });\n }\n\n function go(n) {\n globalHistory.go(n);\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n var listenerCount = 0;\n\n function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1 && delta === 1) {\n window.addEventListener(PopStateEvent, handlePopState);\n if (needsHashChangeListener) window.addEventListener(HashChangeEvent, handleHashChange);\n } else if (listenerCount === 0) {\n window.removeEventListener(PopStateEvent, handlePopState);\n if (needsHashChangeListener) window.removeEventListener(HashChangeEvent, handleHashChange);\n }\n }\n\n var isBlocked = false;\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n var unblock = transitionManager.setPrompt(prompt);\n\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n\n return unblock();\n };\n }\n\n function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n return function () {\n checkDOMListeners(-1);\n unlisten();\n };\n }\n\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n return history;\n}\n\nvar HashChangeEvent$1 = 'hashchange';\nvar HashPathCoders = {\n hashbang: {\n encodePath: function encodePath(path) {\n return path.charAt(0) === '!' ? path : '!/' + stripLeadingSlash(path);\n },\n decodePath: function decodePath(path) {\n return path.charAt(0) === '!' ? path.substr(1) : path;\n }\n },\n noslash: {\n encodePath: stripLeadingSlash,\n decodePath: addLeadingSlash\n },\n slash: {\n encodePath: addLeadingSlash,\n decodePath: addLeadingSlash\n }\n};\n\nfunction stripHash(url) {\n var hashIndex = url.indexOf('#');\n return hashIndex === -1 ? url : url.slice(0, hashIndex);\n}\n\nfunction getHashPath() {\n // We can't use window.location.hash here because it's not\n // consistent across browsers - Firefox will pre-decode it!\n var href = window.location.href;\n var hashIndex = href.indexOf('#');\n return hashIndex === -1 ? '' : href.substring(hashIndex + 1);\n}\n\nfunction pushHashPath(path) {\n window.location.hash = path;\n}\n\nfunction replaceHashPath(path) {\n window.location.replace(stripHash(window.location.href) + '#' + path);\n}\n\nfunction createHashHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n !canUseDOM ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Hash history needs a DOM') : invariant(false) : void 0;\n var globalHistory = window.history;\n var canGoWithoutReload = supportsGoWithoutReloadUsingHash();\n var _props = props,\n _props$getUserConfirm = _props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === void 0 ? getConfirmation : _props$getUserConfirm,\n _props$hashType = _props.hashType,\n hashType = _props$hashType === void 0 ? 'slash' : _props$hashType;\n var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';\n var _HashPathCoders$hashT = HashPathCoders[hashType],\n encodePath = _HashPathCoders$hashT.encodePath,\n decodePath = _HashPathCoders$hashT.decodePath;\n\n function getDOMLocation() {\n var path = decodePath(getHashPath());\n process.env.NODE_ENV !== \"production\" ? warning(!basename || hasBasename(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path \"' + path + '\" to begin with \"' + basename + '\".') : void 0;\n if (basename) path = stripBasename(path, basename);\n return createLocation(path);\n }\n\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = globalHistory.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n var forceNextPop = false;\n var ignorePath = null;\n\n function locationsAreEqual$$1(a, b) {\n return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash;\n }\n\n function handleHashChange() {\n var path = getHashPath();\n var encodedPath = encodePath(path);\n\n if (path !== encodedPath) {\n // Ensure we always have a properly-encoded hash.\n replaceHashPath(encodedPath);\n } else {\n var location = getDOMLocation();\n var prevLocation = history.location;\n if (!forceNextPop && locationsAreEqual$$1(prevLocation, location)) return; // A hashchange doesn't always == location change.\n\n if (ignorePath === createPath(location)) return; // Ignore this change; we already setState in push/replace.\n\n ignorePath = null;\n handlePop(location);\n }\n }\n\n function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location\n });\n } else {\n revertPop(location);\n }\n });\n }\n }\n\n function revertPop(fromLocation) {\n var toLocation = history.location; // TODO: We could probably make this more reliable by\n // keeping a list of paths we've seen in sessionStorage.\n // Instead, we just default to 0 for paths we don't know.\n\n var toIndex = allPaths.lastIndexOf(createPath(toLocation));\n if (toIndex === -1) toIndex = 0;\n var fromIndex = allPaths.lastIndexOf(createPath(fromLocation));\n if (fromIndex === -1) fromIndex = 0;\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n } // Ensure the hash is encoded properly before doing anything else.\n\n\n var path = getHashPath();\n var encodedPath = encodePath(path);\n if (path !== encodedPath) replaceHashPath(encodedPath);\n var initialLocation = getDOMLocation();\n var allPaths = [createPath(initialLocation)]; // Public interface\n\n function createHref(location) {\n var baseTag = document.querySelector('base');\n var href = '';\n\n if (baseTag && baseTag.getAttribute('href')) {\n href = stripHash(window.location.href);\n }\n\n return href + '#' + encodePath(basename + createPath(location));\n }\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Hash history cannot push state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, undefined, undefined, history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var path = createPath(location);\n var encodedPath = encodePath(basename + path);\n var hashChanged = getHashPath() !== encodedPath;\n\n if (hashChanged) {\n // We cannot tell if a hashchange was caused by a PUSH, so we'd\n // rather setState here and ignore the hashchange. The caveat here\n // is that other hash histories in the page will consider it a POP.\n ignorePath = path;\n pushHashPath(encodedPath);\n var prevIndex = allPaths.lastIndexOf(createPath(history.location));\n var nextPaths = allPaths.slice(0, prevIndex + 1);\n nextPaths.push(path);\n allPaths = nextPaths;\n setState({\n action: action,\n location: location\n });\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'Hash history cannot PUSH the same path; a new entry will not be added to the history stack') : void 0;\n setState();\n }\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Hash history cannot replace state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, undefined, undefined, history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var path = createPath(location);\n var encodedPath = encodePath(basename + path);\n var hashChanged = getHashPath() !== encodedPath;\n\n if (hashChanged) {\n // We cannot tell if a hashchange was caused by a REPLACE, so we'd\n // rather setState here and ignore the hashchange. The caveat here\n // is that other hash histories in the page will consider it a POP.\n ignorePath = path;\n replaceHashPath(encodedPath);\n }\n\n var prevIndex = allPaths.indexOf(createPath(history.location));\n if (prevIndex !== -1) allPaths[prevIndex] = path;\n setState({\n action: action,\n location: location\n });\n });\n }\n\n function go(n) {\n process.env.NODE_ENV !== \"production\" ? warning(canGoWithoutReload, 'Hash history go(n) causes a full page reload in this browser') : void 0;\n globalHistory.go(n);\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n var listenerCount = 0;\n\n function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1 && delta === 1) {\n window.addEventListener(HashChangeEvent$1, handleHashChange);\n } else if (listenerCount === 0) {\n window.removeEventListener(HashChangeEvent$1, handleHashChange);\n }\n }\n\n var isBlocked = false;\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n var unblock = transitionManager.setPrompt(prompt);\n\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n\n return unblock();\n };\n }\n\n function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n return function () {\n checkDOMListeners(-1);\n unlisten();\n };\n }\n\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n return history;\n}\n\nfunction clamp(n, lowerBound, upperBound) {\n return Math.min(Math.max(n, lowerBound), upperBound);\n}\n/**\n * Creates a history object that stores locations in memory.\n */\n\n\nfunction createMemoryHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n var _props = props,\n getUserConfirmation = _props.getUserConfirmation,\n _props$initialEntries = _props.initialEntries,\n initialEntries = _props$initialEntries === void 0 ? ['/'] : _props$initialEntries,\n _props$initialIndex = _props.initialIndex,\n initialIndex = _props$initialIndex === void 0 ? 0 : _props$initialIndex,\n _props$keyLength = _props.keyLength,\n keyLength = _props$keyLength === void 0 ? 6 : _props$keyLength;\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = history.entries.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n }\n\n var index = clamp(initialIndex, 0, initialEntries.length - 1);\n var entries = initialEntries.map(function (entry) {\n return typeof entry === 'string' ? createLocation(entry, undefined, createKey()) : createLocation(entry, undefined, entry.key || createKey());\n }); // Public interface\n\n var createHref = createPath;\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(_typeof(path) === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var prevIndex = history.index;\n var nextIndex = prevIndex + 1;\n var nextEntries = history.entries.slice(0);\n\n if (nextEntries.length > nextIndex) {\n nextEntries.splice(nextIndex, nextEntries.length - nextIndex, location);\n } else {\n nextEntries.push(location);\n }\n\n setState({\n action: action,\n location: location,\n index: nextIndex,\n entries: nextEntries\n });\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(_typeof(path) === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n history.entries[history.index] = location;\n setState({\n action: action,\n location: location\n });\n });\n }\n\n function go(n) {\n var nextIndex = clamp(history.index + n, 0, history.entries.length - 1);\n var action = 'POP';\n var location = history.entries[nextIndex];\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location,\n index: nextIndex\n });\n } else {\n // Mimic the behavior of DOM histories by\n // causing a render after a cancelled POP.\n setState();\n }\n });\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n function canGo(n) {\n var nextIndex = history.index + n;\n return nextIndex >= 0 && nextIndex < history.entries.length;\n }\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n return transitionManager.setPrompt(prompt);\n }\n\n function listen(listener) {\n return transitionManager.appendListener(listener);\n }\n\n var history = {\n length: entries.length,\n action: 'POP',\n location: entries[index],\n index: index,\n entries: entries,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n canGo: canGo,\n block: block,\n listen: listen\n };\n return history;\n}\n\nexport { createBrowserHistory, createHashHistory, createMemoryHistory, createLocation, locationsAreEqual, parsePath, createPath };","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","import _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { createMemoryHistory, createLocation, locationsAreEqual, createPath } from 'history';\nimport warning from 'tiny-warning';\nimport createContext from 'mini-create-react-context';\nimport invariant from 'tiny-invariant';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport pathToRegexp from 'path-to-regexp';\nimport { isValidElementType } from 'react-is';\nimport _objectWithoutPropertiesLoose from '@babel/runtime/helpers/esm/objectWithoutPropertiesLoose';\nimport hoistStatics from 'hoist-non-react-statics'; // TODO: Replace with React.createContext once we can assume React 16+\n\nvar createNamedContext = function createNamedContext(name) {\n var context = createContext();\n context.displayName = name;\n return context;\n};\n\nvar historyContext = /*#__PURE__*/createNamedContext(\"Router-History\"); // TODO: Replace with React.createContext once we can assume React 16+\n\nvar createNamedContext$1 = function createNamedContext(name) {\n var context = createContext();\n context.displayName = name;\n return context;\n};\n\nvar context = /*#__PURE__*/createNamedContext$1(\"Router\");\n/**\n * The public API for putting history on context.\n */\n\nvar Router = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(Router, _React$Component);\n\n Router.computeRootMatch = function computeRootMatch(pathname) {\n return {\n path: \"/\",\n url: \"/\",\n params: {},\n isExact: pathname === \"/\"\n };\n };\n\n function Router(props) {\n var _this;\n\n _this = _React$Component.call(this, props) || this;\n _this.state = {\n location: props.history.location\n }; // This is a bit of a hack. We have to start listening for location\n // changes here in the constructor in case there are any s\n // on the initial render. If there are, they will replace/push when\n // they mount and since cDM fires in children before parents, we may\n // get a new location before the is mounted.\n\n _this._isMounted = false;\n _this._pendingLocation = null;\n\n if (!props.staticContext) {\n _this.unlisten = props.history.listen(function (location) {\n if (_this._isMounted) {\n _this.setState({\n location: location\n });\n } else {\n _this._pendingLocation = location;\n }\n });\n }\n\n return _this;\n }\n\n var _proto = Router.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this._isMounted = true;\n\n if (this._pendingLocation) {\n this.setState({\n location: this._pendingLocation\n });\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n if (this.unlisten) this.unlisten();\n };\n\n _proto.render = function render() {\n return /*#__PURE__*/React.createElement(context.Provider, {\n value: {\n history: this.props.history,\n location: this.state.location,\n match: Router.computeRootMatch(this.state.location.pathname),\n staticContext: this.props.staticContext\n }\n }, /*#__PURE__*/React.createElement(historyContext.Provider, {\n children: this.props.children || null,\n value: this.props.history\n }));\n };\n\n return Router;\n}(React.Component);\n\nif (process.env.NODE_ENV !== \"production\") {\n Router.prototype.componentDidUpdate = function (prevProps) {\n process.env.NODE_ENV !== \"production\" ? warning(prevProps.history === this.props.history, \"You cannot change \") : void 0;\n };\n}\n/**\n * The public API for a that stores location in memory.\n */\n\n\nvar MemoryRouter = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(MemoryRouter, _React$Component);\n\n function MemoryRouter() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this.history = createMemoryHistory(_this.props);\n return _this;\n }\n\n var _proto = MemoryRouter.prototype;\n\n _proto.render = function render() {\n return /*#__PURE__*/React.createElement(Router, {\n history: this.history,\n children: this.props.children\n });\n };\n\n return MemoryRouter;\n}(React.Component);\n\nif (process.env.NODE_ENV !== \"production\") {\n MemoryRouter.prototype.componentDidMount = function () {\n process.env.NODE_ENV !== \"production\" ? warning(!this.props.history, \" ignores the history prop. To use a custom history, \" + \"use `import { Router }` instead of `import { MemoryRouter as Router }`.\") : void 0;\n };\n}\n\nvar Lifecycle = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(Lifecycle, _React$Component);\n\n function Lifecycle() {\n return _React$Component.apply(this, arguments) || this;\n }\n\n var _proto = Lifecycle.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n if (this.props.onMount) this.props.onMount.call(this, this);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n if (this.props.onUpdate) this.props.onUpdate.call(this, this, prevProps);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n if (this.props.onUnmount) this.props.onUnmount.call(this, this);\n };\n\n _proto.render = function render() {\n return null;\n };\n\n return Lifecycle;\n}(React.Component);\n/**\n * The public API for prompting the user before navigating away from a screen.\n */\n\n\nfunction Prompt(_ref) {\n var message = _ref.message,\n _ref$when = _ref.when,\n when = _ref$when === void 0 ? true : _ref$when;\n return /*#__PURE__*/React.createElement(context.Consumer, null, function (context) {\n !context ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"You should not use outside a \") : invariant(false) : void 0;\n if (!when || context.staticContext) return null;\n var method = context.history.block;\n return /*#__PURE__*/React.createElement(Lifecycle, {\n onMount: function onMount(self) {\n self.release = method(message);\n },\n onUpdate: function onUpdate(self, prevProps) {\n if (prevProps.message !== message) {\n self.release();\n self.release = method(message);\n }\n },\n onUnmount: function onUnmount(self) {\n self.release();\n },\n message: message\n });\n });\n}\n\nif (process.env.NODE_ENV !== \"production\") {\n var messageType = PropTypes.oneOfType([PropTypes.func, PropTypes.string]);\n}\n\nvar cache = {};\nvar cacheLimit = 10000;\nvar cacheCount = 0;\n\nfunction compilePath(path) {\n if (cache[path]) return cache[path];\n var generator = pathToRegexp.compile(path);\n\n if (cacheCount < cacheLimit) {\n cache[path] = generator;\n cacheCount++;\n }\n\n return generator;\n}\n/**\n * Public API for generating a URL pathname from a path and parameters.\n */\n\n\nfunction generatePath(path, params) {\n if (path === void 0) {\n path = \"/\";\n }\n\n if (params === void 0) {\n params = {};\n }\n\n return path === \"/\" ? path : compilePath(path)(params, {\n pretty: true\n });\n}\n/**\n * The public API for navigating programmatically with a component.\n */\n\n\nfunction Redirect(_ref) {\n var computedMatch = _ref.computedMatch,\n to = _ref.to,\n _ref$push = _ref.push,\n push = _ref$push === void 0 ? false : _ref$push;\n return /*#__PURE__*/React.createElement(context.Consumer, null, function (context) {\n !context ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"You should not use outside a \") : invariant(false) : void 0;\n var history = context.history,\n staticContext = context.staticContext;\n var method = push ? history.push : history.replace;\n var location = createLocation(computedMatch ? typeof to === \"string\" ? generatePath(to, computedMatch.params) : _extends({}, to, {\n pathname: generatePath(to.pathname, computedMatch.params)\n }) : to); // When rendering in a static context,\n // set the new location immediately.\n\n if (staticContext) {\n method(location);\n return null;\n }\n\n return /*#__PURE__*/React.createElement(Lifecycle, {\n onMount: function onMount() {\n method(location);\n },\n onUpdate: function onUpdate(self, prevProps) {\n var prevLocation = createLocation(prevProps.to);\n\n if (!locationsAreEqual(prevLocation, _extends({}, location, {\n key: prevLocation.key\n }))) {\n method(location);\n }\n },\n to: to\n });\n });\n}\n\nif (process.env.NODE_ENV !== \"production\") {}\n\nvar cache$1 = {};\nvar cacheLimit$1 = 10000;\nvar cacheCount$1 = 0;\n\nfunction compilePath$1(path, options) {\n var cacheKey = \"\" + options.end + options.strict + options.sensitive;\n var pathCache = cache$1[cacheKey] || (cache$1[cacheKey] = {});\n if (pathCache[path]) return pathCache[path];\n var keys = [];\n var regexp = pathToRegexp(path, keys, options);\n var result = {\n regexp: regexp,\n keys: keys\n };\n\n if (cacheCount$1 < cacheLimit$1) {\n pathCache[path] = result;\n cacheCount$1++;\n }\n\n return result;\n}\n/**\n * Public API for matching a URL pathname to a path.\n */\n\n\nfunction matchPath(pathname, options) {\n if (options === void 0) {\n options = {};\n }\n\n if (typeof options === \"string\" || Array.isArray(options)) {\n options = {\n path: options\n };\n }\n\n var _options = options,\n path = _options.path,\n _options$exact = _options.exact,\n exact = _options$exact === void 0 ? false : _options$exact,\n _options$strict = _options.strict,\n strict = _options$strict === void 0 ? false : _options$strict,\n _options$sensitive = _options.sensitive,\n sensitive = _options$sensitive === void 0 ? false : _options$sensitive;\n var paths = [].concat(path);\n return paths.reduce(function (matched, path) {\n if (!path && path !== \"\") return null;\n if (matched) return matched;\n\n var _compilePath = compilePath$1(path, {\n end: exact,\n strict: strict,\n sensitive: sensitive\n }),\n regexp = _compilePath.regexp,\n keys = _compilePath.keys;\n\n var match = regexp.exec(pathname);\n if (!match) return null;\n var url = match[0],\n values = match.slice(1);\n var isExact = pathname === url;\n if (exact && !isExact) return null;\n return {\n path: path,\n // the path used to match\n url: path === \"/\" && url === \"\" ? \"/\" : url,\n // the matched portion of the URL\n isExact: isExact,\n // whether or not we matched exactly\n params: keys.reduce(function (memo, key, index) {\n memo[key.name] = values[index];\n return memo;\n }, {})\n };\n }, null);\n}\n\nfunction isEmptyChildren(children) {\n return React.Children.count(children) === 0;\n}\n\nfunction evalChildrenDev(children, props, path) {\n var value = children(props);\n process.env.NODE_ENV !== \"production\" ? warning(value !== undefined, \"You returned `undefined` from the `children` function of \" + (\", but you \") + \"should have returned a React element or `null`\") : void 0;\n return value || null;\n}\n/**\n * The public API for matching a single path and rendering.\n */\n\n\nvar Route = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(Route, _React$Component);\n\n function Route() {\n return _React$Component.apply(this, arguments) || this;\n }\n\n var _proto = Route.prototype;\n\n _proto.render = function render() {\n var _this = this;\n\n return /*#__PURE__*/React.createElement(context.Consumer, null, function (context$1) {\n !context$1 ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"You should not use outside a \") : invariant(false) : void 0;\n var location = _this.props.location || context$1.location;\n var match = _this.props.computedMatch ? _this.props.computedMatch // already computed the match for us\n : _this.props.path ? matchPath(location.pathname, _this.props) : context$1.match;\n\n var props = _extends({}, context$1, {\n location: location,\n match: match\n });\n\n var _this$props = _this.props,\n children = _this$props.children,\n component = _this$props.component,\n render = _this$props.render; // Preact uses an empty array as children by\n // default, so use null if that's the case.\n\n if (Array.isArray(children) && children.length === 0) {\n children = null;\n }\n\n return /*#__PURE__*/React.createElement(context.Provider, {\n value: props\n }, props.match ? children ? typeof children === \"function\" ? process.env.NODE_ENV !== \"production\" ? evalChildrenDev(children, props, _this.props.path) : children(props) : children : component ? /*#__PURE__*/React.createElement(component, props) : render ? render(props) : null : typeof children === \"function\" ? process.env.NODE_ENV !== \"production\" ? evalChildrenDev(children, props, _this.props.path) : children(props) : null);\n });\n };\n\n return Route;\n}(React.Component);\n\nif (process.env.NODE_ENV !== \"production\") {\n Route.prototype.componentDidMount = function () {\n process.env.NODE_ENV !== \"production\" ? warning(!(this.props.children && !isEmptyChildren(this.props.children) && this.props.component), \"You should not use and in the same route; will be ignored\") : void 0;\n process.env.NODE_ENV !== \"production\" ? warning(!(this.props.children && !isEmptyChildren(this.props.children) && this.props.render), \"You should not use and in the same route; will be ignored\") : void 0;\n process.env.NODE_ENV !== \"production\" ? warning(!(this.props.component && this.props.render), \"You should not use and in the same route; will be ignored\") : void 0;\n };\n\n Route.prototype.componentDidUpdate = function (prevProps) {\n process.env.NODE_ENV !== \"production\" ? warning(!(this.props.location && !prevProps.location), ' elements should not change from uncontrolled to controlled (or vice versa). You initially used no \"location\" prop and then provided one on a subsequent render.') : void 0;\n process.env.NODE_ENV !== \"production\" ? warning(!(!this.props.location && prevProps.location), ' elements should not change from controlled to uncontrolled (or vice versa). You provided a \"location\" prop initially but omitted it on a subsequent render.') : void 0;\n };\n}\n\nfunction addLeadingSlash(path) {\n return path.charAt(0) === \"/\" ? path : \"/\" + path;\n}\n\nfunction addBasename(basename, location) {\n if (!basename) return location;\n return _extends({}, location, {\n pathname: addLeadingSlash(basename) + location.pathname\n });\n}\n\nfunction stripBasename(basename, location) {\n if (!basename) return location;\n var base = addLeadingSlash(basename);\n if (location.pathname.indexOf(base) !== 0) return location;\n return _extends({}, location, {\n pathname: location.pathname.substr(base.length)\n });\n}\n\nfunction createURL(location) {\n return typeof location === \"string\" ? location : createPath(location);\n}\n\nfunction staticHandler(methodName) {\n return function () {\n process.env.NODE_ENV !== \"production\" ? invariant(false, \"You cannot %s with \", methodName) : invariant(false);\n };\n}\n\nfunction noop() {}\n/**\n * The public top-level API for a \"static\" , so-called because it\n * can't actually change the current location. Instead, it just records\n * location changes in a context object. Useful mainly in testing and\n * server-rendering scenarios.\n */\n\n\nvar StaticRouter = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(StaticRouter, _React$Component);\n\n function StaticRouter() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n\n _this.handlePush = function (location) {\n return _this.navigateTo(location, \"PUSH\");\n };\n\n _this.handleReplace = function (location) {\n return _this.navigateTo(location, \"REPLACE\");\n };\n\n _this.handleListen = function () {\n return noop;\n };\n\n _this.handleBlock = function () {\n return noop;\n };\n\n return _this;\n }\n\n var _proto = StaticRouter.prototype;\n\n _proto.navigateTo = function navigateTo(location, action) {\n var _this$props = this.props,\n _this$props$basename = _this$props.basename,\n basename = _this$props$basename === void 0 ? \"\" : _this$props$basename,\n _this$props$context = _this$props.context,\n context = _this$props$context === void 0 ? {} : _this$props$context;\n context.action = action;\n context.location = addBasename(basename, createLocation(location));\n context.url = createURL(context.location);\n };\n\n _proto.render = function render() {\n var _this$props2 = this.props,\n _this$props2$basename = _this$props2.basename,\n basename = _this$props2$basename === void 0 ? \"\" : _this$props2$basename,\n _this$props2$context = _this$props2.context,\n context = _this$props2$context === void 0 ? {} : _this$props2$context,\n _this$props2$location = _this$props2.location,\n location = _this$props2$location === void 0 ? \"/\" : _this$props2$location,\n rest = _objectWithoutPropertiesLoose(_this$props2, [\"basename\", \"context\", \"location\"]);\n\n var history = {\n createHref: function createHref(path) {\n return addLeadingSlash(basename + createURL(path));\n },\n action: \"POP\",\n location: stripBasename(basename, createLocation(location)),\n push: this.handlePush,\n replace: this.handleReplace,\n go: staticHandler(\"go\"),\n goBack: staticHandler(\"goBack\"),\n goForward: staticHandler(\"goForward\"),\n listen: this.handleListen,\n block: this.handleBlock\n };\n return /*#__PURE__*/React.createElement(Router, _extends({}, rest, {\n history: history,\n staticContext: context\n }));\n };\n\n return StaticRouter;\n}(React.Component);\n\nif (process.env.NODE_ENV !== \"production\") {\n StaticRouter.prototype.componentDidMount = function () {\n process.env.NODE_ENV !== \"production\" ? warning(!this.props.history, \" ignores the history prop. To use a custom history, \" + \"use `import { Router }` instead of `import { StaticRouter as Router }`.\") : void 0;\n };\n}\n/**\n * The public API for rendering the first that matches.\n */\n\n\nvar Switch = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(Switch, _React$Component);\n\n function Switch() {\n return _React$Component.apply(this, arguments) || this;\n }\n\n var _proto = Switch.prototype;\n\n _proto.render = function render() {\n var _this = this;\n\n return /*#__PURE__*/React.createElement(context.Consumer, null, function (context) {\n !context ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"You should not use outside a \") : invariant(false) : void 0;\n var location = _this.props.location || context.location;\n var element, match; // We use React.Children.forEach instead of React.Children.toArray().find()\n // here because toArray adds keys to all child elements and we do not want\n // to trigger an unmount/remount for two s that render the same\n // component at different URLs.\n\n React.Children.forEach(_this.props.children, function (child) {\n if (match == null && /*#__PURE__*/React.isValidElement(child)) {\n element = child;\n var path = child.props.path || child.props.from;\n match = path ? matchPath(location.pathname, _extends({}, child.props, {\n path: path\n })) : context.match;\n }\n });\n return match ? /*#__PURE__*/React.cloneElement(element, {\n location: location,\n computedMatch: match\n }) : null;\n });\n };\n\n return Switch;\n}(React.Component);\n\nif (process.env.NODE_ENV !== \"production\") {\n Switch.prototype.componentDidUpdate = function (prevProps) {\n process.env.NODE_ENV !== \"production\" ? warning(!(this.props.location && !prevProps.location), ' elements should not change from uncontrolled to controlled (or vice versa). You initially used no \"location\" prop and then provided one on a subsequent render.') : void 0;\n process.env.NODE_ENV !== \"production\" ? warning(!(!this.props.location && prevProps.location), ' elements should not change from controlled to uncontrolled (or vice versa). You provided a \"location\" prop initially but omitted it on a subsequent render.') : void 0;\n };\n}\n/**\n * A public higher-order component to access the imperative API\n */\n\n\nfunction withRouter(Component) {\n var displayName = \"withRouter(\" + (Component.displayName || Component.name) + \")\";\n\n var C = function C(props) {\n var wrappedComponentRef = props.wrappedComponentRef,\n remainingProps = _objectWithoutPropertiesLoose(props, [\"wrappedComponentRef\"]);\n\n return /*#__PURE__*/React.createElement(context.Consumer, null, function (context) {\n !context ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"You should not use <\" + displayName + \" /> outside a \") : invariant(false) : void 0;\n return /*#__PURE__*/React.createElement(Component, _extends({}, remainingProps, context, {\n ref: wrappedComponentRef\n }));\n });\n };\n\n C.displayName = displayName;\n C.WrappedComponent = Component;\n\n if (process.env.NODE_ENV !== \"production\") {}\n\n return hoistStatics(C, Component);\n}\n\nvar useContext = React.useContext;\n\nfunction useHistory() {\n if (process.env.NODE_ENV !== \"production\") {\n !(typeof useContext === \"function\") ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"You must use React >= 16.8 in order to use useHistory()\") : invariant(false) : void 0;\n }\n\n return useContext(historyContext);\n}\n\nfunction useLocation() {\n if (process.env.NODE_ENV !== \"production\") {\n !(typeof useContext === \"function\") ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"You must use React >= 16.8 in order to use useLocation()\") : invariant(false) : void 0;\n }\n\n return useContext(context).location;\n}\n\nfunction useParams() {\n if (process.env.NODE_ENV !== \"production\") {\n !(typeof useContext === \"function\") ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"You must use React >= 16.8 in order to use useParams()\") : invariant(false) : void 0;\n }\n\n var match = useContext(context).match;\n return match ? match.params : {};\n}\n\nfunction useRouteMatch(path) {\n if (process.env.NODE_ENV !== \"production\") {\n !(typeof useContext === \"function\") ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"You must use React >= 16.8 in order to use useRouteMatch()\") : invariant(false) : void 0;\n }\n\n var location = useLocation();\n var match = useContext(context).match;\n return path ? matchPath(location.pathname, path) : match;\n}\n\nif (process.env.NODE_ENV !== \"production\") {\n if (typeof window !== \"undefined\") {\n var global = window;\n var key = \"__react_router_build__\";\n var buildNames = {\n cjs: \"CommonJS\",\n esm: \"ES modules\",\n umd: \"UMD\"\n };\n\n if (global[key] && global[key] !== \"esm\") {\n var initialBuildName = buildNames[global[key]];\n var secondaryBuildName = buildNames[\"esm\"]; // TODO: Add link to article that explains in detail how to avoid\n // loading 2 different builds.\n\n throw new Error(\"You are loading the \" + secondaryBuildName + \" build of React Router \" + (\"on a page that is already running the \" + initialBuildName + \" \") + \"build, so things won't work right.\");\n }\n\n global[key] = \"esm\";\n }\n}\n\nexport { MemoryRouter, Prompt, Redirect, Route, Router, StaticRouter, Switch, historyContext as __HistoryContext, context as __RouterContext, generatePath, matchPath, useHistory, useLocation, useParams, useRouteMatch, withRouter };","var isProduction = process.env.NODE_ENV === 'production';\nvar prefix = 'Invariant failed';\n\nfunction invariant(condition, message) {\n if (condition) {\n return;\n }\n\n if (isProduction) {\n throw new Error(prefix);\n }\n\n throw new Error(prefix + \": \" + (message || ''));\n}\n\nexport default invariant;","'use strict';\n\nvar reactIs = require('react-is');\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\n\n\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\n\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;","import React, { Component } from 'react';\nimport _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';\nimport PropTypes from 'prop-types';\nimport warning from 'tiny-warning';\nvar MAX_SIGNED_31_BIT_INT = 1073741823;\nvar commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : {};\n\nfunction getUniqueId() {\n var key = '__global_unique_id__';\n return commonjsGlobal[key] = (commonjsGlobal[key] || 0) + 1;\n}\n\nfunction objectIs(x, y) {\n if (x === y) {\n return x !== 0 || 1 / x === 1 / y;\n } else {\n return x !== x && y !== y;\n }\n}\n\nfunction createEventEmitter(value) {\n var handlers = [];\n return {\n on: function on(handler) {\n handlers.push(handler);\n },\n off: function off(handler) {\n handlers = handlers.filter(function (h) {\n return h !== handler;\n });\n },\n get: function get() {\n return value;\n },\n set: function set(newValue, changedBits) {\n value = newValue;\n handlers.forEach(function (handler) {\n return handler(value, changedBits);\n });\n }\n };\n}\n\nfunction onlyChild(children) {\n return Array.isArray(children) ? children[0] : children;\n}\n\nfunction createReactContext(defaultValue, calculateChangedBits) {\n var _Provider$childContex, _Consumer$contextType;\n\n var contextProp = '__create-react-context-' + getUniqueId() + '__';\n\n var Provider = /*#__PURE__*/function (_Component) {\n _inheritsLoose(Provider, _Component);\n\n function Provider() {\n var _this;\n\n _this = _Component.apply(this, arguments) || this;\n _this.emitter = createEventEmitter(_this.props.value);\n return _this;\n }\n\n var _proto = Provider.prototype;\n\n _proto.getChildContext = function getChildContext() {\n var _ref;\n\n return _ref = {}, _ref[contextProp] = this.emitter, _ref;\n };\n\n _proto.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (this.props.value !== nextProps.value) {\n var oldValue = this.props.value;\n var newValue = nextProps.value;\n var changedBits;\n\n if (objectIs(oldValue, newValue)) {\n changedBits = 0;\n } else {\n changedBits = typeof calculateChangedBits === 'function' ? calculateChangedBits(oldValue, newValue) : MAX_SIGNED_31_BIT_INT;\n\n if (process.env.NODE_ENV !== 'production') {\n warning((changedBits & MAX_SIGNED_31_BIT_INT) === changedBits, 'calculateChangedBits: Expected the return value to be a ' + '31-bit integer. Instead received: ' + changedBits);\n }\n\n changedBits |= 0;\n\n if (changedBits !== 0) {\n this.emitter.set(nextProps.value, changedBits);\n }\n }\n }\n };\n\n _proto.render = function render() {\n return this.props.children;\n };\n\n return Provider;\n }(Component);\n\n Provider.childContextTypes = (_Provider$childContex = {}, _Provider$childContex[contextProp] = PropTypes.object.isRequired, _Provider$childContex);\n\n var Consumer = /*#__PURE__*/function (_Component2) {\n _inheritsLoose(Consumer, _Component2);\n\n function Consumer() {\n var _this2;\n\n _this2 = _Component2.apply(this, arguments) || this;\n _this2.state = {\n value: _this2.getValue()\n };\n\n _this2.onUpdate = function (newValue, changedBits) {\n var observedBits = _this2.observedBits | 0;\n\n if ((observedBits & changedBits) !== 0) {\n _this2.setState({\n value: _this2.getValue()\n });\n }\n };\n\n return _this2;\n }\n\n var _proto2 = Consumer.prototype;\n\n _proto2.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n var observedBits = nextProps.observedBits;\n this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT : observedBits;\n };\n\n _proto2.componentDidMount = function componentDidMount() {\n if (this.context[contextProp]) {\n this.context[contextProp].on(this.onUpdate);\n }\n\n var observedBits = this.props.observedBits;\n this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT : observedBits;\n };\n\n _proto2.componentWillUnmount = function componentWillUnmount() {\n if (this.context[contextProp]) {\n this.context[contextProp].off(this.onUpdate);\n }\n };\n\n _proto2.getValue = function getValue() {\n if (this.context[contextProp]) {\n return this.context[contextProp].get();\n } else {\n return defaultValue;\n }\n };\n\n _proto2.render = function render() {\n return onlyChild(this.props.children)(this.state.value);\n };\n\n return Consumer;\n }(Component);\n\n Consumer.contextTypes = (_Consumer$contextType = {}, _Consumer$contextType[contextProp] = PropTypes.object, _Consumer$contextType);\n return {\n Provider: Provider,\n Consumer: Consumer\n };\n}\n\nvar index = React.createContext || createReactContext;\nexport default index;","export default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar isarray = require('isarray');\n/**\n * Expose `pathToRegexp`.\n */\n\n\nmodule.exports = pathToRegexp;\nmodule.exports.parse = parse;\nmodule.exports.compile = compile;\nmodule.exports.tokensToFunction = tokensToFunction;\nmodule.exports.tokensToRegExp = tokensToRegExp;\n/**\n * The main path matching regexp utility.\n *\n * @type {RegExp}\n */\n\nvar PATH_REGEXP = new RegExp([// Match escaped characters that would otherwise appear in future matches.\n// This allows the user to escape special characters that won't transform.\n'(\\\\\\\\.)', // Match Express-style parameters and un-named parameters with a prefix\n// and optional suffixes. Matches appear as:\n//\n// \"/:test(\\\\d+)?\" => [\"/\", \"test\", \"\\d+\", undefined, \"?\", undefined]\n// \"/route(\\\\d+)\" => [undefined, undefined, undefined, \"\\d+\", undefined, undefined]\n// \"/*\" => [\"/\", undefined, undefined, undefined, undefined, \"*\"]\n'([\\\\/.])?(?:(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?|(\\\\*))'].join('|'), 'g');\n/**\n * Parse a string for the raw tokens.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!Array}\n */\n\nfunction parse(str, options) {\n var tokens = [];\n var key = 0;\n var index = 0;\n var path = '';\n var defaultDelimiter = options && options.delimiter || '/';\n var res;\n\n while ((res = PATH_REGEXP.exec(str)) != null) {\n var m = res[0];\n var escaped = res[1];\n var offset = res.index;\n path += str.slice(index, offset);\n index = offset + m.length; // Ignore already escaped sequences.\n\n if (escaped) {\n path += escaped[1];\n continue;\n }\n\n var next = str[index];\n var prefix = res[2];\n var name = res[3];\n var capture = res[4];\n var group = res[5];\n var modifier = res[6];\n var asterisk = res[7]; // Push the current path onto the tokens.\n\n if (path) {\n tokens.push(path);\n path = '';\n }\n\n var partial = prefix != null && next != null && next !== prefix;\n var repeat = modifier === '+' || modifier === '*';\n var optional = modifier === '?' || modifier === '*';\n var delimiter = res[2] || defaultDelimiter;\n var pattern = capture || group;\n tokens.push({\n name: name || key++,\n prefix: prefix || '',\n delimiter: delimiter,\n optional: optional,\n repeat: repeat,\n partial: partial,\n asterisk: !!asterisk,\n pattern: pattern ? escapeGroup(pattern) : asterisk ? '.*' : '[^' + escapeString(delimiter) + ']+?'\n });\n } // Match any characters still remaining.\n\n\n if (index < str.length) {\n path += str.substr(index);\n } // If the path exists, push it onto the end.\n\n\n if (path) {\n tokens.push(path);\n }\n\n return tokens;\n}\n/**\n * Compile a string to a template function for the path.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!function(Object=, Object=)}\n */\n\n\nfunction compile(str, options) {\n return tokensToFunction(parse(str, options), options);\n}\n/**\n * Prettier encoding of URI path segments.\n *\n * @param {string}\n * @return {string}\n */\n\n\nfunction encodeURIComponentPretty(str) {\n return encodeURI(str).replace(/[\\/?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase();\n });\n}\n/**\n * Encode the asterisk parameter. Similar to `pretty`, but allows slashes.\n *\n * @param {string}\n * @return {string}\n */\n\n\nfunction encodeAsterisk(str) {\n return encodeURI(str).replace(/[?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase();\n });\n}\n/**\n * Expose a method for transforming tokens into the path function.\n */\n\n\nfunction tokensToFunction(tokens, options) {\n // Compile all the tokens into regexps.\n var matches = new Array(tokens.length); // Compile all the patterns before compilation.\n\n for (var i = 0; i < tokens.length; i++) {\n if (_typeof(tokens[i]) === 'object') {\n matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$', flags(options));\n }\n }\n\n return function (obj, opts) {\n var path = '';\n var data = obj || {};\n var options = opts || {};\n var encode = options.pretty ? encodeURIComponentPretty : encodeURIComponent;\n\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n\n if (typeof token === 'string') {\n path += token;\n continue;\n }\n\n var value = data[token.name];\n var segment;\n\n if (value == null) {\n if (token.optional) {\n // Prepend partial segment prefixes.\n if (token.partial) {\n path += token.prefix;\n }\n\n continue;\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to be defined');\n }\n }\n\n if (isarray(value)) {\n if (!token.repeat) {\n throw new TypeError('Expected \"' + token.name + '\" to not repeat, but received `' + JSON.stringify(value) + '`');\n }\n\n if (value.length === 0) {\n if (token.optional) {\n continue;\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to not be empty');\n }\n }\n\n for (var j = 0; j < value.length; j++) {\n segment = encode(value[j]);\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected all \"' + token.name + '\" to match \"' + token.pattern + '\", but received `' + JSON.stringify(segment) + '`');\n }\n\n path += (j === 0 ? token.prefix : token.delimiter) + segment;\n }\n\n continue;\n }\n\n segment = token.asterisk ? encodeAsterisk(value) : encode(value);\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected \"' + token.name + '\" to match \"' + token.pattern + '\", but received \"' + segment + '\"');\n }\n\n path += token.prefix + segment;\n }\n\n return path;\n };\n}\n/**\n * Escape a regular expression string.\n *\n * @param {string} str\n * @return {string}\n */\n\n\nfunction escapeString(str) {\n return str.replace(/([.+*?=^!:${}()[\\]|\\/\\\\])/g, '\\\\$1');\n}\n/**\n * Escape the capturing group by escaping special characters and meaning.\n *\n * @param {string} group\n * @return {string}\n */\n\n\nfunction escapeGroup(group) {\n return group.replace(/([=!:$\\/()])/g, '\\\\$1');\n}\n/**\n * Attach the keys as a property of the regexp.\n *\n * @param {!RegExp} re\n * @param {Array} keys\n * @return {!RegExp}\n */\n\n\nfunction attachKeys(re, keys) {\n re.keys = keys;\n return re;\n}\n/**\n * Get the flags for a regexp from the options.\n *\n * @param {Object} options\n * @return {string}\n */\n\n\nfunction flags(options) {\n return options && options.sensitive ? '' : 'i';\n}\n/**\n * Pull out keys from a regexp.\n *\n * @param {!RegExp} path\n * @param {!Array} keys\n * @return {!RegExp}\n */\n\n\nfunction regexpToRegexp(path, keys) {\n // Use a negative lookahead to match only capturing groups.\n var groups = path.source.match(/\\((?!\\?)/g);\n\n if (groups) {\n for (var i = 0; i < groups.length; i++) {\n keys.push({\n name: i,\n prefix: null,\n delimiter: null,\n optional: false,\n repeat: false,\n partial: false,\n asterisk: false,\n pattern: null\n });\n }\n }\n\n return attachKeys(path, keys);\n}\n/**\n * Transform an array into a regexp.\n *\n * @param {!Array} path\n * @param {Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\n\n\nfunction arrayToRegexp(path, keys, options) {\n var parts = [];\n\n for (var i = 0; i < path.length; i++) {\n parts.push(pathToRegexp(path[i], keys, options).source);\n }\n\n var regexp = new RegExp('(?:' + parts.join('|') + ')', flags(options));\n return attachKeys(regexp, keys);\n}\n/**\n * Create a path regexp from string input.\n *\n * @param {string} path\n * @param {!Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\n\n\nfunction stringToRegexp(path, keys, options) {\n return tokensToRegExp(parse(path, options), keys, options);\n}\n/**\n * Expose a function for taking tokens and returning a RegExp.\n *\n * @param {!Array} tokens\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\n\n\nfunction tokensToRegExp(tokens, keys, options) {\n if (!isarray(keys)) {\n options =\n /** @type {!Object} */\n keys || options;\n keys = [];\n }\n\n options = options || {};\n var strict = options.strict;\n var end = options.end !== false;\n var route = ''; // Iterate over the tokens and create our regexp string.\n\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n\n if (typeof token === 'string') {\n route += escapeString(token);\n } else {\n var prefix = escapeString(token.prefix);\n var capture = '(?:' + token.pattern + ')';\n keys.push(token);\n\n if (token.repeat) {\n capture += '(?:' + prefix + capture + ')*';\n }\n\n if (token.optional) {\n if (!token.partial) {\n capture = '(?:' + prefix + '(' + capture + '))?';\n } else {\n capture = prefix + '(' + capture + ')?';\n }\n } else {\n capture = prefix + '(' + capture + ')';\n }\n\n route += capture;\n }\n }\n\n var delimiter = escapeString(options.delimiter || '/');\n var endsWithDelimiter = route.slice(-delimiter.length) === delimiter; // In non-strict mode we allow a slash at the end of match. If the path to\n // match already ends with a slash, we remove it for consistency. The slash\n // is valid at the end of a path match, not in the middle. This is important\n // in non-ending mode, where \"/test/\" shouldn't match \"/test//route\".\n\n if (!strict) {\n route = (endsWithDelimiter ? route.slice(0, -delimiter.length) : route) + '(?:' + delimiter + '(?=$))?';\n }\n\n if (end) {\n route += '$';\n } else {\n // In non-ending mode, we need the capturing groups to match as much as\n // possible by using a positive lookahead to the end or next path segment.\n route += strict && endsWithDelimiter ? '' : '(?=' + delimiter + '|$)';\n }\n\n return attachKeys(new RegExp('^' + route, flags(options)), keys);\n}\n/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n *\n * @param {(string|RegExp|Array)} path\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\n\n\nfunction pathToRegexp(path, keys, options) {\n if (!isarray(keys)) {\n options =\n /** @type {!Object} */\n keys || options;\n keys = [];\n }\n\n options = options || {};\n\n if (path instanceof RegExp) {\n return regexpToRegexp(path,\n /** @type {!Array} */\n keys);\n }\n\n if (isarray(path)) {\n return arrayToRegexp(\n /** @type {!Array} */\n path,\n /** @type {!Array} */\n keys, options);\n }\n\n return stringToRegexp(\n /** @type {string} */\n path,\n /** @type {!Array} */\n keys, options);\n}"],"sourceRoot":""}