{"version":3,"sources":["webpack:///../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack:///../node_modules/@babel/runtime/helpers/esm/typeof.js","webpack:///../node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack:///../node_modules/chain-function/index.js","webpack:///../node_modules/dom-helpers/class/addClass.js","webpack:///../node_modules/dom-helpers/class/hasClass.js","webpack:///../node_modules/dom-helpers/class/removeClass.js","webpack:///../node_modules/dom-helpers/transition/properties.js","webpack:///../node_modules/dom-helpers/util/inDOM.js","webpack:///../node_modules/dom-helpers/util/requestAnimationFrame.js","webpack:///../node_modules/kepler/lib/components/Button.js","webpack:///../node_modules/kepler/lib/components/FormField.js","webpack:///../node_modules/kepler/lib/components/Modal.js","webpack:///../node_modules/kepler/lib/components/ModalBody.js","webpack:///../node_modules/kepler/lib/components/ModalFooter.js","webpack:///../node_modules/kepler/lib/components/ModalHeader.js","webpack:///../node_modules/tslib/tslib.es6.js","webpack:///../node_modules/use-sidecar/dist/es2015/medium.js","webpack:///../node_modules/react-remove-scroll/dist/es2015/medium.js","webpack:///../node_modules/use-callback-ref/dist/es2015/useMergeRef.js","webpack:///../node_modules/use-callback-ref/dist/es2015/useRef.js","webpack:///../node_modules/use-callback-ref/dist/es2015/assignRef.js","webpack:///../node_modules/react-remove-scroll/dist/es2015/UI.js","webpack:///../node_modules/react-remove-scroll-bar/dist/es2015/constants.js","webpack:///../node_modules/focus-lock/dist/es2015/constants.js","webpack:///../node_modules/react-focus-lock/dist/es2015/FocusGuard.js","webpack:///../node_modules/react-focus-lock/dist/es2015/medium.js","webpack:///../node_modules/react-focus-lock/dist/es2015/Lock.js","webpack:///../node_modules/react-focus-lock/dist/es2015/util.js","webpack:///../node_modules/react-focus-lock/dist/es2015/AutoFocusInside.js","webpack:///../node_modules/react-focus-lock/dist/es2015/MoveFocusInside.js","webpack:///../node_modules/react-focus-lock/dist/es2015/UI.js","webpack:///../node_modules/react-focus-on/dist/es2015/medium.js","webpack:///../node_modules/react-focus-on/dist/es2015/UI.js","webpack:///../node_modules/use-sidecar/dist/es2015/exports.js","webpack:///../node_modules/react-clientside-effect/lib/index.es.js","webpack:///../node_modules/focus-lock/dist/es2015/utils/array.js","webpack:///../node_modules/focus-lock/dist/es2015/utils/all-affected.js","webpack:///../node_modules/focus-lock/dist/es2015/focusInside.js","webpack:///../node_modules/focus-lock/dist/es2015/utils/correctFocus.js","webpack:///../node_modules/focus-lock/dist/es2015/utils/firstFocus.js","webpack:///../node_modules/focus-lock/dist/es2015/utils/is.js","webpack:///../node_modules/focus-lock/dist/es2015/solver.js","webpack:///../node_modules/focus-lock/dist/es2015/utils/tabOrder.js","webpack:///../node_modules/focus-lock/dist/es2015/utils/tabUtils.js","webpack:///../node_modules/focus-lock/dist/es2015/utils/tabbables.js","webpack:///../node_modules/focus-lock/dist/es2015/utils/DOMutils.js","webpack:///../node_modules/focus-lock/dist/es2015/utils/parenting.js","webpack:///../node_modules/focus-lock/dist/es2015/focusMerge.js","webpack:///../node_modules/focus-lock/dist/es2015/setFocus.js","webpack:///../node_modules/focus-lock/dist/es2015/index.js","webpack:///../node_modules/react-focus-lock/dist/es2015/Trap.js","webpack:///../node_modules/focus-lock/dist/es2015/focusIsHidden.js","webpack:///../node_modules/focus-lock/dist/es2015/focusables.js","webpack:///../node_modules/get-nonce/dist/es2015/index.js","webpack:///../node_modules/react-focus-lock/dist/es2015/sidecar.js","webpack:///../node_modules/react-style-singleton/dist/es2015/singleton.js","webpack:///../node_modules/react-style-singleton/dist/es2015/component.js","webpack:///../node_modules/react-style-singleton/dist/es2015/hook.js","webpack:///../node_modules/react-remove-scroll-bar/dist/es2015/utils.js","webpack:///../node_modules/react-remove-scroll-bar/dist/es2015/component.js","webpack:///../node_modules/react-remove-scroll/dist/es2015/handleScroll.js","webpack:///../node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js","webpack:///../node_modules/react-remove-scroll/dist/es2015/SideEffect.js","webpack:///../node_modules/react-remove-scroll/dist/es2015/sidecar.js","webpack:///../node_modules/aria-hidden/dist/es2015/index.js","webpack:///../node_modules/react-focus-on/dist/es2015/InteractivityDisabler.js","webpack:///../node_modules/react-focus-on/dist/es2015/Effect.js","webpack:///../node_modules/react-focus-on/dist/es2015/sidecar.js","webpack:///../node_modules/react-focus-on/dist/es2015/Combination.js","webpack:///../node_modules/react-focus-on/dist/es2015/reExports.js","webpack:///../node_modules/react-focus-on/dist/es2015/index.js","webpack:///../node_modules/react-transition-group/CSSTransitionGroup.js","webpack:///../node_modules/react-transition-group/CSSTransitionGroupChild.js","webpack:///../node_modules/react-transition-group/TransitionGroup.js","webpack:///../node_modules/react-transition-group/node_modules/warning/browser.js","webpack:///../node_modules/react-transition-group/utils/ChildMapping.js","webpack:///../node_modules/react-transition-group/utils/PropTypes.js"],"names":["asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","this","args","arguments","apply","err","undefined","_typeof","obj","Symbol","iterator","constructor","prototype","module","exports","__esModule","len","length","i","filter","reduce","current","next","_interopRequireDefault","default","element","className","classList","add","_hasClass","setAttribute","baseVal","contains","indexOf","replaceClassName","origClass","classToRemove","replace","RegExp","remove","animationEnd","animationDelay","animationTiming","animationDuration","animationName","transitionEnd","transitionDuration","transitionDelay","transitionTiming","transitionProperty","transform","prefix","_inDOM","_getTransitionPropert","style","document","createElement","vendorMap","O","e","toLowerCase","Moz","Webkit","ms","vendors","Object","keys","vendor","getTransitionProperties","_default","end","property","timing","delay","duration","window","compatRaf","cancel","raf","curr","Date","getTime","Math","max","prev","req","setTimeout","getKey","k","toUpperCase","substr","some","rafKey","cb","id","_createClass","defineProperties","target","props","descriptor","enumerable","configurable","writable","defineProperty","Constructor","protoProps","staticProps","_get","_x","_x2","_x3","_again","object","receiver","Function","desc","getOwnPropertyDescriptor","getter","get","call","parent","getPrototypeOf","_classCallCheck","instance","TypeError","_react2","_propTypes2","_reactDom2","_classnames2","_blacklist2","Button","_React$Component","subClass","superClass","create","setPrototypeOf","__proto__","_inherits","findDOMNode","refs","button","focus","componentClass","type","size","block","active","isActive","component","cloneElement","tag","submit","href","children","Component","propTypes","oneOfType","bool","string","node","oneOf","defaultProps","_extends","assign","source","hasOwnProperty","FormField","displayName","offsetAbsentLabel","width","componentLabel","label","htmlFor","_reactFocusOn","_reactTransitionGroupCSSTransitionGroup2","Modal","onCancel","event","stopPropagation","returnValue","_this","isOpen","close","showCloseButton","onClick","handleClose","bind","ref","closeButton","back","modalElement","isNaN","tabIndex","onContentClick","opaque","contents","FocusOn","enabled","onEscapeKey","onClickOutside","backdropClosesModal","transitionName","transitionEnterTimeout","transitionLeaveTimeout","renderDialog","createPortal","body","func","number","Body","Footer","Header","ModalBody","isRequired","ModalFooter","ModalHeader","text","__assign","t","s","n","p","__rest","getOwnPropertySymbols","propertyIsEnumerable","ItoI","a","innerCreateMedium","defaults","middleware","buffer","assigned","read","Error","useMedium","data","item","push","x","assignSyncMedium","cbs","forEach","assignMedium","pendingQueue","executeQueue","cycle","createMedium","createSidecarMedium","options","medium","async","ssr","effectCar","useMergeRefs","defaultValue","initialValue","callback","newValue","assignRef","facade","last","nothing","RemoveScroll","parentRef","_a","onScrollCapture","onWheelCapture","onTouchMoveCapture","callbacks","setCallbacks","forwardProps","removeScrollBar","shards","sideCar","noIsolation","inert","allowPinchZoom","_b","as","Container","rest","SideCar","containerRef","containerProps","lockRef","only","classNames","fullWidth","zeroRight","FOCUS_AUTO","hiddenGuard","height","padding","overflow","position","top","left","_ref","mediumFocus","currentTarget","mediumBlur","mediumEffect","mediumSidecar","emptyArray","FocusLock","_extends2","_React$useState","realObserved","setObserved","observed","originalFocusedElement","disabled","noFocusGuards","persistentFocus","crossFrame","autoFocus","group","allowTextSelection","whiteList","_props$shards","_props$as","_props$lockProps","lockProps","shouldReturnFocus","returnFocus","onActivationCallback","onActivation","onDeactivationCallback","onDeactivation","activeElement","allowDefer","Boolean","focusOptions","onFocus","onBlur","setObserveNode","newObserved","hasLeadingGuards","hasTailingGuards","mergedRef","deferAction","action","setImmediate","inlineProp","name","MoveFocusInside","observedRef","isDisabled","car","focusInside","moveFocusInside","setLockProps","_c","scrollLock","_d","focusLock","_e","shouldIgnore","restProps","Target","exportSidecar","exported","isSideCarExport","reducePropsToState","handleStateChangeOnClient","WrappedComponent","state","mountedInstances","emitChange","map","SideEffect","_PureComponent","peek","_proto","componentDidMount","componentDidUpdate","componentWillUnmount","index","splice","render","getDisplayName","toArray","ret","Array","asArray","isArray","getTopParent","parentNode","getAllAffectedNodes","acc","currentNode","getAttribute","nodes","contained","Set","l","j","compareDocumentPosition","Node","DOCUMENT_POSITION_CONTAINED_BY","DOCUMENT_POSITION_CONTAINS","_","has","filterNested","querySelectorAll","focusInsideIframe","topNode","dataset","focusGuard","result","isRadio","tagName","correctNode","el","checked","findSelectedRadio","pickFirstFocus","pickFocusable","isVisible","nodeType","DOCUMENT_NODE","computedStyle","getComputedStyle","getPropertyValue","DOCUMENT_FRAGMENT_NODE","host","isGuard","isNotAGuard","isDefined","newFocus","innerNodes","outerNodes","lastNode","cnt","firstFocus","lastFocus","isOnGuard","resultSet","activeIndex","lastIndex","lastNodeInside","indexDiff","firstNodeIndex","lastNodeIndex","correctedNodes","correctedIndexDiff","returnFirstNode","returnLastNode","abs","tabSort","b","tabDiff","orderByTabIndex","filterNegative","keepGuards","sort","queryTabbables","join","queryGuardTabbables","getFocusables","parents","withGuards","concat","filterFocusable","notHiddenInput","getTabbableNodes","topNodes","getAllTabbableNodes","parentAutofocusables","parentFocus","getParents","getCommonParent","nodeA","nodeB","parentsA","parentsB","currentParent","getTopCommonParent","baseActiveElement","leftEntry","rightEntries","activeElements","leftEntries","topCommon","entry","subEntry","common","getFocusMerge","entries","commonParent","anyFocusable","innerElements","srcNodes","dstNodes","remap","autoFocusables","orderedInnerElements","Map","entity","set","newId","autoFocusable","allParentAutofocusables","autofocus","guardCount","lockDisabled","focusable","console","contentWindow","lastActiveTrap","lastActiveFocus","lastPortaledElement","focusWasOutsideWindow","defaultWhitelist","autoGuard","startIndex","step","allNodes","lastGuard","guard","focusAutoGuard","lockItem","extractRef","_lastActiveTrap","workingNode","portaledElement","workingArea","focusWhitelisted","blur","newActiveElement","focusedIndex","_ref2","_ref3","removeAttribute","onTrap","preventDefault","observerNode","onWindowBlur","currentNonce","propsList","_ref5","traps","trap","slice","addEventListener","lastTrap","sameTrap","_ref6","removeEventListener","makeStyleTag","nonce","stylesheetSingleton","counter","stylesheet","css","styleSheet","cssText","appendChild","createTextNode","head","getElementsByTagName","insertStyleTag","removeChild","styleSingleton","sheet","useStyle","styles","zeroGap","right","gap","parse","parseInt","getGapWidth","gapMode","offsets","cs","getOffset","documentWidth","documentElement","clientWidth","windowWidth","innerWidth","getStyles","allowRelative","important","RemoveScrollBar","setGap","noRelative","noImportant","locationCouldBeScrolled","axis","elementCouldBeScrolled","getScrollVariables","overflowY","overflowX","elementCouldBeVScrolled","elementCouldBeHScrolled","scrollTop","scrollHeight","clientHeight","scrollLeft","scrollWidth","getHScrollVariables","passiveSupported","nonPassive","passive","getTouchXY","changedTouches","clientX","clientY","getDeltaXY","deltaX","deltaY","generateStyle","idCounter","lockStack","shouldPreventQueue","touchStartRef","activeAxis","Style","lastProps","allow_1","shouldCancelEvent","touches","currentAxis","touch","touchStart","moveDirection","canBeScrolledInMainDirection","cancelingAxis","endTarget","sourceDelta","noOverscroll","delta","targetInLock","shouldCancelScroll","isDeltaPositive","availableScroll","availableScrollTop","elementScroll","handleScroll","shouldPrevent","_event","sourceEvent","y","should","shardNodes","shouldCancel","scrollTouchStart","scrollWheel","scrollTouchMove","inst","defaultParent","counterMap","WeakMap","uncontrolledNodes","markerMap","lockCount","InteractivityDisabler","activeNode","setActiveNode","lastEventTarget","mouseTouches","onKeyDown","defaultPrevented","code","keyCode","onMouseDown","MouseEvent","onTouchStart","onTouchEnd","_undo","unmounted","originalTarget","markerName","targets","markerCounter","hiddenNodes","deep","attr","alreadyHidden","counterValue","markerValue","delete","hideOthers","RequireSideCar","_TransitionGroup2","_CSSTransitionGroupChild2","_PropTypes","_possibleConstructorReturn","ReferenceError","nameShape","transitionTimeout","CSSTransitionGroup","_temp","_len","_key","_wrapChild","child","appear","transitionAppear","enter","transitionEnter","leave","transitionLeave","appearTimeout","transitionAppearTimeout","enterTimeout","leaveTimeout","childFactory","_addClass2","_removeClass2","_requestAnimationFrame2","_properties","_reactDom","events","CSSTransitionGroupChild","componentWillAppear","transition","componentWillEnter","componentWillLeave","componentWillMount","classNameAndNodeQueue","transitionTimeouts","timeout","clearTimeout","animationType","finishCallback","activeClassName","timer","removeListeners","queueClassAndNode","finish","listener","addEndListener","_this2","rafHandle","flushClassNameAndNodeQueue","Children","_chainFunction2","_ChildMapping","any","TransitionGroup","context","performAppear","currentlyTransitioningKeys","_handleDoneAppearing","componentDidAppear","currentChildMapping","getChildMapping","performLeave","performEnter","_handleDoneEntering","componentDidEnter","_handleDoneLeaving","componentDidLeave","keysToEnter","setState","newChildren","childRefs","keysToLeave","initialChildMapping","componentWillReceiveProps","nextProps","nextChildMapping","prevChildMapping","mergeChildMappings","hasPrev","hasNext","_this3","childrenToRender","_loop","isCallbackRef","factoryChild","r","_react","getValueForKey","nextKeysPending","pendingKeys","prevKey","childMapping","nextKey","pendingNextKey","transitionType","timeoutPropName","enabledPropName","shape","enterActive","leaveActive","appearActive"],"mappings":";;;;;yDAAA,SAASA,EAAmBC,EAAKC,EAASC,EAAQC,EAAOC,EAAQC,EAAKC,GACpE,IACE,IAAIC,EAAOP,EAAIK,GAAKC,GAChBE,EAAQD,EAAKC,MACjB,MAAOC,GAEP,YADAP,EAAOO,GAILF,EAAKG,KACPT,EAAQO,GAERG,QAAQV,QAAQO,GAAOI,KAAKT,EAAOC,GAIxB,SAASS,EAAkBC,GACxC,OAAO,WACL,IAAIC,EAAOC,KACPC,EAAOC,UACX,OAAO,IAAIP,SAAQ,SAAUV,EAASC,GACpC,IAAIF,EAAMc,EAAGK,MAAMJ,EAAME,GAEzB,SAASd,EAAMK,GACbT,EAAmBC,EAAKC,EAASC,EAAQC,EAAOC,EAAQ,OAAQI,GAGlE,SAASJ,EAAOgB,GACdrB,EAAmBC,EAAKC,EAASC,EAAQC,EAAOC,EAAQ,QAASgB,GAGnEjB,OAAMkB,OA/BZ,mC;;;;;yDCAe,SAASC,EAAQC,GAa9B,OATED,EADoB,mBAAXE,QAAoD,iBAApBA,OAAOC,SACtC,SAAiBF,GACzB,cAAcA,GAGN,SAAiBA,GACzB,OAAOA,GAAyB,mBAAXC,QAAyBD,EAAIG,cAAgBF,QAAUD,IAAQC,OAAOG,UAAY,gBAAkBJ,IAI9GA,GAbjB,mC;;;;;;oFCMAK,EAAOC,QANP,SAAgCN,GAC9B,OAAOA,GAAOA,EAAIO,WAAaP,EAAM,CACnC,QAAWA,K;;;;;;oFCDfK,EAAOC,QAAU,WAIf,IAHA,IAAIE,EAAMb,UAAUc,OAChBf,EAAO,GAEFgB,EAAI,EAAGA,EAAIF,EAAKE,IACvBhB,EAAKgB,GAAKf,UAAUe,GAItB,GAAoB,KAFpBhB,EAAOA,EAAKiB,QAAO,SAASpB,GAAK,OAAa,MAANA,MAE/BkB,OACT,OAAoB,IAAhBf,EAAKe,OAAqBf,EAAK,GAE5BA,EAAKkB,QAAO,SAASC,EAASC,GACnC,OAAO,WACLD,EAAQjB,MAAMH,KAAME,WACpBmB,EAAKlB,MAAMH,KAAME,iB;;;;;;mGCdvB,IAAIoB,EAAyB,qDAAQ,mEAErCT,EAAQC,YAAa,EACrBD,EAAQU,QAIR,SAAkBC,EAASC,GACrBD,EAAQE,UAAWF,EAAQE,UAAUC,IAAIF,IAAqB,EAAIG,EAAUL,SAASC,EAASC,KAA6C,iBAAtBD,EAAQC,UAAwBD,EAAQC,UAAYD,EAAQC,UAAY,IAAMA,EAAeD,EAAQK,aAAa,SAAUL,EAAQC,WAAaD,EAAQC,UAAUK,SAAW,IAAM,IAAML,KAHrT,IAAIG,EAAYN,EAAuB,mBAAQ,kDAM/CV,EAAOC,QAAUA,EAAiB,S;;;;;;mGCXlCA,EAAQC,YAAa,EACrBD,EAAQU,QAER,SAAkBC,EAASC,GACzB,OAAID,EAAQE,YAAoBD,GAAaD,EAAQE,UAAUK,SAASN,IAA0H,KAAlG,KAAOD,EAAQC,UAAUK,SAAWN,EAAQC,WAAa,KAAKO,QAAQ,IAAMP,EAAY,MAG1Lb,EAAOC,QAAUA,EAAiB,S;;;;;;mGCPlC,SAASoB,EAAiBC,EAAWC,GACnC,OAAOD,EAAUE,QAAQ,IAAIC,OAAO,UAAYF,EAAgB,YAAa,KAAM,MAAMC,QAAQ,OAAQ,KAAKA,QAAQ,aAAc,IAGtIxB,EAAOC,QAAU,SAAqBW,EAASC,GACzCD,EAAQE,UAAWF,EAAQE,UAAUY,OAAOb,GAAiD,iBAAtBD,EAAQC,UAAwBD,EAAQC,UAAYQ,EAAiBT,EAAQC,UAAWA,GAAgBD,EAAQK,aAAa,QAASI,EAAiBT,EAAQC,WAAaD,EAAQC,UAAUK,SAAW,GAAIL,M;;;;;;mGCL1R,IAAIH,EAAyB,qDAAQ,mEAErCT,EAAQC,YAAa,EACrBD,EAAQU,QAAUV,EAAQ0B,aAAe1B,EAAQ2B,eAAiB3B,EAAQ4B,gBAAkB5B,EAAQ6B,kBAAoB7B,EAAQ8B,cAAgB9B,EAAQ+B,cAAgB/B,EAAQgC,mBAAqBhC,EAAQiC,gBAAkBjC,EAAQkC,iBAAmBlC,EAAQmC,mBAAqBnC,EAAQoC,eAAY,EAE3S,IAIIC,EAAQN,EAAeL,EAGvBS,EAAoBH,EAAoBE,EAAkBD,EAK1DH,EAAeD,EAAmBD,EAAiBD,EAZnDW,EAAS7B,EAAuB,sBAAQ,8CAExC2B,EAAY,YAgBhB,GAfApC,EAAQoC,UAAYA,EAEpBpC,EAAQ0B,aAAeA,EACvB1B,EAAQ+B,cAAgBA,EAExB/B,EAAQiC,gBAAkBA,EAC1BjC,EAAQkC,iBAAmBA,EAC3BlC,EAAQgC,mBAAqBA,EAC7BhC,EAAQmC,mBAAqBA,EAE7BnC,EAAQ2B,eAAiBA,EACzB3B,EAAQ4B,gBAAkBA,EAC1B5B,EAAQ6B,kBAAoBA,EAC5B7B,EAAQ8B,cAAgBA,EAEpBQ,EAAO5B,QAAS,CAClB,IAAI6B,EA0BN,WAoBE,IAnBA,IAgBIR,EAAeL,EAhBfc,EAAQC,SAASC,cAAc,OAAOF,MACtCG,EAAY,CACdC,EAAG,SAAWC,GACZ,MAAO,IAAMA,EAAEC,eAEjBC,IAAK,SAAaF,GAChB,OAAOA,EAAEC,eAEXE,OAAQ,SAAgBH,GACtB,MAAO,SAAWA,GAEpBI,GAAI,SAAYJ,GACd,MAAO,KAAOA,IAGdK,EAAUC,OAAOC,KAAKT,GAEtBN,EAAS,GAEJjC,EAAI,EAAGA,EAAI8C,EAAQ/C,OAAQC,IAAK,CACvC,IAAIiD,EAASH,EAAQ9C,GAErB,GAAIiD,EAAS,uBAAwBb,EAAO,CAC1CH,EAAS,IAAMgB,EAAOP,cACtBf,EAAgBY,EAAUU,GAAQ,iBAClC3B,EAAeiB,EAAUU,GAAQ,gBACjC,QAICtB,GAAiB,uBAAwBS,IAAOT,EAAgB,kBAChEL,GAAgB,kBAAmBc,IAAOd,EAAe,gBAE9D,OADAc,EAAQ,KACD,CACLd,aAAcA,EACdK,cAAeA,EACfM,OAAQA,GA/DkBiB,GAE5BjB,EAASE,EAAsBF,OAC/BrC,EAAQ+B,cAAgBA,EAAgBQ,EAAsBR,cAC9D/B,EAAQ0B,aAAeA,EAAea,EAAsBb,aAC5D1B,EAAQoC,UAAYA,EAAYC,EAAS,IAAMD,EAC/CpC,EAAQmC,mBAAqBA,EAAqBE,EAAS,uBAC3DrC,EAAQgC,mBAAqBA,EAAqBK,EAAS,uBAC3DrC,EAAQiC,gBAAkBA,EAAkBI,EAAS,oBACrDrC,EAAQkC,iBAAmBA,EAAmBG,EAAS,8BACvDrC,EAAQ8B,cAAgBA,EAAgBO,EAAS,kBACjDrC,EAAQ6B,kBAAoBA,EAAoBQ,EAAS,sBACzDrC,EAAQ4B,gBAAkBA,EAAkBS,EAAS,mBACrDrC,EAAQ2B,eAAiBA,EAAiBU,EAAS,6BAGrD,IAAIkB,EAAW,CACbnB,UAAWA,EACXoB,IAAKzB,EACL0B,SAAUtB,EACVuB,OAAQxB,EACRyB,MAAO1B,EACP2B,SAAU5B,GAEZhC,EAAQU,QAAU6C,G;;;;;;mGChDlBvD,EAAQC,YAAa,EACrBD,EAAQU,aAAU,EAElB,IAAI6C,IAAgC,oBAAXM,SAA0BA,OAAOpB,WAAYoB,OAAOpB,SAASC,eAEtF1C,EAAQU,QAAU6C,EAClBxD,EAAOC,QAAUA,EAAiB,S;;;;;;mGCNlC,IAAIS,EAAyB,qDAAQ,mEAErCT,EAAQC,YAAa,EACrBD,EAAQU,aAAU,EAElB,IAKIoD,EALAxB,EAAS7B,EAAuB,gBAAQ,8CAGxCsD,EAAS,eACTC,EAwBJ,SAAkB/E,GAChB,IAAIgF,GAAO,IAAIC,MAAOC,UAClBlB,EAAKmB,KAAKC,IAAI,EAAG,IAAMJ,EAAOK,IAC9BC,EAAMC,WAAWvF,EAAIgE,GAEzB,OADAqB,EAAOL,EACAM,GA1BLE,EAAS,SAAgBpB,EAAQqB,GACnC,OAAOrB,GAAWA,EAAaqB,EAAE,GAAGC,cAAgBD,EAAEE,OAAO,GAAlCF,GAAwC,kBAGjEpC,EAAO5B,SATG,CAAC,GAAI,SAAU,MAAO,IAAK,MAU/BmE,MAAK,SAAUxB,GACrB,IAAIyB,EAASL,EAAOpB,EAAQ,WAE5B,GAAIyB,KAAUjB,OAEZ,OADAE,EAASU,EAAOpB,EAAQ,UACjBW,EAAM,SAAae,GACxB,OAAOlB,OAAOiB,GAAQC,OAQ9B,IAAIT,GAAO,IAAIJ,MAAOC,WAUtBL,EAAY,SAAmBiB,GAC7B,OAAOf,EAAIe,KAGHhB,OAAS,SAAUiB,GAC3BnB,OAAOE,IAAqC,mBAAnBF,OAAOE,IAA0BF,OAAOE,GAAQiB,IAG3E,IAAIzB,EAAWO,EACf9D,EAAQU,QAAU6C,EAClBxD,EAAOC,QAAUA,EAAiB,S;;;;;;mGCnDlC,IAAIiF,EAAe,WAAe,SAASC,EAAiBC,EAAQC,GAAS,IAAK,IAAIhF,EAAI,EAAGA,EAAIgF,EAAMjF,OAAQC,IAAK,CAAE,IAAIiF,EAAaD,EAAMhF,GAAIiF,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAMrC,OAAOsC,eAAeN,EAAQE,EAAW7G,IAAK6G,IAAiB,OAAO,SAAUK,EAAaC,EAAYC,GAAiJ,OAA9HD,GAAYT,EAAiBQ,EAAY5F,UAAW6F,GAAiBC,GAAaV,EAAiBQ,EAAaE,GAAqBF,GAA9gB,GAEfG,EAAO,SAAaC,EAAIC,EAAKC,GAAqC,IAA9B,IAAIC,GAAS,EAAwBA,GAAQ,CAAE,IAAIC,EAASJ,EAAIrC,EAAWsC,EAAKI,EAAWH,EAAKC,GAAS,EAAsB,OAAXC,IAAiBA,EAASE,SAAStG,WAAW,IAAIuG,EAAOlD,OAAOmD,yBAAyBJ,EAAQzC,GAAW,QAAajE,IAAT6G,EAAJ,CAA4O,GAAI,UAAWA,EAAQ,OAAOA,EAAK1H,MAAgB,IAAI4H,EAASF,EAAKG,IAAK,QAAehH,IAAX+G,EAAwB,OAAoB,OAAOA,EAAOE,KAAKN,GAA/V,IAAIO,EAASvD,OAAOwD,eAAeT,GAAS,GAAe,OAAXQ,EAAmB,OAA2BZ,EAAKY,EAAQX,EAAMtC,EAAUuC,EAAMG,EAAUF,GAAS,EAAMI,EAAOK,OAASlH,IAE5c,SAASiB,EAAuBf,GAAO,OAAOA,GAAOA,EAAIO,WAAaP,EAAM,CAAE,QAAWA,GAEzF,SAASkH,EAAgBC,EAAUnB,GAAe,KAAMmB,aAAoBnB,GAAgB,MAAM,IAAIoB,UAAU,qCAIhH,IAEIC,EAAUtG,EAFD,cAAQ,mCAMjBuG,EAAcvG,EAFD,mBAAQ,wCAMrBwG,EAAaxG,EAFD,kBAAQ,uCAMpByG,EAAezG,EAFD,mBAAQ,wCAMtB0G,EAAc1G,EAFD,kBAAQ,uCAOrB2G,EAAS,SAAWC,GAGpB,SAASD,IACLR,EAAgBzH,KAAMiI,GAEtBvB,EAAK1C,OAAOwD,eAAeS,EAAOtH,WAAY,cAAeX,MAAMG,MAAMH,KAAME,WAqCnF,OApEJ,SAAmBiI,EAAUC,GAAc,GAA0B,mBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIT,UAAU,kEAAoES,GAAeD,EAASxH,UAAYqD,OAAOqE,OAAOD,GAAcA,EAAWzH,UAAW,CAAED,YAAa,CAAElB,MAAO2I,EAAUhC,YAAY,EAAOE,UAAU,EAAMD,cAAc,KAAegC,IAAYpE,OAAOsE,eAAiBtE,OAAOsE,eAAeH,EAAUC,GAAcD,EAASI,UAAYH,GA0B7dI,CAAUP,EAAQC,GAQlBpC,EAAamC,EAAQ,CAAC,CAClB5I,IAAK,QACLG,MAAO,WACHsI,EAAoB,QAAEW,YAAYzI,KAAK0I,KAAKC,QAAQC,UAEzD,CACCvJ,IAAK,SACLG,MAAO,WAEH,IAAIqJ,GAAiB,EAAId,EAAsB,SAAG,SAAU,WAAa/H,KAAKiG,MAAM6C,KAAM9I,KAAKiG,MAAM8C,KAAO,WAAa/I,KAAKiG,MAAM8C,KAAO,KAAM,CAC7I,gBAAiB/I,KAAKiG,MAAM+C,MAC5BC,OAAQjJ,KAAKiG,MAAMiD,UACpBlJ,KAAKiG,MAAMxE,WAGVwE,GAAQ,EAAI+B,EAAqB,SAAGhI,KAAKiG,MAAO,OAAQ,OAAQ,YAAa,YAAa,UAG9F,GAFAA,EAAMxE,UAAYoH,EAEd7I,KAAKiG,MAAMkD,UACX,OAAOvB,EAAiB,QAAEwB,aAAapJ,KAAKiG,MAAMkD,UAAWlD,GAGjE,IAAIoD,EAAM,SAQV,OAPApD,EAAM6C,KAAO9I,KAAKiG,MAAMqD,OAAS,SAAW,SAExCrD,EAAMsD,OACNF,EAAM,WACCpD,EAAM6C,MAGVlB,EAAiB,QAAErE,cAAc8F,EAAKpD,EAAOjG,KAAKiG,MAAMuD,cAIhEvB,EA3CE,CA4CVL,EAAiB,QAAE6B,WAEtBxB,EAAOyB,UAAY,CACfV,MAAOnB,EAAqB,QAAE8B,UAAU,CAAC9B,EAAqB,QAAE+B,KAAM/B,EAAqB,QAAEgC,SAC7FpI,UAAWoG,EAAqB,QAAEgC,OAClCV,UAAWtB,EAAqB,QAAEiC,KAClCP,KAAM1B,EAAqB,QAAEgC,OAC7BX,SAAUrB,EAAqB,QAAE+B,KACjCb,KAAMlB,EAAqB,QAAEkC,MAvDd,CAAC,KAAM,OAwDtBT,OAAQzB,EAAqB,QAAE8B,UAAU,CAAC9B,EAAqB,QAAE+B,KAAM/B,EAAqB,QAAEgC,SAC9Ff,KAAMjB,EAAqB,QAAEkC,MAxDd,CAAC,UAAW,YAAa,OAAQ,YAAa,cAAe,iBA2DhF9B,EAAO+B,aAAe,CAClBlB,KAAM,WAGVlI,EAAOC,QAAUoH,G;;;;;;mGC9FjB,IAAIgC,EAAWjG,OAAOkG,QAAU,SAAUlE,GAAU,IAAK,IAAI/E,EAAI,EAAGA,EAAIf,UAAUc,OAAQC,IAAK,CAAE,IAAIkJ,EAASjK,UAAUe,GAAI,IAAK,IAAI5B,KAAO8K,EAAcnG,OAAOrD,UAAUyJ,eAAe9C,KAAK6C,EAAQ9K,KAAQ2G,EAAO3G,GAAO8K,EAAO9K,IAAY,OAAO2G,GAEnPF,EAAe,WAAe,SAASC,EAAiBC,EAAQC,GAAS,IAAK,IAAIhF,EAAI,EAAGA,EAAIgF,EAAMjF,OAAQC,IAAK,CAAE,IAAIiF,EAAaD,EAAMhF,GAAIiF,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAMrC,OAAOsC,eAAeN,EAAQE,EAAW7G,IAAK6G,IAAiB,OAAO,SAAUK,EAAaC,EAAYC,GAAiJ,OAA9HD,GAAYT,EAAiBQ,EAAY5F,UAAW6F,GAAiBC,GAAaV,EAAiBQ,EAAaE,GAAqBF,GAA9gB,GAInB,SAASjF,EAAuBf,GAAO,OAAOA,GAAOA,EAAIO,WAAaP,EAAM,CAAE,QAAWA,GAMzF,IAEIqH,EAAUtG,EAFD,cAAQ,mCAMjBuG,EAAcvG,EAFD,mBAAQ,wCAMrB0G,EAAc1G,EAFD,kBAAQ,uCAMrByG,EAAezG,EAFD,mBAAQ,wCAItB+I,EAAY,SAAWnC,GAGvB,SAASmC,EAAUpE,IAvBvB,SAAyByB,EAAUnB,GAAe,KAAMmB,aAAoBnB,GAAgB,MAAM,IAAIoB,UAAU,qCAwBxGF,CAAgBzH,KAAMqK,GA5BnB,SAAa1D,EAAIC,EAAKC,GAAqC,IAA9B,IAAIC,GAAS,EAAwBA,GAAQ,CAAE,IAAIC,EAASJ,EAAIrC,EAAWsC,EAAKI,EAAWH,EAAKC,GAAS,EAAsB,OAAXC,IAAiBA,EAASE,SAAStG,WAAW,IAAIuG,EAAOlD,OAAOmD,yBAAyBJ,EAAQzC,GAAW,QAAajE,IAAT6G,EAAJ,CAA4O,GAAI,UAAWA,EAAQ,OAAOA,EAAK1H,MAAgB,IAAI4H,EAASF,EAAKG,IAAK,QAAehH,IAAX+G,EAAwB,OAAoB,OAAOA,EAAOE,KAAKN,GAA/V,IAAIO,EAASvD,OAAOwD,eAAeT,GAAS,GAAe,OAAXQ,EAAmB,OAA2BZ,EAAKY,EAAQX,EAAMtC,EAAUuC,EAAMG,EAAUF,GAAS,EAAMI,EAAOK,OAASlH,GA8BpcqG,CAAK1C,OAAOwD,eAAe6C,EAAU1J,WAAY,cAAeX,MAAMsH,KAAKtH,KAAMiG,GACjFjG,KAAKsK,YAAc,YA+BvB,OAxDJ,SAAmBnC,EAAUC,GAAc,GAA0B,mBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIT,UAAU,kEAAoES,GAAeD,EAASxH,UAAYqD,OAAOqE,OAAOD,GAAcA,EAAWzH,UAAW,CAAED,YAAa,CAAElB,MAAO2I,EAAUhC,YAAY,EAAOE,UAAU,EAAMD,cAAc,KAAegC,IAAYpE,OAAOsE,eAAiBtE,OAAOsE,eAAeH,EAAUC,GAAcD,EAASI,UAAYH,GAmB7dI,CAAU6B,EAAWnC,GASrBpC,EAAauE,EAAW,CAAC,CACrBhL,IAAK,SACLG,MAAO,WAEH,IAAIqJ,GAAiB,EAAId,EAAsB,SAAG,YAAa,CAC3D,sBAAuB/H,KAAKiG,MAAMsE,kBAClC9K,MAAOO,KAAKiG,MAAMxG,OACnBO,KAAKiG,MAAMuE,MAAOxK,KAAKiG,MAAMxE,WAG5BwE,GAAQ,EAAI+B,EAAqB,SAAGhI,KAAKiG,MAAO,YAAa,QAAS,oBAAqB,SAG3FwE,EAAiBzK,KAAKiG,MAAMyE,MAAQ9C,EAAiB,QAAErE,cACvD,QACA,CAAE9B,UAAW,YAAakJ,QAAS3K,KAAKiG,MAAMJ,IAAM7F,KAAKiG,MAAM0E,SAC/D3K,KAAKiG,MAAMyE,OACX,KAEJ,OAAO9C,EAAiB,QAAErE,cACtB,MACA0G,EAAS,CAAExI,UAAWoH,GAAkB5C,GACxCwE,EACAzK,KAAKiG,MAAMuD,cAKhBa,EAtCK,CAuCbzC,EAAiB,QAAE6B,WAEtBY,EAAUX,UAAY,CAClBjI,UAAWoG,EAAqB,QAAEgC,OAClCpK,MAAOoI,EAAqB,QAAE+B,KAC9Be,QAAS9C,EAAqB,QAAEgC,OAChChE,GAAIgC,EAAqB,QAAEgC,OAC3Ba,MAAO7C,EAAqB,QAAEkC,MAAM,CAAClC,EAAqB,QAAEgC,OAAQhC,EAAqB,QAAEiC,OAC3FS,kBAAmB1C,EAAqB,QAAE+B,KAC1CY,MAAO3C,EAAqB,QAAEkC,MAAM,CAAC,WAAY,eAAgB,eAAgB,cAAe,iBAAkB,YAAa,aAAc,aAAc,cAAe,YAAa,aAAc,eAAgB,cAAe,YAAa,iBAGrPnJ,EAAOC,QAAUwJ,G;;;;;;mGC/EjB,IAAIJ,EAAWjG,OAAOkG,QAAU,SAAUlE,GAAU,IAAK,IAAI/E,EAAI,EAAGA,EAAIf,UAAUc,OAAQC,IAAK,CAAE,IAAIkJ,EAASjK,UAAUe,GAAI,IAAK,IAAI5B,KAAO8K,EAAcnG,OAAOrD,UAAUyJ,eAAe9C,KAAK6C,EAAQ9K,KAAQ2G,EAAO3G,GAAO8K,EAAO9K,IAAY,OAAO2G,GAEnPF,EAAe,WAAe,SAASC,EAAiBC,EAAQC,GAAS,IAAK,IAAIhF,EAAI,EAAGA,EAAIgF,EAAMjF,OAAQC,IAAK,CAAE,IAAIiF,EAAaD,EAAMhF,GAAIiF,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAMrC,OAAOsC,eAAeN,EAAQE,EAAW7G,IAAK6G,IAAiB,OAAO,SAAUK,EAAaC,EAAYC,GAAiJ,OAA9HD,GAAYT,EAAiBQ,EAAY5F,UAAW6F,GAAiBC,GAAaV,EAAiBQ,EAAaE,GAAqBF,GAA9gB,GAEfG,EAAO,SAAaC,EAAIC,EAAKC,GAAqC,IAA9B,IAAIC,GAAS,EAAwBA,GAAQ,CAAE,IAAIC,EAASJ,EAAIrC,EAAWsC,EAAKI,EAAWH,EAAKC,GAAS,EAAsB,OAAXC,IAAiBA,EAASE,SAAStG,WAAW,IAAIuG,EAAOlD,OAAOmD,yBAAyBJ,EAAQzC,GAAW,QAAajE,IAAT6G,EAAJ,CAA4O,GAAI,UAAWA,EAAQ,OAAOA,EAAK1H,MAAgB,IAAI4H,EAASF,EAAKG,IAAK,QAAehH,IAAX+G,EAAwB,OAAoB,OAAOA,EAAOE,KAAKN,GAA/V,IAAIO,EAASvD,OAAOwD,eAAeT,GAAS,GAAe,OAAXQ,EAAmB,OAA2BZ,EAAKY,EAAQX,EAAMtC,EAAUuC,EAAMG,EAAUF,GAAS,EAAMI,EAAOK,OAASlH,IAE5c,SAASiB,EAAuBf,GAAO,OAAOA,GAAOA,EAAIO,WAAaP,EAAM,CAAE,QAAWA,GAEzF,SAASkH,EAAgBC,EAAUnB,GAAe,KAAMmB,aAAoBnB,GAAgB,MAAM,IAAIoB,UAAU,qCAIhH,IAEIE,EAAcvG,EAFD,mBAAQ,wCAIrBsJ,EAAgB,uBAAQ,uDAIxBhD,EAAUtG,EAFD,cAAQ,mCAMjBwG,EAAaxG,EAFD,kBAAQ,uCAMpBuJ,EAA2CvJ,EAFD,kDAAQ,iEAMlD0G,EAAc1G,EAFD,kBAAQ,uCAMrByG,EAAezG,EAFD,mBAAQ,wCAItBwJ,EAAQ,SAAW5C,GAGtB,SAAS4C,IACRrD,EAAgBzH,KAAM8K,GAEtBpE,EAAK1C,OAAOwD,eAAesD,EAAMnK,WAAY,cAAeX,MAAMG,MAAMH,KAAME,WA4F/E,OA9HD,SAAmBiI,EAAUC,GAAc,GAA0B,mBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIT,UAAU,kEAAoES,GAAeD,EAASxH,UAAYqD,OAAOqE,OAAOD,GAAcA,EAAWzH,UAAW,CAAED,YAAa,CAAElB,MAAO2I,EAAUhC,YAAY,EAAOE,UAAU,EAAMD,cAAc,KAAegC,IAAYpE,OAAOsE,eAAiBtE,OAAOsE,eAAeH,EAAUC,GAAcD,EAASI,UAAYH,GA6BheI,CAAUsC,EAAO5C,GAQjBpC,EAAagF,EAAO,CAAC,CACpBzL,IAAK,cACLG,MAAO,WACNQ,KAAKiG,MAAM8E,aAEV,CACF1L,IAAK,iBACLG,MAAO,SAAwBwL,GAG1BA,EAAMC,gBACTD,EAAMC,kBAEND,EAAME,aAAc,IAGpB,CACF7L,IAAK,eACLG,MAAO,WACN,IAAI2L,EAAQnL,KAEZ,IAAKA,KAAKiG,MAAMmF,OAAQ,OAAO,EAC/B,IAAIC,EAAQrL,KAAKiG,MAAMqF,gBAAkB1D,EAAiB,QAAErE,cAAc,SAAU,CACnFuF,KAAM,SACNyC,QAASvL,KAAKwL,YAAYC,KAAKzL,MAC/ByB,UAAW,eACXiK,IAAK,SAAUA,GACdP,EAAMQ,YAAcD,KAEjB,KACDE,EAAO5L,KAAKiG,MAAM2F,KAAOhE,EAAiB,QAAErE,cAC/C,MACA,CAAE9B,UAAW,eACbzB,KAAKiG,MAAM2F,MACR,KACJ,OAAOhE,EAAiB,QAAErE,cACzB,MACA,CAAE9B,UAAW,SAAWzB,KAAKiG,MAAM6C,KAAMjD,GAAI,eAC7C+B,EAAiB,QAAErE,cAClB,MACA,CACCmI,IAAK,SAAUA,GACdP,EAAMU,aAAeH,GAEtBrI,MAAOrD,KAAKiG,MAAMuE,QAAUsB,MAAM9L,KAAKiG,MAAMuE,OAAS,CAAEA,MAAOxK,KAAKiG,MAAMuE,MAAQ,IAAO,KACzFuB,SAAU,IACVtK,WAAW,EAAIsG,EAAsB,SAAG,iBAAmB/H,KAAKiG,MAAM6C,KAAM9I,KAAKiG,MAAMuE,OAASsB,MAAM9L,KAAKiG,MAAMuE,OAAS,kBAAoBxK,KAAKiG,MAAM6C,KAAO,KAAO9I,KAAKiG,MAAMuE,MAAQ,MAC1Le,QAASvL,KAAKgM,eAAeP,KAAKzL,OAEnCqL,EACAO,EACA5L,KAAKiG,MAAMuD,aAIZ,CACFnK,IAAK,SACLG,MAAO,WACN,IAAIiC,GAAY,EAAIsG,EAAsB,SAAG,QAAS,CACrD,UAAW/H,KAAKiG,MAAMmF,OACtB,YAAapL,KAAKiG,MAAMgG,QACtBjM,KAAKiG,MAAMxE,WACVwE,GAAQ,EAAI+B,EAAqB,SAAGhI,KAAKiG,MAAO,sBAAuB,YAAa,SAAU,WAAY,SAAU,kBAAmB,QAEvIiG,EAAWtE,EAAiB,QAAErE,cACjC,MACA0G,EAAS,GAAIhE,EAAO,CAAE,aAAc,OAAQxE,UAAWA,IACvDmG,EAAiB,QAAErE,cAClBqH,EAAcuB,QACd,CAAEC,QAASpM,KAAKiG,MAAMmF,OACrBiB,YAAarM,KAAKwL,YAAYC,KAAKzL,MACnCsM,eAAgBtM,KAAKiG,MAAMsG,oBAAsBvM,KAAKwL,YAAYC,KAAKzL,MAAQ,cAChF4H,EAAiB,QAAErE,cAClBsH,EAAkD,QAClD,CACC2B,eAAgB,SAAWxM,KAAKiG,MAAM6C,KACtCK,UAAW,MACXsD,uBAAwB,IACxBC,uBAAwB,KACzB1M,KAAK2M,kBAMR,MAA2B,oBAAbrJ,UAA4BwE,EAAoB,QAAE8E,aAAaV,EAAU5I,SAASuJ,UAI3F/B,EAlGI,CAmGTlD,EAAiB,QAAE6B,WAEtBqB,EAAMpB,UAAY,CACjBkC,KAAM/D,EAAqB,QAAEiC,KAC7ByC,oBAAqB1E,EAAqB,QAAE+B,KAC5CnI,UAAWoG,EAAqB,QAAEgC,OAClCuB,OAAQvD,EAAqB,QAAE+B,KAC/BmB,SAAUlD,EAAqB,QAAEiF,KACjCb,OAAQpE,EAAqB,QAAE+B,KAC/B0B,gBAAiBzD,EAAqB,QAAE+B,KACxCd,KAAMjB,EAAqB,QAAEkC,MAAM,CAAC,SAAU,YAC9CS,MAAO3C,EAAqB,QAAE8B,UAAU,CAAC9B,EAAqB,QAAEkC,MAAM,CAAC,QAAS,SAAU,UAAWlC,EAAqB,QAAEkF,UAG7HjC,EAAMd,aAAe,CACpBQ,MAAO,SACPc,iBAAiB,EACjBiB,qBAAqB,EACrBzD,KAAM,UACNmD,QAAQ,EACRb,QAAQ,GAGTxK,EAAOC,QAAUiK,EAEjBlK,EAAOC,QAAQmM,KAAO,oBAAQ,sDAC9BpM,EAAOC,QAAQoM,OAAS,sBAAQ,wDAChCrM,EAAOC,QAAQqM,OAAS,sBAAQ,yD;;;;;;mGCpKhC,IAAIjD,EAAWjG,OAAOkG,QAAU,SAAUlE,GAAU,IAAK,IAAI/E,EAAI,EAAGA,EAAIf,UAAUc,OAAQC,IAAK,CAAE,IAAIkJ,EAASjK,UAAUe,GAAI,IAAK,IAAI5B,KAAO8K,EAAcnG,OAAOrD,UAAUyJ,eAAe9C,KAAK6C,EAAQ9K,KAAQ2G,EAAO3G,GAAO8K,EAAO9K,IAAY,OAAO2G,GAEvP,SAAS1E,EAAuBf,GAAO,OAAOA,GAAOA,EAAIO,WAAaP,EAAM,CAAE,QAAWA,GAEzF,IAEIqH,EAAUtG,EAFD,cAAQ,mCAMjBuG,EAAcvG,EAFD,mBAAQ,wCAMrByG,EAAezG,EAFD,mBAAQ,wCAItB6L,EAAY,SAAmBlH,GAClC,IAAIxE,GAAY,EAAIsG,EAAsB,SAAG,cAAe9B,EAAMxE,WAClE,OAAOmG,EAAiB,QAAErE,cAAc,MAAO0G,EAAS,GAAIhE,EAAO,CAAExE,UAAWA,MAGjF0L,EAAUzD,UAAY,CACrBF,SAAU3B,EAAqB,QAAEiC,KAAKsD,WACtC3L,UAAWoG,EAAqB,QAAEgC,QAGnCjJ,EAAOC,QAAUsM,G;;;;;;mGC1BjB,IAAIlD,EAAWjG,OAAOkG,QAAU,SAAUlE,GAAU,IAAK,IAAI/E,EAAI,EAAGA,EAAIf,UAAUc,OAAQC,IAAK,CAAE,IAAIkJ,EAASjK,UAAUe,GAAI,IAAK,IAAI5B,KAAO8K,EAAcnG,OAAOrD,UAAUyJ,eAAe9C,KAAK6C,EAAQ9K,KAAQ2G,EAAO3G,GAAO8K,EAAO9K,IAAY,OAAO2G,GAEvP,SAAS1E,EAAuBf,GAAO,OAAOA,GAAOA,EAAIO,WAAaP,EAAM,CAAE,QAAWA,GAEzF,IAEIqH,EAAUtG,EAFD,cAAQ,mCAMjBuG,EAAcvG,EAFD,mBAAQ,wCAMrByG,EAAezG,EAFD,mBAAQ,wCAItB+L,EAAc,SAAqBpH,GACtC,IAAIxE,GAAY,EAAIsG,EAAsB,SAAG,gBAAiB9B,EAAMxE,WACpE,OAAOmG,EAAiB,QAAErE,cAAc,MAAO0G,EAAS,GAAIhE,EAAO,CAAExE,UAAWA,MAGjF4L,EAAY3D,UAAY,CACvBF,SAAU3B,EAAqB,QAAEiC,KACjCrI,UAAWoG,EAAqB,QAAEgC,QAGnCjJ,EAAOC,QAAUwM,G;;;;;;mGC1BjB,IAAIpD,EAAWjG,OAAOkG,QAAU,SAAUlE,GAAU,IAAK,IAAI/E,EAAI,EAAGA,EAAIf,UAAUc,OAAQC,IAAK,CAAE,IAAIkJ,EAASjK,UAAUe,GAAI,IAAK,IAAI5B,KAAO8K,EAAcnG,OAAOrD,UAAUyJ,eAAe9C,KAAK6C,EAAQ9K,KAAQ2G,EAAO3G,GAAO8K,EAAO9K,IAAY,OAAO2G,GAEvP,SAAS1E,EAAuBf,GAAO,OAAOA,GAAOA,EAAIO,WAAaP,EAAM,CAAE,QAAWA,GAEzF,IAEIqH,EAAUtG,EAFD,cAAQ,mCAMjBuG,EAAcvG,EAFD,mBAAQ,wCAMrByG,EAAezG,EAFD,mBAAQ,wCAItBgM,EAAc,SAAqBrH,GACtC,IAAIxE,GAAY,EAAIsG,EAAsB,SAAG,gBAAiB9B,EAAMxE,WAChE8L,EAAOtH,EAAMsH,KAAO3F,EAAiB,QAAErE,cAC1C,KACA,CAAE9B,UAAW,uBACbwE,EAAMsH,MACH,KACJ,OAAO3F,EAAiB,QAAErE,cACzB,MACA0G,EAAS,GAAIhE,EAAO,CAAExE,UAAWA,IACjC8L,EACAtH,EAAMuD,WAIR8D,EAAY5D,UAAY,CACvBF,SAAU3B,EAAqB,QAAEiC,KACjCrI,UAAWoG,EAAqB,QAAEgC,OAClC0D,KAAM1F,EAAqB,QAAEgC,QAG9BjJ,EAAOC,QAAUyM,G;;;;;;;;;iKCVV,IAAIE,EAAW,WAQlB,OAPAA,EAAWxJ,OAAOkG,QAAU,SAAkBuD,GAC1C,IAAK,IAAIC,EAAGzM,EAAI,EAAG0M,EAAIzN,UAAUc,OAAQC,EAAI0M,EAAG1M,IAE5C,IAAK,IAAI2M,KADTF,EAAIxN,UAAUe,GACO+C,OAAOrD,UAAUyJ,eAAe9C,KAAKoG,EAAGE,KAAIH,EAAEG,GAAKF,EAAEE,IAE9E,OAAOH,IAEKtN,MAAMH,KAAME,YAGzB,SAAS2N,EAAOH,EAAGhK,GACtB,IAAI+J,EAAI,GACR,IAAK,IAAIG,KAAKF,EAAO1J,OAAOrD,UAAUyJ,eAAe9C,KAAKoG,EAAGE,IAAMlK,EAAE1B,QAAQ4L,GAAK,IAC9EH,EAAEG,GAAKF,EAAEE,IACb,GAAS,MAALF,GAAqD,mBAAjC1J,OAAO8J,sBACtB,KAAI7M,EAAI,EAAb,IAAgB2M,EAAI5J,OAAO8J,sBAAsBJ,GAAIzM,EAAI2M,EAAE5M,OAAQC,IAC3DyC,EAAE1B,QAAQ4L,EAAE3M,IAAM,GAAK+C,OAAOrD,UAAUoN,qBAAqBzG,KAAKoG,EAAGE,EAAE3M,MACvEwM,EAAEG,EAAE3M,IAAMyM,EAAEE,EAAE3M,KAE1B,OAAOwM,E,mDChDX,SAASO,EAAKC,GACV,OAAOA,EAEX,SAASC,EAAkBC,EAAUC,QACd,IAAfA,IAAyBA,EAAaJ,GAC1C,IAAIK,EAAS,GACTC,GAAW,EA0Df,MAzDa,CACTC,KAAM,WACF,GAAID,EACA,MAAM,IAAIE,MAAM,oGAEpB,OAAIH,EAAOrN,OACAqN,EAAOA,EAAOrN,OAAS,GAE3BmN,GAEXM,UAAW,SAAUC,GACjB,IAAIC,EAAOP,EAAWM,EAAMJ,GAE5B,OADAD,EAAOO,KAAKD,GACL,WACHN,EAASA,EAAOnN,QAAO,SAAU2N,GAAK,OAAOA,IAAMF,OAG3DG,iBAAkB,SAAUlJ,GAExB,IADA0I,GAAW,EACJD,EAAOrN,QAAQ,CAClB,IAAI+N,EAAMV,EACVA,EAAS,GACTU,EAAIC,QAAQpJ,GAEhByI,EAAS,CACLO,KAAM,SAAUC,GAAK,OAAOjJ,EAAGiJ,IAC/B3N,OAAQ,WAAc,OAAOmN,KAGrCY,aAAc,SAAUrJ,GACpB0I,GAAW,EACX,IAAIY,EAAe,GACnB,GAAIb,EAAOrN,OAAQ,CACf,IAAI+N,EAAMV,EACVA,EAAS,GACTU,EAAIC,QAAQpJ,GACZsJ,EAAeb,EAEnB,IAAIc,EAAe,WACf,IAAIJ,EAAMG,EACVA,EAAe,GACfH,EAAIC,QAAQpJ,IAEZwJ,EAAQ,WAAc,OAAOzP,QAAQV,UAAUW,KAAKuP,IACxDC,IACAf,EAAS,CACLO,KAAM,SAAUC,GACZK,EAAaN,KAAKC,GAClBO,KAEJlO,OAAQ,SAAUA,GAEd,OADAgO,EAAeA,EAAahO,OAAOA,GAC5BmN,MAOpB,SAASgB,EAAalB,EAAUC,GAEnC,YADmB,IAAfA,IAAyBA,EAAaJ,GACnCE,EAAkBC,EAAUC,GAEhC,SAASkB,EAAoBC,QAChB,IAAZA,IAAsBA,EAAU,IACpC,IAAIC,EAAStB,EAAkB,MAE/B,OADAsB,EAAOD,QAAU,EAAiB,CAAEE,OAAO,EAAMC,KAAK,GAASH,GACxDC,EC1EJ,IAAIG,EAAYL,ICehB,SAASM,EAAalH,EAAMmH,GAC/B,OCF2BC,EDELD,ECFmBE,EDEL,SAAUC,GAC1C,OAAOtH,EAAKsG,SAAQ,SAAUtD,GAAO,OELtC,SAAmBA,EAAKlM,GAO3B,MANmB,mBAARkM,EACPA,EAAIlM,GAECkM,IACLA,EAAItK,QAAU5B,GAEXkM,EFFyCuE,CAAUvE,EAAKsE,QCF3DtE,EAAM,oBAAS,WAAc,MAAO,CAEpClM,MAAOsQ,EAEPC,SAAUA,EAEVG,OAAQ,CACJ,cACI,OAAOxE,EAAIlM,OAEf,YAAYA,GACR,IAAI2Q,EAAOzE,EAAIlM,MACX2Q,IAAS3Q,IACTkM,EAAIlM,MAAQA,EACZkM,EAAIqE,SAASvQ,EAAO2Q,UAI7B,IAEHJ,SAAWA,EACRrE,EAAIwE,OAtBR,IAAwBJ,EAAcC,EACrCrE,EEXR,IAAI0E,EAAU,aAMVC,EAAe,cAAiB,SAAUpK,EAAOqK,GACjD,IAAI5E,EAAM,SAAa,MACnB6E,EAAK,WAAe,CACpBC,gBAAiBJ,EACjBK,eAAgBL,EAChBM,mBAAoBN,IACpBO,EAAYJ,EAAG,GAAIK,EAAeL,EAAG,GACrCM,EAAe5K,EAAM4K,aAAcrH,EAAWvD,EAAMuD,SAAU/H,EAAYwE,EAAMxE,UAAWqP,EAAkB7K,EAAM6K,gBAAiB1E,EAAUnG,EAAMmG,QAAS2E,EAAS9K,EAAM8K,OAAQC,EAAU/K,EAAM+K,QAASC,EAAchL,EAAMgL,YAAaC,EAAQjL,EAAMiL,MAAOC,EAAiBlL,EAAMkL,eAAgBC,EAAKnL,EAAMoL,GAAIC,OAAmB,IAAPF,EAAgB,MAAQA,EAAIG,EAAO,EAAetL,EAAO,CAAC,eAAgB,WAAY,YAAa,kBAAmB,UAAW,SAAU,UAAW,cAAe,QAAS,iBAAkB,OACrgBuL,EAAUR,EACVS,EAAe7B,EAAa,CAC5BlE,EACA4E,IAEAoB,EAAiB,EAAiB,GAAIH,EAAMZ,GAChD,OAAQ,gBAAoB,WAAgB,KACxCvE,GAAY,gBAAoBoF,EAAS,CAAER,QAASrB,EAAWmB,gBAAiBA,EAAiBC,OAAQA,EAAQE,YAAaA,EAAaC,MAAOA,EAAON,aAAcA,EAAcO,iBAAkBA,EAAgBQ,QAASjG,IAChOmF,EAAgB,eAAmB,WAAee,KAAKpI,GAAW,EAAiB,GAAIkI,EAAgB,CAAEhG,IAAK+F,KAAqB,gBAAoBH,EAAW,EAAiB,GAAII,EAAgB,CAAEjQ,UAAWA,EAAWiK,IAAK+F,IAAiBjI,OAE7P6G,EAAarG,aAAe,CACxBoC,SAAS,EACT0E,iBAAiB,EACjBI,OAAO,GAEXb,EAAawB,WAAa,CACtBC,UClC4B,0BDmC5BC,UCpC4B,6B,iECGrBC,G,yCAAa,yBCDbC,EAAc,CACvBzH,MAAO,MACP0H,OAAQ,MACRC,QAAS,EACTC,SAAU,SACVC,SAAU,QACVC,IAAK,MACLC,KAAM,OAGJ,EAAe,SAAsBC,GACvC,IAAIhJ,EAAWgJ,EAAKhJ,SACpB,OAAoB,gBAAoB,WAAgB,KAAmB,gBAAoB,MAAO,CACpGnK,IAAK,cACL,oBAAoB,EACpB,yBAAyB,EACzBgE,MAAO4O,IACLzI,EAAUA,GAAyB,gBAAoB,MAAO,CAChEnK,IAAK,aACL,oBAAoB,EACpB,yBAAyB,EACzBgE,MAAO4O,MAIX,EAAavI,UAET,GACJ,EAAaM,aAAe,CAC1BR,SAAU,MAEG,QChCJiJ,EAAcpD,EAAa,IAAI,SAAUmD,GAGlD,MAAO,CACLxM,OAHWwM,EAAKxM,OAIhB0M,cAHkBF,EAAKE,kBAMhBC,EAAatD,IACbuD,EAAevD,IACfwD,EAAgBvD,EAAoB,CAC7CG,OAAO,ICLLqD,EAAa,GACbC,EAAyB,cAAiB,SAAqB9M,EAAOqK,GACxE,IAAI0C,EAEAC,EAAkB,aAClBC,EAAeD,EAAgB,GAC/BE,EAAcF,EAAgB,GAE9BG,EAAW,WACXlK,EAAW,UAAa,GACxBmK,EAAyB,SAAa,MACtC7J,EAAWvD,EAAMuD,SACjB8J,EAAWrN,EAAMqN,SACjBC,EAAgBtN,EAAMsN,cACtBC,EAAkBvN,EAAMuN,gBACxBC,EAAaxN,EAAMwN,WACnBC,EAAYzN,EAAMyN,UAElBC,GADqB1N,EAAM2N,mBACnB3N,EAAM0N,OACdlS,EAAYwE,EAAMxE,UAClBoS,EAAY5N,EAAM4N,UAClBC,EAAgB7N,EAAM8K,OACtBA,OAA2B,IAAlB+C,EAA2BhB,EAAagB,EACjDC,EAAY9N,EAAMoL,GAClBC,OAA0B,IAAdyC,EAAuB,MAAQA,EAC3CC,EAAmB/N,EAAMgO,UACzBvC,OAAsC,IAArBsC,EAA8B,GAAKA,EACpDxC,EAAUvL,EAAM+K,QAChBkD,EAAoBjO,EAAMkO,YAC1BC,EAAuBnO,EAAMoO,aAC7BC,EAAyBrO,EAAMsO,eAG/B1O,EADmB,WAAe,IACZ,GAGtBwO,EAAe,eAAkB,WACnChB,EAAuBjS,QAAUiS,EAAuBjS,SAAWkC,UAAYA,SAASkR,cAEpFpB,EAAShS,SAAWgT,GACtBA,EAAqBhB,EAAShS,SAGhC8H,EAAS9H,SAAU,IAClB,CAACgT,IACAG,EAAiB,eAAkB,WACrCrL,EAAS9H,SAAU,EAEfkT,GACFA,EAAuBlB,EAAShS,WAEjC,CAACkT,IACAH,EAAc,eAAkB,SAAUM,GAC5C,IAAIrT,EAAUiS,EAAuBjS,QAErC,GAAIsT,QAAQR,IAAsB9S,GAAWA,EAAQwH,MAAO,CAC1D,IAAI+L,EAA4C,iBAAtBT,EAAiCA,OAAoB7T,EAC/EgT,EAAuBjS,QAAU,KAE7BqT,EAGF9U,QAAQV,UAAUW,MAAK,WACrB,OAAOwB,EAAQwH,MAAM+L,MAGvBvT,EAAQwH,MAAM+L,MAGjB,CAACT,IAEAU,EAAU,eAAkB,SAAU5J,GACpC9B,EAAS9H,SACXqR,EAAYhE,UAAUzD,KAEvB,IACC6J,EAASlC,EAAWlE,UAGpBqG,EAAiB,eAAkB,SAAUC,GAC3C3B,EAAShS,UAAY2T,IACvB3B,EAAShS,QAAU2T,EACnB5B,EAAY4B,MAEb,IAgBH,IAAId,EAAY,cAAUjB,EAAY,IH1GZ,4BG0GsDM,GAAY,WAAYN,EH3GjF,mBG2GoHW,EAAOX,GAAYtB,GAE1JsD,GAAqC,IAAlBzB,EACnB0B,EAAmBD,GAAsC,SAAlBzB,EACvC2B,EAAYtF,EAAa,CAACU,EAAWwE,IACzC,OAAoB,gBAAoB,WAAgB,KAAME,GAAoB,CAAc,gBAAoB,MAAO,CACzH3V,IAAK,cACL,oBAAoB,EACpB0M,SAAUuH,GAAY,EAAI,EAC1BjQ,MAAO4O,IAIT,gBAAoB,MAAO,CACzB5S,IAAK,gBACL,oBAAoB,EACpB0M,SAAUuH,GAAY,EAAI,EAC1BjQ,MAAO4O,MAELqB,GAAyB,gBAAoB9B,EAAS,CACxD3L,GAAIA,EACJmL,QAAS6B,EACTO,SAAUF,EACVI,SAAUA,EACVE,gBAAiBA,EACjBC,WAAYA,EACZC,UAAWA,EACXG,UAAWA,EACX9C,OAAQA,EACRsD,aAAcA,EACdE,eAAgBA,EAChBJ,YAAaA,IACE,gBAAoB7C,EAAW,YAAS,CACvD5F,IAAKwJ,GACJjB,EAAW,CACZxS,UAAWA,EACXoT,OAAQA,EACRD,QAASA,IACPpL,GAAWyL,GAAiC,gBAAoB,MAAO,CACzE,oBAAoB,EACpBlJ,SAAUuH,GAAY,EAAI,EAC1BjQ,MAAO4O,QAGXc,EAAUrJ,UAkBN,GACJqJ,EAAU/I,aAAe,CACvBR,cAAUnJ,EACViT,UAAU,EACVa,aAAa,EACbZ,eAAe,EACfG,WAAW,EACXF,iBAAiB,EACjBC,YAAY,EACZG,wBAAoBvT,EACpBsT,WAAOtT,EACPoB,eAAWpB,EACXwT,eAAWxT,EACX0Q,YAAQ1Q,EACRgR,GAAI,MACJ4C,UAAW,GACXI,kBAAchU,EACdkU,oBAAgBlU,GAEH,QC5LR,SAAS8U,EAAYC,GAE1B,IACIC,EADU3Q,OACa2Q,kBAEC,IAAjBA,EACTA,EAAaD,GAEb/P,WAAW+P,EAAQ,GAGhB,IAAIE,EAAa,SAAoBC,EAAM/V,GAChD,IAAIe,EAAM,GAEV,OADAA,EAAIgV,GAAQ/V,EACLe,GCRL,EAAkB,SAAyBiS,GAC7C,IAAIc,EAAWd,EAAKc,SAChB9J,EAAWgJ,EAAKhJ,SAChB/H,EAAY+Q,EAAK/Q,UACrB,OAAoB,gBAAoB,MAAO,YAAS,GAAI6T,EAAW,GAAuBhC,GAAW,CACvG7R,UAAWA,IACT+H,IAGN,EAAgBE,UAIZ,GACJ,EAAgBM,aAAe,CAC7BsJ,UAAU,EACV7R,eAAWpB,GAEE,QCAf,SAASmV,EAAgBhD,GACvB,IAnBkDiD,EAmB9CC,EAAalD,EAAKc,SAClB7R,EAAY+Q,EAAK/Q,UACjB+H,EAAWgJ,EAAKhJ,SAChBkC,EAAM,SAAa,MAEvB,OAxBkD+J,EAuBnCC,OAAarV,EAAYqL,EAtBxC,aAAgB,WACd,IAAIU,GAAU,EAUd,OATAwG,EAAanE,WAAU,SAAUkH,GAC/B,IAAIvC,EAAWqC,GAAeA,EAAYrU,QAEtCgL,GAAWgH,IACRuC,EAAIC,YAAYxC,IACnBuC,EAAIE,gBAAgBzC,EAAU,UAI7B,WACLhH,GAAU,KAEX,CAACqJ,IASgB,gBAAoB,MAAO,YAAS,GAAIH,EAAW,GAAuBI,GAAa,CACzGhK,IAAKA,EACLjK,UAAWA,IACT+H,GAGNgM,EAAgB9L,UAIZ,GACJ8L,EAAgBxL,aAAe,CAC7BsJ,UAAU,EACV7R,eAAWpB,GAEE,QCvCA,ICLJ,EAAYiP,ICIZnD,EAAU,cAAiB,SAAUlG,EAAOqK,GACnD,IAAIC,EAAK,YAAe,GAAQ0D,EAAY1D,EAAG,GAAIuF,EAAevF,EAAG,GACjE/G,EAAWvD,EAAMuD,SAAUkK,EAAYzN,EAAMyN,UAAW3C,EAAS9K,EAAM8K,OAAQK,EAAKnL,EAAMmG,QAASA,OAAiB,IAAPgF,GAAuBA,EAAI2E,EAAK9P,EAAM+P,WAAYA,OAAoB,IAAPD,GAAuBA,EAAIE,EAAKhQ,EAAMiQ,UAAWA,OAAmB,IAAPD,GAAuBA,EAAIE,EAAKlQ,EAAMkO,YAAaA,OAAqB,IAAPgC,GAAuBA,EAAIjF,EAAQjL,EAAMiL,MAAOC,EAAiBlL,EAAMkL,eAAgBH,EAAU/K,EAAM+K,QAASvP,EAAYwE,EAAMxE,UAAW2U,EAAenQ,EAAMmQ,aAAc/S,EAAQ4C,EAAM5C,MAAOgO,EAAKpL,EAAMoL,GAAIE,EAAO,EAAetL,EAAO,CAAC,WAAY,YAAa,SAAU,UAAW,aAAc,YAAa,cAAe,QAAS,iBAAkB,UAAW,YAAa,eAAgB,QAAS,OAChsBuL,EAAUR,EACVqD,EAAeJ,EAAUI,aAAcE,EAAiBN,EAAUM,eAAgB8B,EAAY,EAAepC,EAAW,CAAC,eAAgB,mBAC7I,OAAQ,gBAAoB,WAAgB,KACxC,gBAAoB,EAAgB,CAAEvI,IAAK4E,EAAWU,QAASA,EAASsC,WAAYW,GAAa7H,GAAW8J,GAAY/B,YAAaA,EAAaT,UAAWA,EAAW3C,OAAQA,EAAQsD,aAAcA,EAAcE,eAAgBA,EAAgB9S,UAAWA,EAAW4P,GAAIhB,EAAcwD,UAAWuC,EAAcnC,UAAW,EAAiB,GAAIoC,EAAW,CAAErF,QAASA,EACnWD,OAAQA,EACRI,eAAgBA,EAChBE,GAAIA,EACJH,MAAOA,EACP7N,MAAOA,EAAO+I,QAASA,GAAW4J,KAAiBxM,GAC3D4C,GAAY,gBAAoBoF,EAAS,EAAiB,GAAID,EAAM,CAAEP,QAAS,EAAW8E,aAAcA,EAAc/E,OAAQA,SCflI,EAAU,SAAUR,GACpB,IAAIS,EAAUT,EAAGS,QAASO,EAAO,EAAehB,EAAI,CAAC,YACrD,IAAKS,EACD,MAAM,IAAIxC,MAAM,sEAEpB,IAAI8H,EAAStF,EAAQzC,OACrB,IAAK+H,EACD,MAAM,IAAI9H,MAAM,4BAEpB,OAAO,gBAAoB8H,EAAQ,EAAiB,GAAI/E,KAGrD,SAASgF,EAAc/G,EAAQgH,GAElC,OADAhH,EAAOf,UAAU+H,GACV,EAHX,EAAQC,iBAAkB,E,2ICmEX,MA5Ef,SAAwBC,EAAoBC,GAe1C,OAAO,SAAcC,GAOnB,IACIC,EADAC,EAAmB,GAGvB,SAASC,IACPF,EAAQH,EAAmBI,EAAiBE,KAAI,SAAUtP,GACxD,OAAOA,EAASzB,UAElB0Q,EAA0BE,GAG5B,IAAII,EAEJ,SAAUC,GAGR,SAASD,IACP,OAAOC,EAAe/W,MAAMH,KAAME,YAAcF,KAHlD,YAAeiX,EAAYC,GAO3BD,EAAWE,KAAO,WAChB,OAAON,GAGT,IAAIO,EAASH,EAAWtW,UAqBxB,OAnBAyW,EAAOC,kBAAoB,WACzBP,EAAiBlI,KAAK5O,MACtB+W,KAGFK,EAAOE,mBAAqB,WAC1BP,KAGFK,EAAOG,qBAAuB,WAC5B,IAAIC,EAAQV,EAAiB9U,QAAQhC,MACrC8W,EAAiBW,OAAOD,EAAO,GAC/BT,KAGFK,EAAOM,OAAS,WACd,OAAO,IAAMnU,cAAcqT,EAAkB5W,KAAKiG,QAG7CgR,EAjCT,CAkCE,iBAIF,OAFA,YAAgBA,EAAY,cAAe,cA3D7C,SAAwBL,GACtB,OAAOA,EAAiBtM,aAAesM,EAAiBrB,MAAQ,YA0DLoC,CAAef,GAAoB,KAEvFK,IC5EAW,EAAU,SAAU3J,GAE3B,IADA,IAAI4J,EAAMC,MAAM7J,EAAEjN,QACTC,EAAI,EAAGA,EAAIgN,EAAEjN,SAAUC,EAC5B4W,EAAI5W,GAAKgN,EAAEhN,GAEf,OAAO4W,GAEAE,EAAU,SAAU9J,GAAK,OAAQ6J,MAAME,QAAQ/J,GAAKA,EAAI,CAACA,ICWhEgK,EAAe,SAAUnO,GACzB,OAAOA,EAAKoO,WAAaD,EAAanO,EAAKoO,YAAcpO,GAElDqO,EAAsB,SAAUrO,GAEvC,OADYiO,EAAQjO,GACP5I,OAAOwT,SAASvT,QAAO,SAAUiX,EAAKC,GAC/C,IAAI1E,EAAQ0E,EAAYC,abxBP,mBa4BjB,OAHAF,EAAIxJ,KAAKzO,MAAMiY,EAAMzE,EAvBV,SAAU4E,GAGzB,IAFA,IAAIC,EAAY,IAAIC,IAChBC,EAAIH,EAAMvX,OACLC,EAAI,EAAGA,EAAIyX,EAAGzX,GAAK,EACxB,IAAK,IAAI0X,EAAI1X,EAAI,EAAG0X,EAAID,EAAGC,GAAK,EAAG,CAC/B,IAAItG,EAAWkG,EAAMtX,GAAG2X,wBAAwBL,EAAMI,KACjDtG,EAAWwG,KAAKC,gCAAkC,GACnDN,EAAU7W,IAAIgX,IAEbtG,EAAWwG,KAAKE,4BAA8B,GAC/CP,EAAU7W,IAAIV,GAI1B,OAAOsX,EAAMrX,QAAO,SAAU8X,EAAGxB,GAAS,OAAQgB,EAAUS,IAAIzB,MAUtD0B,CAAatB,EAAQK,EAAaI,GAAac,iBAAiB,qBAA4BxF,EAA5B,mDAChE,CAAC0E,IACAD,IACR,KC1BHgB,EAAoB,SAAUC,GAC9B,OAAO3E,QAAQkD,EAAQyB,EAAQF,iBAAiB,WAAWzT,MAAK,SAAUoE,GAAQ,OAAoBA,IAFnDxG,SAASkR,mBAIrDoB,EAAc,SAAUyD,GAC/B,IAAI7E,EAAgBlR,UAAYA,SAASkR,cACzC,SAAKA,GAAkBA,EAAc8E,SAAW9E,EAAc8E,QAAQC,aAG/DpB,EAAoBkB,GAASlY,QAAO,SAAUqY,EAAQ1P,GAAQ,OAAO0P,GAAU1P,EAAK/H,SAASyS,IAAkB4E,EAAkBtP,MAAU,ICXlJ2P,EAAU,SAAU3P,GAAQ,MAAwB,UAAjBA,EAAK4P,SAAqC,UAAd5P,EAAKhB,MAO7D6Q,EAAc,SAAU7P,EAAMyO,GACrC,OAAIkB,EAAQ3P,IAASA,EAAKyL,KAPN,SAAUzL,EAAMyO,GACpC,OAAOA,EACFrX,OAAOuY,GACPvY,QAAO,SAAU0Y,GAAM,OAAOA,EAAGrE,OAASzL,EAAKyL,QAC/CrU,QAAO,SAAU0Y,GAAM,OAAOA,EAAGC,WAAY,IAAM/P,EAI7CgQ,CAAkBhQ,EAAMyO,GAE5BzO,GCVAiQ,EAAiB,SAAUxB,GAClC,OAAIA,EAAM,IAAMA,EAAMvX,OAAS,EACpB2Y,EAAYpB,EAAM,GAAIA,GAE1BA,EAAM,IAENyB,EAAgB,SAAUzB,EAAOf,GACxC,OAAIe,EAAMvX,OAAS,EACRuX,EAAMvW,QAAQ2X,EAAYpB,EAAMf,GAAQe,IAE5Cf,GCLAyC,EAAY,SAAUnQ,GAC7B,OAAQA,GACJA,IAASxG,UACRwG,GAAQA,EAAKoQ,WAAarB,KAAKsB,kBATRC,EAUN1V,OAAO2V,iBAAiBvQ,EAAM,QAT7BsQ,EAAcE,mBAGiB,SAA9CF,EAAcE,iBAAiB,YAA0E,WAAjDF,EAAcE,iBAAiB,iBAOvFL,EAAUnQ,EAAKoO,YAAcpO,EAAKoO,WAAWgC,WAAarB,KAAK0B,uBACzDzQ,EAAKoO,WAAWsC,KAChB1Q,EAAKoO,YAbD,IAAUkC,GAkBrBK,EAAU,SAAU3Q,GAAQ,OAAO4K,QAAQ5K,GAAQA,EAAKwP,SAAWxP,EAAKwP,QAAQC,aAChFmB,EAAc,SAAU5Q,GAAQ,OAAQ2Q,EAAQ3Q,IAChD6Q,GAAY,SAAU9L,GAAK,OAAO6F,QAAQ7F,IChB1C+L,GAAW,SAAUC,EAAYC,EAAYtG,EAAeuG,GACnE,IAAIC,EAAMH,EAAW7Z,OACjBia,EAAaJ,EAAW,GACxBK,EAAYL,EAAWG,EAAM,GAC7BG,EAAYV,EAAQjG,GACxB,KAAIqG,EAAW7Y,QAAQwS,IAAkB,GAAzC,CAGA,IHCgC+D,EAC5B6C,EGFAC,EAAcP,EAAW9Y,QAAQwS,GACjC8G,EAAYP,EAAWD,EAAW9Y,QAAQ+Y,GAAYM,EACtDE,EAAiBR,EAAWF,EAAW7Y,QAAQ+Y,IAAa,EAC5DS,EAAYH,EAAcC,EAC1BG,EAAiBX,EAAW9Y,QAAQiZ,GACpCS,EAAgBZ,EAAW9Y,QAAQkZ,GACnCS,GHL4BpD,EGKEuC,EHJ9BM,EAAY,IAAI3C,IACpBF,EAAMvJ,SAAQ,SAAUlF,GAAQ,OAAOsR,EAAUzZ,IAAIgY,EAAY7P,EAAMyO,OAChEA,EAAMrX,QAAO,SAAU4I,GAAQ,OAAOsR,EAAUnC,IAAInP,OGGvD8R,EAAqBD,EAAe3Z,QAAQwS,IAAkBuG,EAAWY,EAAe3Z,QAAQ+Y,GAAYM,GAC5GQ,EAAkB7B,EAAca,EAAY,GAC5CiB,EAAiB9B,EAAca,EAAYG,EAAM,GACrD,OAAqB,IAAjBK,IAA0C,IAApBE,EAnBP,aAsBdC,GAAaD,GAAkB,EACzBA,EAEPF,GAAeI,GAAkBN,GAAalW,KAAK8W,IAAIP,GAAa,EAC7DM,EAEPT,GAAeK,GAAiBP,GAAalW,KAAK8W,IAAIP,GAAa,EAC5DK,EAEPL,GAAavW,KAAK8W,IAAIH,GAAsB,EACrCL,EAEPF,GAAeI,EACRK,EAEPT,EAAcK,EACPG,EAEPL,EACIvW,KAAK8W,IAAIP,GAAa,EACfD,GAEHP,EAAMO,EAAiBC,GAAaR,OAJhD,IC1COgB,GAAU,SAAU/N,EAAGgO,GAC9B,IAAIC,EAAUjO,EAAElC,SAAWkQ,EAAElQ,SACzByP,EAAYvN,EAAEuJ,MAAQyE,EAAEzE,MAC5B,GAAI0E,EAAS,CACT,IAAKjO,EAAElC,SACH,OAAO,EAEX,IAAKkQ,EAAElQ,SACH,OAAQ,EAGhB,OAAOmQ,GAAWV,GAEXW,GAAkB,SAAU5D,EAAO6D,EAAgBC,GAC1D,OAAOzE,EAAQW,GACVvB,KAAI,SAAUlN,EAAM0N,GAAS,MAAO,CACrC1N,KAAMA,EACN0N,MAAOA,EACPzL,SAAUsQ,IAAiC,IAAnBvS,EAAKiC,UAAoBjC,EAAKwP,SAAW,IAAIC,WAAa,GAAK,EAAKzP,EAAKiC,aAEhG7K,QAAO,SAAUwN,GAAQ,OAAQ0N,GAAkB1N,EAAK3C,UAAY,KACpEuQ,KAAKN,KCnBVO,GCHmB,CACnB,iBACA,iBACA,mBACA,gBACA,UACA,aACA,UACA,SACA,SACA,QACA,kBACA,kBACA,aACA,oBACA,eDZ2BC,KAAK,KAChCC,GAAsBF,GAAiB,uBAChCG,GAAgB,SAAUC,EAASC,GAC1C,OAAOD,EAAQxb,QAAO,SAAUiX,EAAK7Q,GACjC,OAAO6Q,EAAIyE,OAAOjF,EAAQrQ,EAAO4R,iBAAiByD,EAAaH,GAAsBF,KAAkBhV,EAAO2Q,WACxGN,EAAQrQ,EAAO2Q,WAAWiB,iBAAiBoD,KAAiBrb,QAAO,SAAU4I,GAAQ,OAAOA,IAASvC,KACrG,MACP,KENIuV,GAAkB,SAAUvE,GACnC,OAAOX,EAAQW,GACVrX,QAAO,SAAU4I,GAAQ,OAAOmQ,EAAUnQ,MAC1C5I,QAAO,SAAU4I,GAAQ,OLQN,SAAUA,GAClC,SAA2B,UAAjBA,EAAK4P,SAAwC,WAAjB5P,EAAK4P,WAAwC,WAAd5P,EAAKhB,MAAqBgB,EAAKwJ,WKT/DyJ,CAAejT,OAE7CkT,GAAmB,SAAUC,EAAUL,GAC9C,OAAOT,GAAgBW,GAAgBJ,GAAcO,EAAUL,KAAc,EAAMA,IAE5EM,GAAsB,SAAUD,GACvC,OAAOd,GAAgBW,GAAgBJ,GAAcO,KAAY,IAE1DE,GAAuB,SAAU9D,GACxC,OAAOyD,IFHHM,EEG2C/D,EFHtBF,iBAAiB,IAAMnH,EAAa,KACtD4F,EAAQwF,GACVpG,KAAI,SAAUlN,GAAQ,OAAO4S,GAAc,CAAC5S,OAC5C3I,QAAO,SAAUiX,EAAKG,GAAS,OAAOH,EAAIyE,OAAOtE,KAAW,MAJhC,IAC7B6E,GGXJC,GAAa,SAAUvT,EAAM6S,GAM7B,YALgB,IAAZA,IAAsBA,EAAU,IACpCA,EAAQ/N,KAAK9E,GACTA,EAAKoO,YACLmF,GAAWvT,EAAKoO,WAAYyE,GAEzBA,GAEAW,GAAkB,SAAUC,EAAOC,GAG1C,IAFA,IAAIC,EAAWJ,GAAWE,GACtBG,EAAWL,GAAWG,GACjBvc,EAAI,EAAGA,EAAIwc,EAASzc,OAAQC,GAAK,EAAG,CACzC,IAAI0c,EAAgBF,EAASxc,GAC7B,GAAIyc,EAAS1b,QAAQ2b,IAAkB,EACnC,OAAOA,EAGf,OAAO,GAEAC,GAAqB,SAAUC,EAAmBC,EAAWC,GACpE,IAAIC,EAAiBjG,EAAQ8F,GACzBI,EAAclG,EAAQ+F,GACtBtJ,EAAgBwJ,EAAe,GAC/BE,GAAY,EAehB,OAdAD,EAAY/c,OAAOwT,SAAS1F,SAAQ,SAAUmP,GAC1CD,EAAYZ,GAAgBY,GAAaC,EAAOA,IAAUD,EAC1DH,EAAa7c,OAAOwT,SAAS1F,SAAQ,SAAUoP,GAC3C,IAAIC,EAASf,GAAgB9I,EAAe4J,GACxCC,IAEIH,GADCA,GAAaG,EAAOtc,SAASmc,GAClBG,EAGAf,GAAgBe,EAAQH,UAK7CA,GC1BAI,GAAgB,SAAUjF,EAAS0B,GAC1C,IAAIvG,EAAiBlR,UAAYA,SAASkR,cACtC+J,EAAUpG,EAAoBkB,GAASnY,OAAOwZ,GAC9C8D,EAAeZ,GAAmBpJ,GAAiB6E,EAASA,EAASkF,GACrEE,EAAevB,GAAoBqB,GACnCG,EAAgB1B,GAAiBuB,GAASrd,QAAO,SAAUqP,GAC3D,IAAIzG,EAAOyG,EAAGzG,KACd,OAAO4Q,EAAY5Q,MAEvB,GAAK4U,EAAc,KACfA,EAAgBD,GACG,GAFvB,CAMA,IApByBE,EAAUC,EAC/BC,EAJwBC,EAuBxBhE,EAAaoC,GAAoB,CAACsB,IAAexH,KAAI,SAAUzG,GAE/D,OADWA,EAAGzG,QAGdiV,GAxBqBJ,EAwBe7D,EAxBL8D,EAwBiBF,EAvBhDG,EAAQ,IAAIG,IAChBJ,EAAS5P,SAAQ,SAAUiQ,GAAU,OAAOJ,EAAMK,IAAID,EAAOnV,KAAMmV,MAC5DN,EAAS3H,KAAI,SAAUlN,GAAQ,OAAO+U,EAAMxX,IAAIyC,MAAU5I,OAAOyZ,KAsBpEE,EAAakE,EAAqB/H,KAAI,SAAUzG,GAEhD,OADWA,EAAGzG,QAGdqV,EAAQvE,GAASC,EAAYC,EAAYtG,EAAeuG,GAC5D,GNpCmB,cMoCfoE,EAAqB,CACrB,IAAIC,EAAgBX,EACfzH,KAAI,SAAUzG,GAEf,OADWA,EAAGzG,QAGb5I,QAvCmB4d,EDoCK,SAAUP,GAC3C,OAAOA,EAAQpd,QAAO,SAAUiX,EAAKtO,GAAQ,OAAOsO,EAAIyE,OAAOM,GAAqBrT,MAAW,ICE/DuV,CAAwBd,GAvCH,SAAUzU,GAC/D,OAAOA,EAAKwV,WAAcxV,EAAKwP,WAAaxP,EAAKwP,QAAQgG,WAAcR,EAAe9c,QAAQ8H,IAAS,KAuCnG,MAAO,CACHA,KAAMsV,GAAiBA,EAAcpe,OAAS+Y,EAAeqF,GAAiBrF,EAAec,IAGrG,YAAcxa,IAAV8e,EACOA,EAEJJ,EAAqBI,KC9C5BI,GAAa,EACbC,IAAe,ECEJ,GDDO,SAAUnG,EAAS0B,GACrC,IAT2B/U,EASvByZ,EAAYnB,GAAcjF,EAAS0B,GACvC,IAAIyE,IAGAC,EAAW,CACX,GAAIF,GAAa,EAOb,OANAG,QAAQjgB,MAAM,qJAEd+f,IAAe,OACfna,YAAW,WACPma,IAAe,IAChB,GAGPD,MAvBuBvZ,EAwBfyZ,EAAU3V,MAvBflB,QACH,kBAAmB5C,GAAUA,EAAO2Z,eACpC3Z,EAAO2Z,cAAc/W,QAsBrB2W,OEfJ,GAAc,WAChB,OAJOjc,UAAYA,SAASkR,gBAAkBlR,SAASuJ,MCL9CvJ,UACHsU,EAAQtU,SAAS6V,iBAAiB,yBAA0BzT,MAAK,SAAUoE,GAAQ,OAAOA,EAAK/H,SAASuB,SAASkR,mBDWrHoL,GAAiB,KACjBC,GAAkB,KAClBC,GAAsB,KACtBC,IAAwB,EAExBC,GAAmB,WACrB,OAAO,GAkBT,SAASC,GAAUC,EAAY7b,EAAK8b,EAAMC,GACxC,IAAIC,EAAY,KACZpf,EAAIif,EAER,EAAG,CACD,IAAIvR,EAAOyR,EAASnf,GAEpB,GAAI0N,EAAK2R,MACH3R,EAAK7E,KAAKwP,QAAQiH,iBACpBF,EAAY1R,OAET,KAAIA,EAAK6R,SAQd,MAPA,GAAIvf,IAAMif,EAER,OAGFG,EAAY,aAINpf,GAAKkf,KAAU9b,GAErBgc,IACFA,EAAUvW,KAAKiC,SAAW,GAI9B,IAAI0U,GAAa,SAAoB/U,GACnC,OAAOA,GAAO,YAAaA,EAAMA,EAAItK,QAAUsK,GAa7C,GAAe,WACjB,IE9EqC2N,EAC/BkF,EACAC,EACA1D,EACA4D,EF2B+Cld,EA+CjDgY,GAAS,EAEb,GAAIoG,GAAgB,CAClB,IAAIc,EAAkBd,GAClBxM,EAAWsN,EAAgBtN,SAC3BI,EAAkBkN,EAAgBlN,gBAClCE,EAAYgN,EAAgBhN,UAC5B3C,EAAS2P,EAAgB3P,OACzB0C,EAAaiN,EAAgBjN,WAC7BkN,EAAcvN,GAAY0M,IAAuBA,GAAoBc,gBACrEpM,EAAgBlR,UAAYA,SAASkR,cAEzC,GAAImM,EAAa,CACf,IAAIE,EAAc,CAACF,GAAa9D,OAAO9L,EAAOiG,IAAIyJ,IAAYvf,OAAOwT,UAuBrE,GArBKF,IAzEY,SAA0BA,GAC/C,OAAQoL,GAAe/L,WAAamM,IAAkBxL,GAwE5BsM,CAAiBtM,KACjChB,IAAmCC,EAxBpCiB,QAAQqL,IAIgB,cAA1BA,MAoBsD,OAAkBF,IAAmBnM,MACtFiN,GAAiB/K,EAAYiL,KAhEYrf,EAgEwBgT,EA/DtEsL,IAAuBA,GAAoBc,kBAAoBpf,KAgExD8B,WAAauc,IAAmBrL,IAAkBd,GAEhDc,EAAcuM,MAChBvM,EAAcuM,OAGhBzd,SAASuJ,KAAKjE,UAEd4Q,EAAS,GAAgBqH,EAAahB,IACtCC,GAAsB,KAI1BC,IAAwB,EACxBF,GAAkBvc,UAAYA,SAASkR,eAIvClR,SAAU,CACZ,IAAI0d,EAAmB1d,UAAYA,SAASkR,cACxC4L,GEnHJ7B,EAAUpG,EADqBkB,EFoHAwH,GEnHQ3f,OAAOwZ,GAC9C8D,EAAeZ,GAAmBvE,EAASA,EAASkF,GACpDzD,EAAakC,GAAiB,CAACwB,IAAe,GAC9CE,EAAgB1B,GAAiBuB,GAChCrd,QAAO,SAAUqP,GAClB,IAAIzG,EAAOyG,EAAGzG,KACd,OAAO4Q,EAAY5Q,MAElBkN,KAAI,SAAUzG,GAEf,OADWA,EAAGzG,QAGXgR,EAAW9D,KAAI,SAAUzG,GAC5B,IAAIzG,EAAOyG,EAAGzG,KACd,MAAO,CACHA,KAAMA,EACN0N,MAHwBjH,EAAGiH,MAI3BgJ,SAAU9B,EAAc1c,QAAQ8H,IAAS,EACzCwW,MAAO7F,EAAQ3Q,QFkGfmX,EAAeb,EAASpJ,KAAI,SAAUxE,GAExC,OADWA,EAAK1I,QAEf9H,QAAQgf,GAEPC,GAAgB,IAElBb,EAASlf,QAAO,SAAUggB,GACxB,IAAIZ,EAAQY,EAAMZ,MACdxW,EAAOoX,EAAMpX,KACjB,OAAOwW,GAASxW,EAAKwP,QAAQiH,kBAC5BvR,SAAQ,SAAUmS,GAEnB,OADWA,EAAMrX,KACLsX,gBAAgB,eAE9BnB,GAAUgB,EAAcb,EAASpf,OAAQ,EAAIof,GAC7CH,GAAUgB,GAAe,GAAI,EAAGb,MAMxC,OAAO5G,GAGL6H,GAAS,SAAgBrW,GACvB,MAAkBA,IAEpBA,EAAMC,kBACND,EAAMsW,mBAIN,GAAS,WACX,OAAOnM,EAAY,KAGjB,GAAU,SAAiBnK,GAE7B,IAAIb,EAASa,EAAMhF,OACfqS,EAAcrN,EAAM0H,cAEnB2F,EAAYtW,SAASoI,KAtI1B2V,GAAsB,CACpByB,aAsIalJ,EArIbuI,gBAqI0BzW,KAoB1BqX,GAAe,WACjBzB,GAAwB,OAExB1a,YAAW,WACT0a,GAAwB,cACvB,IA6DLtN,EAAY3D,iBAAiB,IAC7B6D,EAAW1D,aAAa,IACxB2D,EAAa3D,cAAa,SAAUrJ,GAClC,OAAOA,EAAG,CACRiQ,gBAAiB,GACjBD,YAAaA,OAGF,IGlQX6L,GHkQW,MAtDf,SAA4BC,GAC1B,OAAOA,EAAUxgB,QAAO,SAAUygB,GAEhC,OADeA,EAAMrO,eAKzB,SAAmCsO,GACjC,IAAIC,EAAOD,EAAME,OAAO,GAAG,GAEvBD,IAASjC,KArBbtc,SAASye,iBAAiB,UAAWV,IAAQ,GAC7C/d,SAASye,iBAAiB,WAAY,IACtCrd,OAAOqd,iBAAiB,OAAQP,KAuBhC,IAAIQ,EAAWpC,GACXqC,EAAWD,GAAYH,GAAQA,EAAKhc,KAAOmc,EAASnc,GACxD+Z,GAAiBiC,EAEbG,IAAaC,IACfD,EAASzN,iBAEJqN,EAAM1gB,QAAO,SAAUghB,GAE1B,OADSA,EAAMrc,KACDmc,EAASnc,MACtB7E,QAEDghB,EAAS7N,aAAa0N,IAItBA,GACFhC,GAAkB,KAEboC,GAAYD,EAAS5O,WAAayO,EAAKzO,UAC1CyO,EAAKxN,eAGP,KACAc,EAAY,MA3Cd7R,SAAS6e,oBAAoB,UAAWd,IAAQ,GAChD/d,SAAS6e,oBAAoB,WAAY,IACzCzd,OAAOyd,oBAAoB,OAAQX,IA4CjC3B,GAAkB,QAaP,EA1FI,WACjB,OAAO,QItKMtJ,EAAc1D,EAAe,ICF5C,SAASuP,KACL,IAAK9e,SACD,OAAO,KACX,IAAI+F,EAAM/F,SAASC,cAAc,SACjC8F,EAAIP,KAAO,WACX,IAAIuZ,EFDAZ,IAIO,KECX,OAHIY,GACAhZ,EAAIxH,aAAa,QAASwgB,GAEvBhZ,EAcJ,IAAIiZ,GAAsB,WAC7B,IAAIC,EAAU,EACVC,EAAa,KACjB,MAAO,CACH7gB,IAAK,SAAU0B,GAhBvB,IAAsBgG,EAAKoZ,EAiBA,GAAXF,IACIC,EAAaJ,QAlBNK,EAmBkBpf,GAnBvBgG,EAmBWmZ,GAlBrBE,WACJrZ,EAAIqZ,WAAWC,QAAUF,EAGzBpZ,EAAIuZ,YAAYtf,SAASuf,eAAeJ,IAGhD,SAAwBpZ,IACT/F,SAASwf,MAAQxf,SAASyf,qBAAqB,QAAQ,IAC7DH,YAAYvZ,GAUD2Z,CAAeR,IAGvBD,KAEJjgB,OAAQ,cACJigB,GACgBC,IACZA,EAAWtK,YAAcsK,EAAWtK,WAAW+K,YAAYT,GAC3DA,EAAa,SCxClBU,GAAiB,WACxB,ICCIC,EDDAC,GCCAD,EAAQb,KACL,SAAUe,GACb,aAAgB,WAEZ,OADAF,EAAMxhB,IAAI0hB,GACH,WACHF,EAAM7gB,YAEX,MDFP,OALY,SAAUiO,GAClB,IAAI8S,EAAS9S,EAAG8S,OAEhB,OADAD,EAASC,GACF,OENJC,GAAU,CACjB/Q,KAAM,EACND,IAAK,EACLiR,MAAO,EACPC,IAAK,GAELC,GAAQ,SAAU5U,GAAK,OAAO6U,SAAS7U,GAAK,GAAI,KAAO,GAYhD8U,GAAc,SAAUC,GAE/B,QADgB,IAAZA,IAAsBA,EAAU,UACd,oBAAXlf,OACP,OAAO4e,GAEX,IAAIO,EAhBQ,SAAUD,GACtB,IAAIE,EAAKpf,OAAO2V,iBAAiB/W,SAASuJ,MACtC0F,EAAOuR,EAAe,YAAZF,EAAwB,cAAgB,cAClDtR,EAAMwR,EAAe,YAAZF,EAAwB,aAAe,aAChDL,EAAQO,EAAe,YAAZF,EAAwB,eAAiB,eACxD,MAAO,CACHH,GAAMlR,GACNkR,GAAMnR,GACNmR,GAAMF,IAQIQ,CAAUH,GACpBI,EAAgB1gB,SAAS2gB,gBAAgBC,YACzCC,EAAczf,OAAO0f,WACzB,MAAO,CACH7R,KAAMsR,EAAQ,GACdvR,IAAKuR,EAAQ,GACbN,MAAOM,EAAQ,GACfL,IAAKve,KAAKC,IAAI,EAAGif,EAAcH,EAAgBH,EAAQ,GAAKA,EAAQ,MC1BxE,GAAQX,KACRmB,GAAY,SAAU9T,EAAI+T,EAAeV,EAASW,GAClD,IAAIhS,EAAOhC,EAAGgC,KAAMD,EAAM/B,EAAG+B,IAAKiR,EAAQhT,EAAGgT,MAAOC,EAAMjT,EAAGiT,IAE7D,YADgB,IAAZI,IAAsBA,EAAU,UAC7B,uDAA+DW,EAAY,wBAA0Bf,EAAM,MAAQe,EAAY,0CAA4CA,EAAY,UAAY,CACtMD,GAAiB,sBAAwBC,EAAY,IACzC,WAAZX,GAAwB,uBAAyBrR,EAAO,yBAA2BD,EAAM,2BAA6BiR,EAAQ,iEAAmEC,EAAM,MAAQe,EAAY,UAC/M,YAAZX,GAAyB,kBAAoBJ,EAAM,MAAQe,EAAY,KACzErjB,OAAOwT,SAAS8H,KAAK,IAJhB,yDAIkFgH,EAAM,MAAQe,EAJhG,+DAIgLf,EAAM,MAAQe,EAJ9L,uFAIqSA,EAJrS,0FAImZA,EAAY,YAE/ZC,GAAkB,SAAUve,GACnC,IAAIsK,EAAK,WAAeoT,GAAY1d,EAAM2d,UAAWJ,EAAMjT,EAAG,GAAIkU,EAASlU,EAAG,GAC9E,aAAgB,WACZkU,EAAOd,GAAY1d,EAAM2d,YAC1B,CAAC3d,EAAM2d,UACV,IAAIc,EAAaze,EAAMye,WAAYC,EAAc1e,EAAM0e,YAAavT,EAAKnL,EAAM2d,QAASA,OAAiB,IAAPxS,EAAgB,SAAWA,EAC7H,OAAO,gBAAoB,GAAO,CAAEiS,OAAQgB,GAAUb,GAAMkB,EAAYd,EAAUe,EAA6B,GAAf,iBCRzFC,GAA0B,SAAUC,EAAM/a,GACjD,IAAI1I,EAAU0I,EACd,EAAG,CAEC,GADmBgb,GAAuBD,EAAMzjB,GAC9B,CACd,IAAImP,EAAKwU,GAAmBF,EAAMzjB,GAClC,GADgDmP,EAAG,GAAQA,EAAG,GAE1D,OAAO,EAGfnP,EAAUA,EAAQ8W,iBACb9W,GAAWA,IAAYkC,SAASuJ,MACzC,OAAO,GAUPiY,GAAyB,SAAUD,EAAM/a,GACzC,MAAgB,MAAT+a,EAnCmB,SAAU/a,GACpC,IAAIuZ,EAAS3e,OAAO2V,iBAAiBvQ,GACrC,MAA6B,WAArBuZ,EAAO2B,aACT3B,EAAO2B,YAAc3B,EAAO4B,WAAkC,YAArB5B,EAAO2B,WAgChCE,CAAwBpb,GA7BpB,SAAUA,GACpC,IAAIuZ,EAAS3e,OAAO2V,iBAAiBvQ,GACrC,MAA6B,WAArBuZ,EAAO4B,aACT5B,EAAO2B,YAAc3B,EAAO4B,WAAkC,YAArB5B,EAAO4B,WA0BAE,CAAwBrb,IAE9Eib,GAAqB,SAAUF,EAAM/a,GACrC,MAAgB,MAAT+a,EAVA,EAFyBtU,EAYUzG,GAXvBsb,UAA0B7U,EAAG8U,aAA6B9U,EAAG+U,cAG1D,SAAU/U,GAEhC,MAAO,CADUA,EAAGgV,WAA0BhV,EAAGiV,YAA2BjV,EAAG2T,aAO7BuB,CAAoB3b,GAZhD,IAAUyG,GC1BhCmV,IAAmB,EACvB,GAAsB,oBAAXhhB,OACP,IACI,IAAI,GAAUV,OAAOsC,eAAe,GAAI,UAAW,CAC/Ce,IAAK,WAED,OADAqe,IAAmB,GACZ,KAGfhhB,OAAOqd,iBAAiB,OAAQ,GAAS,IACzCrd,OAAOyd,oBAAoB,OAAQ,GAAS,IAEhD,MAAO/hB,GACHslB,IAAmB,EAGpB,IAAIC,KAAaD,IAAmB,CAAEE,SAAS,GCX3CC,GAAa,SAAU7a,GAC9B,MAAO,mBAAoBA,EACrB,CAACA,EAAM8a,eAAe,GAAGC,QAAS/a,EAAM8a,eAAe,GAAGE,SAC1D,CAAC,EAAG,IAEHC,GAAa,SAAUjb,GAAS,MAAO,CAACA,EAAMkb,OAAQlb,EAAMmb,SACnE,GAAa,SAAUza,GACvB,OAAOA,GAAO,YAAaA,EAAMA,EAAItK,QAAUsK,GAK/C0a,GAAgB,SAAUvgB,GAAM,MAAO,4BAA8BA,EAAK,oDAAsDA,EAAK,6BACrIwgB,GAAY,EACZC,GAAY,GChBD/P,EAAc5G,GDiBtB,SAA6B1J,GAChC,IAAIsgB,EAAqB,SAAa,IAClCC,EAAgB,SAAa,CAAC,EAAG,IACjCC,EAAa,WACb5gB,EAAK,WAAewgB,MAAa,GACjCK,EAAQ,YAAe,WAAc,OAAOxD,QAAqB,GACjEyD,EAAY,SAAa1gB,GAC7B,aAAgB,WACZ0gB,EAAUvlB,QAAU6E,IACrB,CAACA,IACJ,aAAgB,WACZ,GAAIA,EAAMiL,MAAO,CACb5N,SAASuJ,KAAKnL,UAAUC,IAAI,uBAAyBkE,GACrD,IAAI+gB,EAAU,CACV3gB,EAAM0L,QAAQvQ,SAChByb,QAAQ5W,EAAM8K,QAAU,IAAIiG,IAAI,KAAa9V,OAAOwT,SAEtD,OADAkS,EAAQ5X,SAAQ,SAAU4K,GAAM,OAAOA,EAAGlY,UAAUC,IAAI,uBAAyBkE,MAC1E,WACHvC,SAASuJ,KAAKnL,UAAUY,OAAO,uBAAyBuD,GACxD+gB,EAAQ5X,SAAQ,SAAU4K,GACtB,OAAOA,EAAGlY,UAAUY,OAAO,uBAAyBuD,UAKjE,CAACI,EAAMiL,MAAOjL,EAAM0L,QAAQvQ,QAAS6E,EAAM8K,SAC9C,IAAI8V,EAAoB,eAAkB,SAAU7b,EAAOzD,GACvD,GAAI,YAAayD,GAAkC,IAAzBA,EAAM8b,QAAQ9lB,OACpC,OAAQ2lB,EAAUvlB,QAAQ+P,eAE9B,IAII4V,EAJAC,EAAQnB,GAAW7a,GACnBic,EAAaT,EAAcplB,QAC3B8kB,EAAS,WAAYlb,EAAQA,EAAMkb,OAASe,EAAW,GAAKD,EAAM,GAClEb,EAAS,WAAYnb,EAAQA,EAAMmb,OAASc,EAAW,GAAKD,EAAM,GAElEhhB,EAASgF,EAAMhF,OACfkhB,EAAgBjiB,KAAK8W,IAAImK,GAAUjhB,KAAK8W,IAAIoK,GAAU,IAAM,IAC5DgB,EAA+BvC,GAAwBsC,EAAelhB,GAC1E,IAAKmhB,EACD,OAAO,EAUX,GARIA,EACAJ,EAAcG,GAGdH,EAAgC,MAAlBG,EAAwB,IAAM,IAC5CC,EAA+BvC,GAAwBsC,EAAelhB,KAGrEmhB,EACD,OAAO,EAOX,IALKV,EAAWrlB,SACZ,mBAAoB4J,IACnBkb,GAAUC,KACXM,EAAWrlB,QAAU2lB,IAEpBA,EACD,OAAO,EAEX,IAAIK,EAAgBX,EAAWrlB,SAAW2lB,EAC1C,OFzCkB,SAAUlC,EAAMwC,EAAWrc,EAAOsc,EAAaC,GACrE,IAAIC,EAAQF,EAERthB,EAASgF,EAAMhF,OACfyhB,EAAeJ,EAAUtlB,SAASiE,GAClC0hB,GAAqB,EACrBC,EAAkBH,EAAQ,EAC1BI,EAAkB,EAClBC,EAAqB,EACzB,EAAG,CACC,IAAItX,EAAKwU,GAAmBF,EAAM7e,GAASqM,EAAW9B,EAAG,GACrDuX,EADoEvX,EAAG,GAAeA,EAAG,GACnD8B,GACtCA,GAAYyV,IACRhD,GAAuBD,EAAM7e,KAC7B4hB,GAAmBE,EACnBD,GAAsBxV,GAG9BrM,EAASA,EAAOkS,kBAGlBuP,GAAgBzhB,IAAW1C,SAASuJ,MAEjC4a,IAAiBJ,EAAUtlB,SAASiE,IAAWqhB,IAAcrhB,IAWlE,OAVI2hB,IACEJ,GAAoC,IAApBK,IACZL,GAAgBC,EAAQI,KAGxBD,IACJJ,GAAuC,IAAvBM,IACZN,IAAiBC,EAAQK,MAJ/BH,GAAqB,GAOlBA,EEOIK,CAAaX,EAAe7f,EAAQyD,EAAyB,MAAlBoc,EAAwBlB,EAASC,GAAQ,KAC5F,IACC6B,EAAgB,eAAkB,SAAUC,GAC5C,IAAIjd,EAAQid,EACZ,GAAK3B,GAAUtlB,QAAUslB,GAAUA,GAAUtlB,OAAS,KAAO0lB,EAA7D,CAIA,IAAIc,EAAQ,WAAYxc,EAAQib,GAAWjb,GAAS6a,GAAW7a,GAC3Dkd,EAAc3B,EAAmBnlB,QAAQF,QAAO,SAAUwC,GAC1D,OAAOA,EAAE6R,OAASvK,EAAMlC,MACpBpF,EAAEsC,SAAWgF,EAAMhF,SA9EN6I,EA+EAnL,EAAE8jB,MA/ECW,EA+EMX,EA9E3B3Y,EAAE,KAAOsZ,EAAE,IAAMtZ,EAAE,KAAOsZ,EAAE,IADpB,IAAUtZ,EAAGsZ,KAgFrB,GAEH,GAAID,GAAeA,EAAYE,OAC3Bpd,EAAMsW,sBAIV,IAAK4G,EAAa,CACd,IAAIG,GAAc1B,EAAUvlB,QAAQ2P,QAAU,IACzCiG,IAAI,IACJ9V,OAAOwT,SACPxT,QAAO,SAAU4I,GAAQ,OAAOA,EAAK/H,SAASiJ,EAAMhF,YACxCqiB,EAAWrnB,OAAS,EAC/B6lB,EAAkB7b,EAAOqd,EAAW,KACnC1B,EAAUvlB,QAAQ6P,cAErBjG,EAAMsW,qBAGf,IACCgH,EAAe,eAAkB,SAAU/S,EAAMiS,EAAOxhB,EAAQoiB,GAChE,IAAIpd,EAAQ,CAAEuK,KAAMA,EAAMiS,MAAOA,EAAOxhB,OAAQA,EAAQoiB,OAAQA,GAChE7B,EAAmBnlB,QAAQwN,KAAK5D,GAChC3F,YAAW,WACPkhB,EAAmBnlB,QAAUmlB,EAAmBnlB,QAAQF,QAAO,SAAUwC,GAAK,OAAOA,IAAMsH,OAC5F,KACJ,IACCud,EAAmB,eAAkB,SAAUvd,GAC/Cwb,EAAcplB,QAAUykB,GAAW7a,GACnCyb,EAAWrlB,aAAUf,IACtB,IACCmoB,EAAc,eAAkB,SAAUxd,GAC1Csd,EAAatd,EAAMlC,KAAMmd,GAAWjb,GAAQA,EAAMhF,OAAQ6gB,EAAkB7b,EAAO/E,EAAM0L,QAAQvQ,YAClG,IACCqnB,EAAkB,eAAkB,SAAUzd,GAC9Csd,EAAatd,EAAMlC,KAAM+c,GAAW7a,GAAQA,EAAMhF,OAAQ6gB,EAAkB7b,EAAO/E,EAAM0L,QAAQvQ,YAClG,IACH,aAAgB,WAUZ,OATAklB,GAAU1X,KAAK8X,GACfzgB,EAAM2K,aAAa,CACfJ,gBAAiBgY,EACjB/X,eAAgB+X,EAChB9X,mBAAoB+X,IAExBnlB,SAASye,iBAAiB,QAASiG,EAAerC,IAClDriB,SAASye,iBAAiB,YAAaiG,EAAerC,IACtDriB,SAASye,iBAAiB,aAAcwG,EAAkB5C,IACnD,WACHW,GAAYA,GAAUplB,QAAO,SAAUwnB,GAAQ,OAAOA,IAAShC,KAC/DpjB,SAAS6e,oBAAoB,QAAS6F,EAAerC,IACrDriB,SAAS6e,oBAAoB,YAAa6F,EAAerC,IACzDriB,SAAS6e,oBAAoB,aAAcoG,EAAkB5C,OAElE,IACH,IAAI7U,EAAkB7K,EAAM6K,gBAAiBI,EAAQjL,EAAMiL,MAC3D,OAAQ,gBAAoB,WAAgB,KACxCA,EAAQ,gBAAoBwV,EAAO,CAAErD,OAAQ+C,GAAcvgB,KAAS,KACpEiL,EAAkB,gBAAoB0T,GAAiB,CAAEZ,QAAS,WAAc,SCpJzE,ICHX+E,GAAoC,oBAAbrlB,SAA2BA,SAASuJ,KAAO,KAClE+b,GAAa,IAAIC,QACjBC,GAAoB,IAAID,QACxBE,GAAY,GACZC,GAAY,ECDZ,GAAQ9F,KAED+F,GAAwB,WAAc,OAAO,gBAAoB,GAAO,CAAE5F,OADxE,4ECCT,GAAa,SAAU3X,GACvB,MAAO,YAAaA,EAAMA,EAAItK,QAAUsK,GCD7B,OAAA6K,EAAc,GDGtB,SAAgBhG,GACnB,IAAIuF,EAAevF,EAAGuF,aAAczJ,EAAckE,EAAGlE,YAAaC,EAAiBiE,EAAGjE,eAAgByE,EAASR,EAAGQ,OAAQsD,EAAe9D,EAAG8D,aAAcE,EAAiBhE,EAAGgE,eAAgBtD,EAAcV,EAAGU,YAC3MG,EAAK,wBAAS/Q,GAAY6oB,EAAa9X,EAAG,GAAI+X,EAAgB/X,EAAG,GACjEgY,EAAkB,iBAAO,MACzBC,EAAe,iBAAO,GA2F1B,OA1FA,aAAgB,WACZ,IAAIC,EAAY,SAAUte,GACjBA,EAAMue,kBACa,WAAfve,EAAMwe,MACO,WAAdxe,EAAM3L,KACY,KAAlB2L,EAAMye,UACNpd,GACAA,EAAYrB,IAIpB0e,EAAc,SAAU1e,GACpBA,EAAMue,kBACNve,EAAMhF,SAAWojB,EAAgBhoB,SAChC4J,aAAiB2e,YAA+B,IAAjB3e,EAAMrC,QAGtCoI,GACAA,EACKiG,IAAI,IACJtR,MAAK,SAAUoE,GAChB,OAAQA,GAAQA,EAAK/H,SAASiJ,EAAMhF,SAChC8D,IAASkB,EAAMhF,WAIvBsG,GACAA,EAAetB,IAGnB4e,EAAe,SAAU5e,GACzB0e,EAAY1e,GACZqe,EAAajoB,QAAU4J,EAAM8b,QAAQ9lB,QAErC6oB,EAAa,SAAU7e,GACvBqe,EAAajoB,QAAU4J,EAAM8b,QAAQ9lB,QAEzC,GAAIkoB,EAKA,OAJA5lB,SAASye,iBAAiB,UAAWuH,GACrChmB,SAASye,iBAAiB,YAAa2H,GACvCpmB,SAASye,iBAAiB,aAAc6H,GACxCtmB,SAASye,iBAAiB,WAAY8H,GAC/B,WACHvmB,SAAS6e,oBAAoB,UAAWmH,GACxChmB,SAAS6e,oBAAoB,YAAauH,GAC1CpmB,SAAS6e,oBAAoB,aAAcyH,GAC3CtmB,SAAS6e,oBAAoB,WAAY0H,MAGlD,CAACX,EAAY5c,EAAgBD,IAChC,qBAAU,WACN,GAAI6c,EAIA,OAHI7U,GACAA,EAAa6U,GAEV,WACC3U,GACAA,OAIb,GAAG2U,IACN,qBAAU,WACN,IAAIY,EAAQ,WAAc,OAAO,MAC7BC,GAAY,EAqBhB,OAVAjU,EAAa,CACT4T,YAAa,SAAUhmB,GACnB0lB,EAAgBhoB,QAAUsC,EAAEsC,QAEhC4jB,aAAc,SAAUlmB,GACpB0lB,EAAgBhoB,QAAUsC,EAAEsC,QAEhCqO,aAjBmB,SAAUvK,GAC7BggB,EF1EY,SAAUE,EAAgB9R,EAAY+R,QACvC,IAAf/R,IAAyBA,EAAayQ,SACvB,IAAfsB,IAAyBA,EAAa,oBAC1C,IAAIC,EAAUpS,MAAME,QAAQgS,GAAkBA,EAAiB,CAACA,GAC3DjB,GAAUkB,KACXlB,GAAUkB,GAAc,IAAIpB,SAEhC,IAAIsB,EAAgBpB,GAAUkB,GAC1BG,EAAc,GACdC,EAAO,SAAU9iB,IACZA,GAAU2iB,EAAQloB,QAAQuF,IAAW,GAG1CuQ,MAAMnX,UAAUqO,QAAQ1H,KAAKC,EAAOiC,UAAU,SAAUM,GACpD,GAAIogB,EAAQxkB,MAAK,SAAUM,GAAU,OAAO8D,EAAK/H,SAASiE,MACtDqkB,EAAKvgB,OAEJ,CACD,IAAIwgB,EAAOxgB,EAAKwO,aAAa,eACzBiS,EAAyB,OAATD,GAA0B,UAATA,EACjCE,GAAgB5B,GAAWvhB,IAAIyC,IAAS,GAAK,EAC7C2gB,GAAeN,EAAc9iB,IAAIyC,IAAS,GAAK,EACnD8e,GAAW1J,IAAIpV,EAAM0gB,GACrBL,EAAcjL,IAAIpV,EAAM2gB,GACxBL,EAAYxb,KAAK9E,GACI,IAAjB0gB,GAAsBD,GACtBzB,GAAkB5J,IAAIpV,GAAM,GAEZ,IAAhB2gB,GACA3gB,EAAKjI,aAAaooB,EAAY,QAE7BM,GACDzgB,EAAKjI,aAAa,cAAe,aAOjD,OAFAwoB,EAAKnS,GACL8Q,KACO,WACHoB,EAAYpb,SAAQ,SAAUlF,GAC1B,IAAI0gB,EAAe5B,GAAWvhB,IAAIyC,GAAQ,EACtC2gB,EAAcN,EAAc9iB,IAAIyC,GAAQ,EAC5C8e,GAAW1J,IAAIpV,EAAM0gB,GACrBL,EAAcjL,IAAIpV,EAAM2gB,GACnBD,IACI1B,GAAkB7P,IAAInP,IACvBA,EAAKsX,gBAAgB,eAEzB0H,GAAkB4B,OAAO5gB,IAExB2gB,GACD3gB,EAAKsX,gBAAgB6I,QAG7BjB,KAEIJ,GAAa,IAAIC,QACjBD,GAAa,IAAIC,QACjBC,GAAoB,IAAID,QACxBE,GAAY,KEcJ4B,CAAW,CAAC7gB,GAAM+S,QAAQ9L,GAAU,IAAIiG,IAAI,KAAc1T,SAASuJ,KAAMoE,OAAc5Q,EnC7E5E,wBmC8EnB8oB,GAAc,WAAc,OAAOrf,MAgBnCyK,eAdqB,WACrBuV,IACKC,GACDZ,EAAc,SAaf,WACHY,GAAY,EACZjU,GAAa,MAElB,IACI,gBAAoBmT,GAAuB,SEnGlD2B,GAAiB,SAAU3kB,GAC3B,OAAO,gBAAoB,GAAS,EAAiB,GAAIA,KAElD,GAAU,cAAiB,SAAUA,EAAOyF,GAAO,OAAO,gBAAoB,EAAc,EAAiB,GAAIzF,EAAO,CAAEyF,IAAKA,EAAKsF,QAAS4Z,SCJ7I/Y,GAAa,EAAiB,GAAIxB,EAAawB,YCH1D,mO;;;;;;mGCEAhR,EAAQC,YAAa,EAErB,IAAImJ,EAAWjG,OAAOkG,QAAU,SAAUlE,GAAU,IAAK,IAAI/E,EAAI,EAAGA,EAAIf,UAAUc,OAAQC,IAAK,CAAE,IAAIkJ,EAASjK,UAAUe,GAAI,IAAK,IAAI5B,KAAO8K,EAAcnG,OAAOrD,UAAUyJ,eAAe9C,KAAK6C,EAAQ9K,KAAQ2G,EAAO3G,GAAO8K,EAAO9K,IAAY,OAAO2G,GAInP4B,EAAUtG,EAFD,cAAQ,mCAMjBuG,EAAcvG,EAFD,mBAAQ,wCAMrBupB,EAAoBvpB,EAFD,0BAAQ,8DAM3BwpB,EAA4BxpB,EAFD,kCAAQ,sEAInCypB,EAAa,0BAAQ,6DAEzB,SAASzpB,EAAuBf,GAAO,OAAOA,GAAOA,EAAIO,WAAaP,EAAM,CAAEgB,QAAShB,GAEvF,SAASkH,EAAgBC,EAAUnB,GAAe,KAAMmB,aAAoBnB,GAAgB,MAAM,IAAIoB,UAAU,qCAEhH,SAASqjB,EAA2BjrB,EAAMuH,GAAQ,IAAKvH,EAAQ,MAAM,IAAIkrB,eAAe,6DAAgE,OAAO3jB,GAAyB,iBAATA,GAAqC,mBAATA,EAA8BvH,EAAPuH,EAKhNyjB,EAAWG,UAAU9d,WAEnBvF,EAAYtG,QAAQqI,KACrB/B,EAAYtG,QAAQqI,KACpB/B,EAAYtG,QAAQqI,MACZ,EAAImhB,EAAWI,mBAAmB,WACnC,EAAIJ,EAAWI,mBAAmB,UAClC,EAAIJ,EAAWI,mBAAmB,SAR5D,IAiBIC,EAAqB,SAAUljB,GAGjC,SAASkjB,IACP,IAAIC,EAAOlgB,EAEX1D,EAAgBzH,KAAMorB,GAEtB,IAAK,IAAIE,EAAOprB,UAAUc,OAAQf,EAAO6X,MAAMwT,GAAOC,EAAO,EAAGA,EAAOD,EAAMC,IAC3EtrB,EAAKsrB,GAAQrrB,UAAUqrB,GAGzB,OAAeF,EAASlgB,EAAQ6f,EAA2BhrB,KAAMkI,EAAiBZ,KAAKnH,MAAM+H,EAAkB,CAAClI,MAAM6c,OAAO5c,KAAiBkL,EAAMqgB,WAAa,SAAUC,GACzK,OAAO7jB,EAAQrG,QAAQgC,cAAcunB,EAA0BvpB,QAAS,CACtEgU,KAAMpK,EAAMlF,MAAMuG,eAClBkf,OAAQvgB,EAAMlF,MAAM0lB,iBACpBC,MAAOzgB,EAAMlF,MAAM4lB,gBACnBC,MAAO3gB,EAAMlF,MAAM8lB,gBACnBC,cAAe7gB,EAAMlF,MAAMgmB,wBAC3BC,aAAc/gB,EAAMlF,MAAMwG,uBAC1B0f,aAAchhB,EAAMlF,MAAMyG,wBACzB+e,IACMT,EAA2B7f,EAAnCkgB,GAYL,OArDF,SAAmBljB,EAAUC,GAAc,GAA0B,mBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIT,UAAU,kEAAoES,GAAeD,EAASxH,UAAYqD,OAAOqE,OAAOD,GAAcA,EAAWzH,UAAW,CAAED,YAAa,CAAElB,MAAO2I,EAAUhC,YAAY,EAAOE,UAAU,EAAMD,cAAc,KAAegC,IAAYpE,OAAOsE,eAAiBtE,OAAOsE,eAAeH,EAAUC,GAAcD,EAASI,UAAYH,GAoB/dI,CAAU4iB,EAAoBljB,GA6B9BkjB,EAAmBzqB,UAAU+W,OAAS,WACpC,OAAO9P,EAAQrG,QAAQgC,cAAcsnB,EAAkBtpB,QAAS0I,EAAS,GAAIjK,KAAKiG,MAAO,CAAEmmB,aAAcpsB,KAAKwrB,eAGzGJ,EAlCgB,CAmCvBxjB,EAAQrG,QAAQkI,WAElB2hB,EAAmB9gB,YAAc,qBAGjC8gB,EAAmB1hB,UAAgE,GACnF0hB,EAAmBphB,aA/CA,CACjB2hB,kBAAkB,EAClBE,iBAAiB,EACjBE,iBAAiB,GA8CnBlrB,EAAQU,QAAU6pB,EAClBxqB,EAAOC,QAAUA,EAAiB,S;;;;;;mGC3FlCA,EAAQC,YAAa,EAErB,IAAImJ,EAAWjG,OAAOkG,QAAU,SAAUlE,GAAU,IAAK,IAAI/E,EAAI,EAAGA,EAAIf,UAAUc,OAAQC,IAAK,CAAE,IAAIkJ,EAASjK,UAAUe,GAAI,IAAK,IAAI5B,KAAO8K,EAAcnG,OAAOrD,UAAUyJ,eAAe9C,KAAK6C,EAAQ9K,KAAQ2G,EAAO3G,GAAO8K,EAAO9K,IAAY,OAAO2G,GAInPqmB,EAAa/qB,EAFD,mCAAQ,kDAMpBgrB,EAAgBhrB,EAFD,sCAAQ,qDAMvBirB,EAA0BjrB,EAFD,+CAAQ,8DAIjCkrB,EAAc,0CAAQ,wDAItB5kB,EAAUtG,EAFD,cAAQ,mCAMjBuG,EAAcvG,EAFD,mBAAQ,wCAIrBmrB,EAAY,kBAAQ,sCAEpB1B,EAAa,0BAAQ,6DAEzB,SAASzpB,EAAuBf,GAAO,OAAOA,GAAOA,EAAIO,WAAaP,EAAM,CAAEgB,QAAShB,GAEvF,SAASkH,EAAgBC,EAAUnB,GAAe,KAAMmB,aAAoBnB,GAAgB,MAAM,IAAIoB,UAAU,qCAEhH,SAASqjB,EAA2BjrB,EAAMuH,GAAQ,IAAKvH,EAAQ,MAAM,IAAIkrB,eAAe,6DAAgE,OAAO3jB,GAAyB,iBAATA,GAAqC,mBAATA,EAA8BvH,EAAPuH,EAIlO,IAAIolB,EAAS,GACTF,EAAY5pB,eAAe8pB,EAAO9d,KAAK4d,EAAY5pB,eACnD4pB,EAAYjqB,cAAcmqB,EAAO9d,KAAK4d,EAAYjqB,cAoB1CsF,EAAYtG,QAAQuI,KACxBihB,EAAWG,UAAU9d,WAKnBvF,EAAYtG,QAAQqI,KACrB/B,EAAYtG,QAAQqI,KACpB/B,EAAYtG,QAAQqI,KACZ/B,EAAYtG,QAAQwL,OACrBlF,EAAYtG,QAAQwL,OACpBlF,EAAYtG,QAAQwL,OAZpC,IAeI4f,EAA0B,SAAUzkB,GAGtC,SAASykB,IACP,IAAItB,EAAOlgB,EAEX1D,EAAgBzH,KAAM2sB,GAEtB,IAAK,IAAIrB,EAAOprB,UAAUc,OAAQf,EAAO6X,MAAMwT,GAAOC,EAAO,EAAGA,EAAOD,EAAMC,IAC3EtrB,EAAKsrB,GAAQrrB,UAAUqrB,GAGzB,OAAeF,EAASlgB,EAAQ6f,EAA2BhrB,KAAMkI,EAAiBZ,KAAKnH,MAAM+H,EAAkB,CAAClI,MAAM6c,OAAO5c,KAAiBkL,EAAMyhB,oBAAsB,SAAUltB,GAC9KyL,EAAMlF,MAAMylB,OACdvgB,EAAM0hB,WAAW,SAAUntB,EAAMyL,EAAMlF,MAAM+lB,eAE7CtsB,KAEDyL,EAAM2hB,mBAAqB,SAAUptB,GAClCyL,EAAMlF,MAAM2lB,MACdzgB,EAAM0hB,WAAW,QAASntB,EAAMyL,EAAMlF,MAAMimB,cAE5CxsB,KAEDyL,EAAM4hB,mBAAqB,SAAUrtB,GAClCyL,EAAMlF,MAAM6lB,MACd3gB,EAAM0hB,WAAW,QAASntB,EAAMyL,EAAMlF,MAAMkmB,cAE5CzsB,KAEOsrB,EAA2B7f,EAAnCkgB,GAiHL,OArLF,SAAmBljB,EAAUC,GAAc,GAA0B,mBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIT,UAAU,kEAAoES,GAAeD,EAASxH,UAAYqD,OAAOqE,OAAOD,GAAcA,EAAWzH,UAAW,CAAED,YAAa,CAAElB,MAAO2I,EAAUhC,YAAY,EAAOE,UAAU,EAAMD,cAAc,KAAegC,IAAYpE,OAAOsE,eAAiBtE,OAAOsE,eAAeH,EAAUC,GAAcD,EAASI,UAAYH,GAuC/dI,CAAUmkB,EAAyBzkB,GAgCnCykB,EAAwBhsB,UAAUqsB,mBAAqB,WACrDhtB,KAAKitB,sBAAwB,GAC7BjtB,KAAKktB,mBAAqB,IAG5BP,EAAwBhsB,UAAU4W,qBAAuB,WACvDvX,KAAK+pB,WAAY,EAEb/pB,KAAKmtB,SACPC,aAAaptB,KAAKmtB,SAEpBntB,KAAKktB,mBAAmBle,SAAQ,SAAUme,GACxCC,aAAaD,MAGfntB,KAAKitB,sBAAsBjsB,OAAS,GAGtC2rB,EAAwBhsB,UAAUksB,WAAa,SAAoBQ,EAAeC,EAAgBH,GAChG,IAAIrjB,GAAO,EAAI2iB,EAAUhkB,aAAazI,MAEtC,GAAK8J,EAAL,CAOA,IAAIrI,EAAYzB,KAAKiG,MAAMsP,KAAK8X,IAAkBrtB,KAAKiG,MAAMsP,KAAO,IAAM8X,EACtEE,EAAkBvtB,KAAKiG,MAAMsP,KAAK8X,EAAgB,WAAa5rB,EAAY,UAC3E+rB,EAAQ,KACRC,OAAkB,GAEtB,EAAIpB,EAAW9qB,SAASuI,EAAMrI,GAG9BzB,KAAK0tB,kBAAkBH,EAAiBzjB,GAGxC,IAAI6jB,EAAS,SAAgBjqB,GACvBA,GAAKA,EAAEsC,SAAW8D,IAItBsjB,aAAaI,GACTC,GAAiBA,KAErB,EAAInB,EAAc/qB,SAASuI,EAAMrI,IACjC,EAAI6qB,EAAc/qB,SAASuI,EAAMyjB,GAE7BE,GAAiBA,IAIjBH,GACFA,MAIAH,GACFK,EAAQnoB,WAAWsoB,EAAQR,GAC3BntB,KAAKktB,mBAAmBte,KAAK4e,IACpBhB,EAAY5pB,gBACrB6qB,EAhIN,SAAwB3jB,EAAM8jB,GAS5B,OARIlB,EAAO1rB,OACT0rB,EAAO1d,SAAQ,SAAUtL,GACvB,OAAOoG,EAAKiY,iBAAiBre,EAAGkqB,GAAU,MAG5CvoB,WAAWuoB,EAAU,GAGhB,WACAlB,EAAO1rB,QACZ0rB,EAAO1d,SAAQ,SAAUtL,GACvB,OAAOoG,EAAKqY,oBAAoBze,EAAGkqB,GAAU,OAoH3BC,CAAe/jB,EAAM6jB,SAzCnCL,GACFA,KA4CNX,EAAwBhsB,UAAU+sB,kBAAoB,SAA2BjsB,EAAWqI,GAC1F,IAAIgkB,EAAS9tB,KAEbA,KAAKitB,sBAAsBre,KAAK,CAC9BnN,UAAWA,EACXqI,KAAMA,IAGH9J,KAAK+tB,YACR/tB,KAAK+tB,WAAY,EAAIxB,EAAwBhrB,UAAS,WACpD,OAAOusB,EAAOE,kCAKpBrB,EAAwBhsB,UAAUqtB,2BAA6B,WACxDhuB,KAAK+pB,WACR/pB,KAAKitB,sBAAsBje,SAAQ,SAAUzO,GAI3CA,EAAIuJ,KAAKsb,WAET,EAAIiH,EAAW9qB,SAAShB,EAAIuJ,KAAMvJ,EAAIkB,cAG1CzB,KAAKitB,sBAAsBjsB,OAAS,EACpChB,KAAK+tB,UAAY,MAGnBpB,EAAwBhsB,UAAU+W,OAAS,WACzC,IAAIzR,EAAQgE,EAAS,GAAIjK,KAAKiG,OAS9B,cAROA,EAAMsP,YACNtP,EAAMylB,cACNzlB,EAAM2lB,aACN3lB,EAAM6lB,aACN7lB,EAAM+lB,qBACN/lB,EAAMimB,oBACNjmB,EAAMkmB,oBACNlmB,EAAMuD,SACN5B,EAAQrG,QAAQ6H,aAAaxB,EAAQrG,QAAQ0sB,SAASrc,KAAK5R,KAAKiG,MAAMuD,UAAWvD,IAGnF0mB,EA/IqB,CAgJ5B/kB,EAAQrG,QAAQkI,WAElBkjB,EAAwBriB,YAAc,0BAGtCqiB,EAAwBjjB,UAAgE,GAExF7I,EAAQU,QAAUorB,EAClB/rB,EAAOC,QAAUA,EAAiB,S;;;;;;mGClOlCA,EAAQC,YAAa,EAErB,IAAImJ,EAAWjG,OAAOkG,QAAU,SAAUlE,GAAU,IAAK,IAAI/E,EAAI,EAAGA,EAAIf,UAAUc,OAAQC,IAAK,CAAE,IAAIkJ,EAASjK,UAAUe,GAAI,IAAK,IAAI5B,KAAO8K,EAAcnG,OAAOrD,UAAUyJ,eAAe9C,KAAK6C,EAAQ9K,KAAQ2G,EAAO3G,GAAO8K,EAAO9K,IAAY,OAAO2G,GAInPkoB,EAAkB5sB,EAFD,uBAAQ,4CAMzBsG,EAAUtG,EAFD,cAAQ,mCAMjBuG,EAAcvG,EAFD,mBAAQ,wCAQrB6sB,GAFY7sB,EAFD,gBAAQ,2EAIH,6BAAQ,iEAE5B,SAASA,EAAuBf,GAAO,OAAOA,GAAOA,EAAIO,WAAaP,EAAM,CAAEgB,QAAShB,GAS1EsH,EAAYtG,QAAQ6sB,IACjBvmB,EAAYtG,QAAQuL,KACxBjF,EAAYtG,QAAQuI,KAHhC,IAaIukB,EAAkB,SAAUnmB,GAG9B,SAASmmB,EAAgBpoB,EAAOqoB,IAtBlC,SAAyB5mB,EAAUnB,GAAe,KAAMmB,aAAoBnB,GAAgB,MAAM,IAAIoB,UAAU,qCAuB5GF,CAAgBzH,KAAMquB,GAEtB,IAAIljB,EAvBR,SAAoCpL,EAAMuH,GAAQ,IAAKvH,EAAQ,MAAM,IAAIkrB,eAAe,6DAAgE,OAAO3jB,GAAyB,iBAATA,GAAqC,mBAATA,EAA8BvH,EAAPuH,EAuBlN0jB,CAA2BhrB,KAAMkI,EAAiBZ,KAAKtH,KAAMiG,EAAOqoB,IA2FhF,OAzFAnjB,EAAMojB,cAAgB,SAAUlvB,EAAK8J,GACnCgC,EAAMqjB,2BAA2BnvB,IAAO,EAEpC8J,EAAUyjB,oBACZzjB,EAAUyjB,oBAAoBzhB,EAAMsjB,qBAAqBhjB,KAAKN,EAAO9L,EAAK8J,IAE1EgC,EAAMsjB,qBAAqBpvB,EAAK8J,IAIpCgC,EAAMsjB,qBAAuB,SAAUpvB,EAAK8J,GACtCA,EAAUulB,oBACZvlB,EAAUulB,4BAGLvjB,EAAMqjB,2BAA2BnvB,GAExC,IAAIsvB,GAAsB,EAAIR,EAAcS,iBAAiBzjB,EAAMlF,MAAMuD,UAEpEmlB,GAAwBA,EAAoBvkB,eAAe/K,IAE9D8L,EAAM0jB,aAAaxvB,EAAK8J,IAI5BgC,EAAM2jB,aAAe,SAAUzvB,EAAK8J,GAClCgC,EAAMqjB,2BAA2BnvB,IAAO,EAEpC8J,EAAU2jB,mBACZ3jB,EAAU2jB,mBAAmB3hB,EAAM4jB,oBAAoBtjB,KAAKN,EAAO9L,EAAK8J,IAExEgC,EAAM4jB,oBAAoB1vB,EAAK8J,IAInCgC,EAAM4jB,oBAAsB,SAAU1vB,EAAK8J,GACrCA,EAAU6lB,mBACZ7lB,EAAU6lB,2BAGL7jB,EAAMqjB,2BAA2BnvB,GAExC,IAAIsvB,GAAsB,EAAIR,EAAcS,iBAAiBzjB,EAAMlF,MAAMuD,UAEpEmlB,GAAwBA,EAAoBvkB,eAAe/K,IAE9D8L,EAAM0jB,aAAaxvB,EAAK8J,IAI5BgC,EAAM0jB,aAAe,SAAUxvB,EAAK8J,GAClCgC,EAAMqjB,2BAA2BnvB,IAAO,EAEpC8J,EAAU4jB,mBACZ5jB,EAAU4jB,mBAAmB5hB,EAAM8jB,mBAAmBxjB,KAAKN,EAAO9L,EAAK8J,IAKvEgC,EAAM8jB,mBAAmB5vB,EAAK8J,IAIlCgC,EAAM8jB,mBAAqB,SAAU5vB,EAAK8J,GACpCA,EAAU+lB,mBACZ/lB,EAAU+lB,2BAGL/jB,EAAMqjB,2BAA2BnvB,GAExC,IAAIsvB,GAAsB,EAAIR,EAAcS,iBAAiBzjB,EAAMlF,MAAMuD,UAErEmlB,GAAuBA,EAAoBvkB,eAAe/K,GAE5D8L,EAAMgkB,YAAYvgB,KAAKvP,GAEvB8L,EAAMikB,UAAS,SAAUvY,GACvB,IAAIwY,EAAcplB,EAAS,GAAI4M,EAAMrN,UAErC,cADO6lB,EAAYhwB,GACZ,CAAEmK,SAAU6lB,OAKzBlkB,EAAMmkB,UAAYtrB,OAAOqE,OAAO,MAEhC8C,EAAM0L,MAAQ,CACZrN,UAAU,EAAI2kB,EAAcS,iBAAiB3oB,EAAMuD,WAE9C2B,EAoHT,OApOF,SAAmBhD,EAAUC,GAAc,GAA0B,mBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIT,UAAU,kEAAoES,GAAeD,EAASxH,UAAYqD,OAAOqE,OAAOD,GAAcA,EAAWzH,UAAW,CAAED,YAAa,CAAElB,MAAO2I,EAAUhC,YAAY,EAAOE,UAAU,EAAMD,cAAc,KAAegC,IAAYpE,OAAOsE,eAAiBtE,OAAOsE,eAAeH,EAAUC,GAAcD,EAASI,UAAYH,GAgB/dI,CAAU6lB,EAAiBnmB,GAmG3BmmB,EAAgB1tB,UAAUqsB,mBAAqB,WAC7ChtB,KAAKwuB,2BAA6B,GAClCxuB,KAAKmvB,YAAc,GACnBnvB,KAAKuvB,YAAc,IAGrBlB,EAAgB1tB,UAAU0W,kBAAoB,WAC5C,IAAImY,EAAsBxvB,KAAK6W,MAAMrN,SACrC,IAAK,IAAInK,KAAOmwB,EACVA,EAAoBnwB,IACtBW,KAAKuuB,cAAclvB,EAAKW,KAAKsvB,UAAUjwB,KAK7CgvB,EAAgB1tB,UAAU8uB,0BAA4B,SAAmCC,GACvF,IAAIC,GAAmB,EAAIxB,EAAcS,iBAAiBc,EAAUlmB,UAChEomB,EAAmB5vB,KAAK6W,MAAMrN,SAMlC,IAAK,IAAInK,KAJTW,KAAKovB,SAAS,CACZ5lB,UAAU,EAAI2kB,EAAc0B,oBAAoBD,EAAkBD,KAGpDA,EAAkB,CAChC,IAAIG,EAAUF,GAAoBA,EAAiBxlB,eAAe/K,IAC9DswB,EAAiBtwB,IAASywB,GAAY9vB,KAAKwuB,2BAA2BnvB,IACxEW,KAAKmvB,YAAYvgB,KAAKvP,GAI1B,IAAK,IAAIksB,KAAQqE,EAAkB,CACjC,IAAIG,EAAUJ,GAAoBA,EAAiBvlB,eAAemhB,IAC9DqE,EAAiBrE,IAAUwE,GAAY/vB,KAAKwuB,2BAA2BjD,IACzEvrB,KAAKuvB,YAAY3gB,KAAK2c,KAO5B8C,EAAgB1tB,UAAU2W,mBAAqB,WAC7C,IAAIwW,EAAS9tB,KAETmvB,EAAcnvB,KAAKmvB,YACvBnvB,KAAKmvB,YAAc,GACnBA,EAAYngB,SAAQ,SAAU3P,GAC5B,OAAOyuB,EAAOgB,aAAazvB,EAAKyuB,EAAOwB,UAAUjwB,OAGnD,IAAIkwB,EAAcvvB,KAAKuvB,YACvBvvB,KAAKuvB,YAAc,GACnBA,EAAYvgB,SAAQ,SAAU3P,GAC5B,OAAOyuB,EAAOe,aAAaxvB,EAAKyuB,EAAOwB,UAAUjwB,QAIrDgvB,EAAgB1tB,UAAU+W,OAAS,WACjC,IAAIsY,EAAShwB,KAITiwB,EAAmB,GAEnBC,EAAQ,SAAe7wB,GACzB,IAAIosB,EAAQuE,EAAOnZ,MAAMrN,SAASnK,GAClC,GAAIosB,EAAO,CACT,IAAI0E,EAAqC,iBAAd1E,EAAM/f,IAC7B0kB,EAAeJ,EAAO/pB,MAAMmmB,aAAaX,GACzC/f,EAAM,SAAa2kB,GACrBL,EAAOV,UAAUjwB,GAAOgxB,GAStBD,IAAiB3E,GAAS0E,IAC5BzkB,GAAM,EAAIwiB,EAAgB3sB,SAASkqB,EAAM/f,IAAKA,IAQhDukB,EAAiBrhB,KAAKhH,EAAQrG,QAAQ6H,aAAagnB,EAAc,CAC/D/wB,IAAKA,EACLqM,IAAKA,OAKX,IAAK,IAAIrM,KAAOW,KAAK6W,MAAMrN,SACzB0mB,EAAM7wB,GAIR,IAAI4G,EAAQgE,EAAS,GAAIjK,KAAKiG,OAW9B,cAVOA,EAAM8lB,uBACN9lB,EAAMuG,sBACNvG,EAAM0lB,wBACN1lB,EAAM4lB,uBACN5lB,EAAMmmB,oBACNnmB,EAAMyG,8BACNzG,EAAMwG,8BACNxG,EAAMgmB,+BACNhmB,EAAMkD,UAENvB,EAAQrG,QAAQgC,cAAcvD,KAAKiG,MAAMkD,UAAWlD,EAAOgqB,IAG7D5B,EArNa,CAsNpBzmB,EAAQrG,QAAQkI,WAElB4kB,EAAgB/jB,YAAc,kBAG9B+jB,EAAgB3kB,UAAgE,GAChF2kB,EAAgBrkB,aAnOG,CACjBb,UAAW,OACXijB,aAAc,SAAsBX,GAClC,OAAOA,IAkOX5qB,EAAQU,QAAU8sB,EAClBztB,EAAOC,QAAUA,EAAiB,S;;;;;;mGCjNlCD,EAAOC,QAzCO,c;;;;;;mGChBdA,EAAQC,YAAa,EACrBD,EAAQ+tB,gBAWR,SAAyBplB,GACvB,IAAKA,EACH,OAAOA,EAET,IAAIgQ,EAAS,GAMb,OALA8W,EAAOrC,SAASjX,IAAIxN,GAAU,SAAUiiB,GACtC,OAAOA,KACNzc,SAAQ,SAAUyc,GACnBjS,EAAOiS,EAAMpsB,KAAOosB,KAEfjS,GApBT3Y,EAAQgvB,mBAwCR,SAA4B1qB,EAAM9D,GAIhC,SAASkvB,EAAelxB,GACtB,OAAIgC,EAAK+I,eAAe/K,GACfgC,EAAKhC,GAGP8F,EAAK9F,GARd8F,EAAOA,GAAQ,GACf9D,EAAOA,GAAQ,GAYf,IAAImvB,EAAkB,GAElBC,EAAc,GAClB,IAAK,IAAIC,KAAWvrB,EACd9D,EAAK+I,eAAesmB,GAClBD,EAAYzvB,SACdwvB,EAAgBE,GAAWD,EAC3BA,EAAc,IAGhBA,EAAY7hB,KAAK8hB,GAIrB,IAAIzvB,OAAI,EACJ0vB,EAAe,GACnB,IAAK,IAAIC,KAAWvvB,EAAM,CACxB,GAAImvB,EAAgBpmB,eAAewmB,GACjC,IAAK3vB,EAAI,EAAGA,EAAIuvB,EAAgBI,GAAS5vB,OAAQC,IAAK,CACpD,IAAI4vB,EAAiBL,EAAgBI,GAAS3vB,GAC9C0vB,EAAaH,EAAgBI,GAAS3vB,IAAMsvB,EAAeM,GAG/DF,EAAaC,GAAWL,EAAeK,GAIzC,IAAK3vB,EAAI,EAAGA,EAAIwvB,EAAYzvB,OAAQC,IAClC0vB,EAAaF,EAAYxvB,IAAMsvB,EAAeE,EAAYxvB,IAG5D,OAAO0vB,GAnFT,IAAIL,EAAS,cAAQ,mC;;;;;;mGCJrBzvB,EAAQC,YAAa,EACrBD,EAAQqqB,eAAY7qB,EACpBQ,EAAQsqB,kBAYR,SAA2B2F,GACzB,IAAIC,EAAkB,aAAeD,EAAiB,UAClDE,EAAkB,aAAeF,EAErC,OAAO,SAAU7qB,GAEf,GAAIA,EAAM+qB,GAAkB,CAE1B,GAA8B,MAA1B/qB,EAAM8qB,GACR,OAAO,IAAIviB,MAAMuiB,wNAGZ,GAAsC,iBAA3B9qB,EAAM8qB,GACtB,OAAO,IAAIviB,MAAMuiB,EAAkB,uCAIvC,OAAO,OAzBGzvB,EAFD,cAAQ,mCAArB,IAMIuG,EAAcvG,EAFD,mBAAQ,wCAIzB,SAASA,EAAuBf,GAAO,OAAOA,GAAOA,EAAIO,WAAaP,EAAM,CAAEgB,QAAShB,GAuBvEM,EAAQqqB,UAAYrjB,EAAYtG,QAAQoI,UAAU,CAAC9B,EAAYtG,QAAQsI,OAAQhC,EAAYtG,QAAQ0vB,MAAM,CACvHrF,MAAO/jB,EAAYtG,QAAQsI,OAC3BiiB,MAAOjkB,EAAYtG,QAAQsI,OAC3BZ,OAAQpB,EAAYtG,QAAQsI,SAC1BhC,EAAYtG,QAAQ0vB,MAAM,CAC5BrF,MAAO/jB,EAAYtG,QAAQsI,OAC3BqnB,YAAarpB,EAAYtG,QAAQsI,OACjCiiB,MAAOjkB,EAAYtG,QAAQsI,OAC3BsnB,YAAatpB,EAAYtG,QAAQsI,OACjC6hB,OAAQ7jB,EAAYtG,QAAQsI,OAC5BunB,aAAcvpB,EAAYtG,QAAQsI","file":"0.bundle.js","sourcesContent":["function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nmodule.exports = _interopRequireDefault;","\nmodule.exports = function chain(){\n var len = arguments.length\n var args = [];\n\n for (var i = 0; i < len; i++)\n args[i] = arguments[i]\n\n args = args.filter(function(fn){ return fn != null })\n\n if (args.length === 0) return undefined\n if (args.length === 1) return args[0]\n\n return args.reduce(function(current, next){\n return function chainedFunction() {\n current.apply(this, arguments);\n next.apply(this, arguments);\n };\n })\n}\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = addClass;\n\nvar _hasClass = _interopRequireDefault(require(\"./hasClass\"));\n\nfunction addClass(element, className) {\n if (element.classList) element.classList.add(className);else if (!(0, _hasClass.default)(element, className)) if (typeof element.className === 'string') element.className = element.className + ' ' + className;else element.setAttribute('class', (element.className && element.className.baseVal || '') + ' ' + className);\n}\n\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nexports.__esModule = true;\nexports.default = hasClass;\n\nfunction hasClass(element, className) {\n if (element.classList) return !!className && element.classList.contains(className);else return (\" \" + (element.className.baseVal || element.className) + \" \").indexOf(\" \" + className + \" \") !== -1;\n}\n\nmodule.exports = exports[\"default\"];","'use strict';\n\nfunction replaceClassName(origClass, classToRemove) {\n return origClass.replace(new RegExp('(^|\\\\s)' + classToRemove + '(?:\\\\s|$)', 'g'), '$1').replace(/\\s+/g, ' ').replace(/^\\s*|\\s*$/g, '');\n}\n\nmodule.exports = function removeClass(element, className) {\n if (element.classList) element.classList.remove(className);else if (typeof element.className === 'string') element.className = replaceClassName(element.className, className);else element.setAttribute('class', replaceClassName(element.className && element.className.baseVal || '', className));\n};","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = exports.animationEnd = exports.animationDelay = exports.animationTiming = exports.animationDuration = exports.animationName = exports.transitionEnd = exports.transitionDuration = exports.transitionDelay = exports.transitionTiming = exports.transitionProperty = exports.transform = void 0;\n\nvar _inDOM = _interopRequireDefault(require(\"../util/inDOM\"));\n\nvar transform = 'transform';\nexports.transform = transform;\nvar prefix, transitionEnd, animationEnd;\nexports.animationEnd = animationEnd;\nexports.transitionEnd = transitionEnd;\nvar transitionProperty, transitionDuration, transitionTiming, transitionDelay;\nexports.transitionDelay = transitionDelay;\nexports.transitionTiming = transitionTiming;\nexports.transitionDuration = transitionDuration;\nexports.transitionProperty = transitionProperty;\nvar animationName, animationDuration, animationTiming, animationDelay;\nexports.animationDelay = animationDelay;\nexports.animationTiming = animationTiming;\nexports.animationDuration = animationDuration;\nexports.animationName = animationName;\n\nif (_inDOM.default) {\n var _getTransitionPropert = getTransitionProperties();\n\n prefix = _getTransitionPropert.prefix;\n exports.transitionEnd = transitionEnd = _getTransitionPropert.transitionEnd;\n exports.animationEnd = animationEnd = _getTransitionPropert.animationEnd;\n exports.transform = transform = prefix + \"-\" + transform;\n exports.transitionProperty = transitionProperty = prefix + \"-transition-property\";\n exports.transitionDuration = transitionDuration = prefix + \"-transition-duration\";\n exports.transitionDelay = transitionDelay = prefix + \"-transition-delay\";\n exports.transitionTiming = transitionTiming = prefix + \"-transition-timing-function\";\n exports.animationName = animationName = prefix + \"-animation-name\";\n exports.animationDuration = animationDuration = prefix + \"-animation-duration\";\n exports.animationTiming = animationTiming = prefix + \"-animation-delay\";\n exports.animationDelay = animationDelay = prefix + \"-animation-timing-function\";\n}\n\nvar _default = {\n transform: transform,\n end: transitionEnd,\n property: transitionProperty,\n timing: transitionTiming,\n delay: transitionDelay,\n duration: transitionDuration\n};\nexports.default = _default;\n\nfunction getTransitionProperties() {\n var style = document.createElement('div').style;\n var vendorMap = {\n O: function O(e) {\n return \"o\" + e.toLowerCase();\n },\n Moz: function Moz(e) {\n return e.toLowerCase();\n },\n Webkit: function Webkit(e) {\n return \"webkit\" + e;\n },\n ms: function ms(e) {\n return \"MS\" + e;\n }\n };\n var vendors = Object.keys(vendorMap);\n var transitionEnd, animationEnd;\n var prefix = '';\n\n for (var i = 0; i < vendors.length; i++) {\n var vendor = vendors[i];\n\n if (vendor + \"TransitionProperty\" in style) {\n prefix = \"-\" + vendor.toLowerCase();\n transitionEnd = vendorMap[vendor]('TransitionEnd');\n animationEnd = vendorMap[vendor]('AnimationEnd');\n break;\n }\n }\n\n if (!transitionEnd && 'transitionProperty' in style) transitionEnd = 'transitionend';\n if (!animationEnd && 'animationName' in style) animationEnd = 'animationend';\n style = null;\n return {\n animationEnd: animationEnd,\n transitionEnd: transitionEnd,\n prefix: prefix\n };\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _default = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n\nexports.default = _default;\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _inDOM = _interopRequireDefault(require(\"./inDOM\"));\n\nvar vendors = ['', 'webkit', 'moz', 'o', 'ms'];\nvar cancel = 'clearTimeout';\nvar raf = fallback;\nvar compatRaf;\n\nvar getKey = function getKey(vendor, k) {\n return vendor + (!vendor ? k : k[0].toUpperCase() + k.substr(1)) + 'AnimationFrame';\n};\n\nif (_inDOM.default) {\n vendors.some(function (vendor) {\n var rafKey = getKey(vendor, 'request');\n\n if (rafKey in window) {\n cancel = getKey(vendor, 'cancel');\n return raf = function raf(cb) {\n return window[rafKey](cb);\n };\n }\n });\n}\n/* https://github.com/component/raf */\n\n\nvar prev = new Date().getTime();\n\nfunction fallback(fn) {\n var curr = new Date().getTime(),\n ms = Math.max(0, 16 - (curr - prev)),\n req = setTimeout(fn, ms);\n prev = curr;\n return req;\n}\n\ncompatRaf = function compatRaf(cb) {\n return raf(cb);\n};\n\ncompatRaf.cancel = function (id) {\n window[cancel] && typeof window[cancel] === 'function' && window[cancel](id);\n};\n\nvar _default = compatRaf;\nexports.default = _default;\nmodule.exports = exports[\"default\"];","'use strict';\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nvar _get = function get(_x, _x2, _x3) { var _again = true; _function: while (_again) { var object = _x, property = _x2, receiver = _x3; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x = parent; _x2 = property; _x3 = receiver; _again = true; desc = parent = undefined; continue _function; } } else if ('value' in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _blacklist = require('blacklist');\n\nvar _blacklist2 = _interopRequireDefault(_blacklist);\n\nvar BUTTON_SIZES = ['md', 'sm'];\nvar BUTTON_TYPES = ['primary', 'secondary', 'link', 'link-text', 'link-cancel', 'link-delete'];\n\nvar Button = (function (_React$Component) {\n _inherits(Button, _React$Component);\n\n function Button() {\n _classCallCheck(this, Button);\n\n _get(Object.getPrototypeOf(Button.prototype), 'constructor', this).apply(this, arguments);\n }\n\n _createClass(Button, [{\n key: 'focus',\n value: function focus() {\n _reactDom2['default'].findDOMNode(this.refs.button).focus();\n }\n }, {\n key: 'render',\n value: function render() {\n // classes\n var componentClass = (0, _classnames2['default'])('Button', 'Button--' + this.props.type, this.props.size ? 'Button--' + this.props.size : null, {\n 'Button--block': this.props.block,\n active: this.props.isActive\n }, this.props.className);\n\n // props\n var props = (0, _blacklist2['default'])(this.props, 'type', 'size', 'component', 'className', 'submit');\n props.className = componentClass;\n\n if (this.props.component) {\n return _react2['default'].cloneElement(this.props.component, props);\n }\n\n var tag = 'button';\n props.type = this.props.submit ? 'submit' : 'button';\n\n if (props.href) {\n tag = 'a';\n delete props.type;\n }\n\n return _react2['default'].createElement(tag, props, this.props.children);\n }\n }]);\n\n return Button;\n})(_react2['default'].Component);\n\nButton.propTypes = {\n block: _propTypes2['default'].oneOfType([_propTypes2['default'].bool, _propTypes2['default'].string]),\n className: _propTypes2['default'].string,\n component: _propTypes2['default'].node,\n href: _propTypes2['default'].string,\n isActive: _propTypes2['default'].bool,\n size: _propTypes2['default'].oneOf(BUTTON_SIZES),\n submit: _propTypes2['default'].oneOfType([_propTypes2['default'].bool, _propTypes2['default'].string]),\n type: _propTypes2['default'].oneOf(BUTTON_TYPES)\n};\n\nButton.defaultProps = {\n type: 'primary'\n};\n\nmodule.exports = Button;","'use strict';\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nvar _get = function get(_x, _x2, _x3) { var _again = true; _function: while (_again) { var object = _x, property = _x2, receiver = _x3; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x = parent; _x2 = property; _x3 = receiver; _again = true; desc = parent = undefined; continue _function; } } else if ('value' in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _blacklist = require('blacklist');\n\nvar _blacklist2 = _interopRequireDefault(_blacklist);\n\nvar _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar FormField = (function (_React$Component) {\n _inherits(FormField, _React$Component);\n\n function FormField(props) {\n _classCallCheck(this, FormField);\n\n _get(Object.getPrototypeOf(FormField.prototype), 'constructor', this).call(this, props);\n this.displayName = 'FormField';\n }\n\n _createClass(FormField, [{\n key: 'render',\n value: function render() {\n // classes\n var componentClass = (0, _classnames2['default'])('FormField', {\n 'offset-absent-label': this.props.offsetAbsentLabel,\n error: this.props.error\n }, this.props.width, this.props.className);\n\n // props\n var props = (0, _blacklist2['default'])(this.props, 'className', 'label', 'offsetAbsentLabel', 'width');\n\n // elements\n var componentLabel = this.props.label ? _react2['default'].createElement(\n 'label',\n { className: 'FormLabel', htmlFor: this.props.id || this.props.htmlFor },\n this.props.label\n ) : null;\n\n return _react2['default'].createElement(\n 'div',\n _extends({ className: componentClass }, props),\n componentLabel,\n this.props.children\n );\n }\n }]);\n\n return FormField;\n})(_react2['default'].Component);\n\nFormField.propTypes = {\n className: _propTypes2['default'].string,\n error: _propTypes2['default'].bool,\n htmlFor: _propTypes2['default'].string,\n id: _propTypes2['default'].string,\n label: _propTypes2['default'].oneOf([_propTypes2['default'].string, _propTypes2['default'].node]),\n offsetAbsentLabel: _propTypes2['default'].bool,\n width: _propTypes2['default'].oneOf(['one-half', 'two-quarters', 'three-sixths', 'one-quarter', 'three-quarters', 'one-third', 'two-sixths', 'two-thirds', 'four-sixths', 'one-fifth', 'two-fifths', 'three-fifths', 'four-fifths', 'one-sixth', 'five-sixths'])\n};\n\nmodule.exports = FormField;","'use strict';\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nvar _get = function get(_x, _x2, _x3) { var _again = true; _function: while (_again) { var object = _x, property = _x2, receiver = _x3; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x = parent; _x2 = property; _x3 = receiver; _again = true; desc = parent = undefined; continue _function; } } else if ('value' in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _reactFocusOn = require('react-focus-on');\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _reactTransitionGroupCSSTransitionGroup = require('react-transition-group/CSSTransitionGroup');\n\nvar _reactTransitionGroupCSSTransitionGroup2 = _interopRequireDefault(_reactTransitionGroupCSSTransitionGroup);\n\nvar _blacklist = require('blacklist');\n\nvar _blacklist2 = _interopRequireDefault(_blacklist);\n\nvar _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar Modal = (function (_React$Component) {\n\t_inherits(Modal, _React$Component);\n\n\tfunction Modal() {\n\t\t_classCallCheck(this, Modal);\n\n\t\t_get(Object.getPrototypeOf(Modal.prototype), 'constructor', this).apply(this, arguments);\n\t}\n\n\t_createClass(Modal, [{\n\t\tkey: 'handleClose',\n\t\tvalue: function handleClose() {\n\t\t\tthis.props.onCancel();\n\t\t}\n\t}, {\n\t\tkey: 'onContentClick',\n\t\tvalue: function onContentClick(event) {\n\t\t\t// Parent div 'Modal' closes the modal on click event.\n\t\t\t// Prevent click event propagating to the Parent div 'Modal'.\n\t\t\tif (event.stopPropagation) {\n\t\t\t\tevent.stopPropagation();\n\t\t\t} else {\n\t\t\t\tevent.returnValue = false; //For IE\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: 'renderDialog',\n\t\tvalue: function renderDialog() {\n\t\t\tvar _this = this;\n\n\t\t\tif (!this.props.isOpen) return false;\n\t\t\tvar close = this.props.showCloseButton ? _react2['default'].createElement('button', {\n\t\t\t\ttype: 'button',\n\t\t\t\tonClick: this.handleClose.bind(this),\n\t\t\t\tclassName: 'Modal__close',\n\t\t\t\tref: function (ref) {\n\t\t\t\t\t_this.closeButton = ref;\n\t\t\t\t}\n\t\t\t}) : null;\n\t\t\tvar back = this.props.back ? _react2['default'].createElement(\n\t\t\t\t'div',\n\t\t\t\t{ className: 'Modal__back' },\n\t\t\t\tthis.props.back\n\t\t\t) : null;\n\t\t\treturn _react2['default'].createElement(\n\t\t\t\t'div',\n\t\t\t\t{ className: 'Modal-' + this.props.type, id: 'modalDialog' },\n\t\t\t\t_react2['default'].createElement(\n\t\t\t\t\t'div',\n\t\t\t\t\t{\n\t\t\t\t\t\tref: function (ref) {\n\t\t\t\t\t\t\t_this.modalElement = ref;\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstyle: this.props.width && !isNaN(this.props.width) ? { width: this.props.width + 20 } : null,\n\t\t\t\t\t\ttabIndex: '0',\n\t\t\t\t\t\tclassName: (0, _classnames2['default'])('Modal-content-' + this.props.type, this.props.width && isNaN(this.props.width) ? 'Modal-content--' + this.props.type + '--' + this.props.width : null),\n\t\t\t\t\t\tonClick: this.onContentClick.bind(this)\n\t\t\t\t\t},\n\t\t\t\t\tclose,\n\t\t\t\t\tback,\n\t\t\t\t\tthis.props.children\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t}, {\n\t\tkey: 'render',\n\t\tvalue: function render() {\n\t\t\tvar className = (0, _classnames2['default'])('Modal', {\n\t\t\t\t'is-open': this.props.isOpen,\n\t\t\t\t'is-opaque': this.props.opaque\n\t\t\t}, this.props.className);\n\t\t\tvar props = (0, _blacklist2['default'])(this.props, 'backdropClosesModal', 'className', 'isOpen', 'onCancel', 'opaque', 'showCloseButton', 'type');\n\n\t\t\tvar contents = _react2['default'].createElement(\n\t\t\t\t'div',\n\t\t\t\t_extends({}, props, { 'data-modal': 'true', className: className }),\n\t\t\t\t_react2['default'].createElement(\n\t\t\t\t\t_reactFocusOn.FocusOn,\n\t\t\t\t\t{ enabled: this.props.isOpen,\n\t\t\t\t\t\tonEscapeKey: this.handleClose.bind(this),\n\t\t\t\t\t\tonClickOutside: this.props.backdropClosesModal ? this.handleClose.bind(this) : function () {} },\n\t\t\t\t\t_react2['default'].createElement(\n\t\t\t\t\t\t_reactTransitionGroupCSSTransitionGroup2['default'],\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttransitionName: 'Modal-' + this.props.type,\n\t\t\t\t\t\t\tcomponent: 'div',\n\t\t\t\t\t\t\ttransitionEnterTimeout: 350,\n\t\t\t\t\t\t\ttransitionLeaveTimeout: 350 },\n\t\t\t\t\t\tthis.renderDialog()\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t);\n\n\t\t\t// Delay createPortal until component is mounted to fix server side rendering\n\t\t\treturn typeof document !== 'undefined' && _reactDom2['default'].createPortal(contents, document.body);\n\t\t}\n\t}]);\n\n\treturn Modal;\n})(_react2['default'].Component);\n\nModal.propTypes = {\n\tback: _propTypes2['default'].node,\n\tbackdropClosesModal: _propTypes2['default'].bool,\n\tclassName: _propTypes2['default'].string,\n\tisOpen: _propTypes2['default'].bool,\n\tonCancel: _propTypes2['default'].func,\n\topaque: _propTypes2['default'].bool,\n\tshowCloseButton: _propTypes2['default'].bool,\n\ttype: _propTypes2['default'].oneOf(['dialog', 'default']),\n\twidth: _propTypes2['default'].oneOfType([_propTypes2['default'].oneOf(['small', 'medium', 'large']), _propTypes2['default'].number])\n};\n\nModal.defaultProps = {\n\twidth: 'medium',\n\tshowCloseButton: true,\n\tbackdropClosesModal: true,\n\ttype: 'default',\n\topaque: false,\n\tisOpen: false\n};\n\nmodule.exports = Modal;\n// expose the children to the top level export\nmodule.exports.Body = require('./ModalBody');\nmodule.exports.Footer = require('./ModalFooter');\nmodule.exports.Header = require('./ModalHeader');","'use strict';\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar ModalBody = function ModalBody(props) {\n\tvar className = (0, _classnames2['default'])('Modal__body', props.className);\n\treturn _react2['default'].createElement('div', _extends({}, props, { className: className }));\n};\n\nModalBody.propTypes = {\n\tchildren: _propTypes2['default'].node.isRequired,\n\tclassName: _propTypes2['default'].string\n};\n\nmodule.exports = ModalBody;","'use strict';\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar ModalFooter = function ModalFooter(props) {\n\tvar className = (0, _classnames2['default'])('Modal__footer', props.className);\n\treturn _react2['default'].createElement('div', _extends({}, props, { className: className }));\n};\n\nModalFooter.propTypes = {\n\tchildren: _propTypes2['default'].node,\n\tclassName: _propTypes2['default'].string\n};\n\nmodule.exports = ModalFooter;","'use strict';\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar ModalHeader = function ModalHeader(props) {\n\tvar className = (0, _classnames2['default'])('Modal__header', props.className);\n\tvar text = props.text ? _react2['default'].createElement(\n\t\t'h2',\n\t\t{ className: 'Modal__header__text' },\n\t\tprops.text\n\t) : null;\n\treturn _react2['default'].createElement(\n\t\t'div',\n\t\t_extends({}, props, { className: className }),\n\t\ttext,\n\t\tprops.children\n\t);\n};\n\nModalHeader.propTypes = {\n\tchildren: _propTypes2['default'].node,\n\tclassName: _propTypes2['default'].string,\n\ttext: _propTypes2['default'].string\n};\n\nmodule.exports = ModalHeader;","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import * as tslib_1 from \"tslib\";\nfunction ItoI(a) {\n return a;\n}\nfunction innerCreateMedium(defaults, middleware) {\n if (middleware === void 0) { middleware = ItoI; }\n var buffer = [];\n var assigned = false;\n var medium = {\n read: function () {\n if (assigned) {\n throw new Error('Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.');\n }\n if (buffer.length) {\n return buffer[buffer.length - 1];\n }\n return defaults;\n },\n useMedium: function (data) {\n var item = middleware(data, assigned);\n buffer.push(item);\n return function () {\n buffer = buffer.filter(function (x) { return x !== item; });\n };\n },\n assignSyncMedium: function (cb) {\n assigned = true;\n while (buffer.length) {\n var cbs = buffer;\n buffer = [];\n cbs.forEach(cb);\n }\n buffer = {\n push: function (x) { return cb(x); },\n filter: function () { return buffer; },\n };\n },\n assignMedium: function (cb) {\n assigned = true;\n var pendingQueue = [];\n if (buffer.length) {\n var cbs = buffer;\n buffer = [];\n cbs.forEach(cb);\n pendingQueue = buffer;\n }\n var executeQueue = function () {\n var cbs = pendingQueue;\n pendingQueue = [];\n cbs.forEach(cb);\n };\n var cycle = function () { return Promise.resolve().then(executeQueue); };\n cycle();\n buffer = {\n push: function (x) {\n pendingQueue.push(x);\n cycle();\n },\n filter: function (filter) {\n pendingQueue = pendingQueue.filter(filter);\n return buffer;\n },\n };\n },\n };\n return medium;\n}\nexport function createMedium(defaults, middleware) {\n if (middleware === void 0) { middleware = ItoI; }\n return innerCreateMedium(defaults, middleware);\n}\nexport function createSidecarMedium(options) {\n if (options === void 0) { options = {}; }\n var medium = innerCreateMedium(null);\n medium.options = tslib_1.__assign({ async: true, ssr: false }, options);\n return medium;\n}\n","import { createSidecarMedium } from 'use-sidecar';\nexport var effectCar = createSidecarMedium();\n","import { useCallbackRef } from './useRef';\nimport { assignRef } from './assignRef';\n/**\n * Merges two or more refs together providing a single interface to set their value\n * @param {RefObject|Ref} refs\n * @returns {MutableRefObject} - a new ref, which translates all changes to {refs}\n *\n * @see {@link mergeRefs} a version without buit-in memoization\n * @see https://github.com/theKashey/use-callback-ref#usemergerefs\n * @example\n * const Component = React.forwardRef((props, ref) => {\n * const ownRef = useRef();\n * const domRef = useMergeRefs([ref, ownRef]); // 👈 merge together\n * return
...
\n * }\n */\nexport function useMergeRefs(refs, defaultValue) {\n return useCallbackRef(defaultValue, function (newValue) {\n return refs.forEach(function (ref) { return assignRef(ref, newValue); });\n });\n}\n","import { useState } from 'react';\n/**\n * creates a MutableRef with ref change callback\n * @param initialValue - initial ref value\n * @param {Function} callback - a callback to run when value changes\n *\n * @example\n * const ref = useCallbackRef(0, (newValue, oldValue) => console.log(oldValue, '->', newValue);\n * ref.current = 1;\n * // prints 0 -> 1\n *\n * @see https://reactjs.org/docs/hooks-reference.html#useref\n * @see https://github.com/theKashey/use-callback-ref#usecallbackref---to-replace-reactuseref\n * @returns {MutableRefObject}\n */\nexport function useCallbackRef(initialValue, callback) {\n var ref = useState(function () { return ({\n // value\n value: initialValue,\n // last callback\n callback: callback,\n // \"memoized\" public interface\n facade: {\n get current() {\n return ref.value;\n },\n set current(value) {\n var last = ref.value;\n if (last !== value) {\n ref.value = value;\n ref.callback(value, last);\n }\n }\n }\n }); })[0];\n // update callback\n ref.callback = callback;\n return ref.facade;\n}\n","/**\n * Assigns a value for a given ref, no matter of the ref format\n * @param {RefObject} ref - a callback function or ref object\n * @param value - a new value\n *\n * @see https://github.com/theKashey/use-callback-ref#assignref\n * @example\n * const refObject = useRef();\n * const refFn = (ref) => {....}\n *\n * assignRef(refObject, \"refValue\");\n * assignRef(refFn, \"refValue\");\n */\nexport function assignRef(ref, value) {\n if (typeof ref === 'function') {\n ref(value);\n }\n else if (ref) {\n ref.current = value;\n }\n return ref;\n}\n","import * as tslib_1 from \"tslib\";\nimport * as React from 'react';\nimport { fullWidthClassName, zeroRightClassName } from 'react-remove-scroll-bar/constants';\nimport { effectCar } from './medium';\nimport { useMergeRefs } from 'use-callback-ref';\nvar nothing = function () {\n return;\n};\n/**\n * Removes scrollbar from the page and contain the scroll within the Lock\n */\nvar RemoveScroll = React.forwardRef(function (props, parentRef) {\n var ref = React.useRef(null);\n var _a = React.useState({\n onScrollCapture: nothing,\n onWheelCapture: nothing,\n onTouchMoveCapture: nothing\n }), callbacks = _a[0], setCallbacks = _a[1];\n var forwardProps = props.forwardProps, children = props.children, className = props.className, removeScrollBar = props.removeScrollBar, enabled = props.enabled, shards = props.shards, sideCar = props.sideCar, noIsolation = props.noIsolation, inert = props.inert, allowPinchZoom = props.allowPinchZoom, _b = props.as, Container = _b === void 0 ? 'div' : _b, rest = tslib_1.__rest(props, [\"forwardProps\", \"children\", \"className\", \"removeScrollBar\", \"enabled\", \"shards\", \"sideCar\", \"noIsolation\", \"inert\", \"allowPinchZoom\", \"as\"]);\n var SideCar = sideCar;\n var containerRef = useMergeRefs([\n ref,\n parentRef\n ]);\n var containerProps = tslib_1.__assign({}, rest, callbacks);\n return (React.createElement(React.Fragment, null,\n enabled && (React.createElement(SideCar, { sideCar: effectCar, removeScrollBar: removeScrollBar, shards: shards, noIsolation: noIsolation, inert: inert, setCallbacks: setCallbacks, allowPinchZoom: !!allowPinchZoom, lockRef: ref })),\n forwardProps ? (React.cloneElement(React.Children.only(children), tslib_1.__assign({}, containerProps, { ref: containerRef }))) : (React.createElement(Container, tslib_1.__assign({}, containerProps, { className: className, ref: containerRef }), children))));\n});\nRemoveScroll.defaultProps = {\n enabled: true,\n removeScrollBar: true,\n inert: false\n};\nRemoveScroll.classNames = {\n fullWidth: fullWidthClassName,\n zeroRight: zeroRightClassName\n};\nexport { RemoveScroll };\n","export var zeroRightClassName = 'right-scroll-bar-position';\nexport var fullWidthClassName = 'width-before-scroll-bar';\nexport var noScrollbarsClassName = 'with-scroll-bars-hidden';\n","export var FOCUS_GROUP = 'data-focus-lock';\nexport var FOCUS_DISABLED = 'data-focus-lock-disabled';\nexport var FOCUS_ALLOW = 'data-no-focus-lock';\nexport var FOCUS_AUTO = 'data-autofocus-inside';\n","import * as React from 'react';\nimport PropTypes from 'prop-types';\nexport var hiddenGuard = {\n width: '1px',\n height: '0px',\n padding: 0,\n overflow: 'hidden',\n position: 'fixed',\n top: '1px',\n left: '1px'\n};\n\nvar InFocusGuard = function InFocusGuard(_ref) {\n var children = _ref.children;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"div\", {\n key: \"guard-first\",\n \"data-focus-guard\": true,\n \"data-focus-auto-guard\": true,\n style: hiddenGuard\n }), children, children && /*#__PURE__*/React.createElement(\"div\", {\n key: \"guard-last\",\n \"data-focus-guard\": true,\n \"data-focus-auto-guard\": true,\n style: hiddenGuard\n }));\n};\n\nInFocusGuard.propTypes = process.env.NODE_ENV !== \"production\" ? {\n children: PropTypes.node\n} : {};\nInFocusGuard.defaultProps = {\n children: null\n};\nexport default InFocusGuard;","import { createMedium, createSidecarMedium } from 'use-sidecar';\nexport var mediumFocus = createMedium({}, function (_ref) {\n var target = _ref.target,\n currentTarget = _ref.currentTarget;\n return {\n target: target,\n currentTarget: currentTarget\n };\n});\nexport var mediumBlur = createMedium();\nexport var mediumEffect = createMedium();\nexport var mediumSidecar = createSidecarMedium({\n async: true\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport { node, bool, string, any, arrayOf, oneOfType, object, func } from 'prop-types';\nimport * as constants from 'focus-lock/constants';\nimport { useMergeRefs } from 'use-callback-ref';\nimport { hiddenGuard } from './FocusGuard';\nimport { mediumFocus, mediumBlur, mediumSidecar } from './medium';\nvar emptyArray = [];\nvar FocusLock = /*#__PURE__*/React.forwardRef(function FocusLockUI(props, parentRef) {\n var _extends2;\n\n var _React$useState = React.useState(),\n realObserved = _React$useState[0],\n setObserved = _React$useState[1];\n\n var observed = React.useRef();\n var isActive = React.useRef(false);\n var originalFocusedElement = React.useRef(null);\n var children = props.children,\n disabled = props.disabled,\n noFocusGuards = props.noFocusGuards,\n persistentFocus = props.persistentFocus,\n crossFrame = props.crossFrame,\n autoFocus = props.autoFocus,\n allowTextSelection = props.allowTextSelection,\n group = props.group,\n className = props.className,\n whiteList = props.whiteList,\n _props$shards = props.shards,\n shards = _props$shards === void 0 ? emptyArray : _props$shards,\n _props$as = props.as,\n Container = _props$as === void 0 ? 'div' : _props$as,\n _props$lockProps = props.lockProps,\n containerProps = _props$lockProps === void 0 ? {} : _props$lockProps,\n SideCar = props.sideCar,\n shouldReturnFocus = props.returnFocus,\n onActivationCallback = props.onActivation,\n onDeactivationCallback = props.onDeactivation;\n\n var _React$useState2 = React.useState({}),\n id = _React$useState2[0]; // SIDE EFFECT CALLBACKS\n\n\n var onActivation = React.useCallback(function () {\n originalFocusedElement.current = originalFocusedElement.current || document && document.activeElement;\n\n if (observed.current && onActivationCallback) {\n onActivationCallback(observed.current);\n }\n\n isActive.current = true;\n }, [onActivationCallback]);\n var onDeactivation = React.useCallback(function () {\n isActive.current = false;\n\n if (onDeactivationCallback) {\n onDeactivationCallback(observed.current);\n }\n }, [onDeactivationCallback]);\n var returnFocus = React.useCallback(function (allowDefer) {\n var current = originalFocusedElement.current;\n\n if (Boolean(shouldReturnFocus) && current && current.focus) {\n var focusOptions = typeof shouldReturnFocus === 'object' ? shouldReturnFocus : undefined;\n originalFocusedElement.current = null;\n\n if (allowDefer) {\n // React might return focus after update\n // it's safer to defer the action\n Promise.resolve().then(function () {\n return current.focus(focusOptions);\n });\n } else {\n current.focus(focusOptions);\n }\n }\n }, [shouldReturnFocus]); // MEDIUM CALLBACKS\n\n var onFocus = React.useCallback(function (event) {\n if (isActive.current) {\n mediumFocus.useMedium(event);\n }\n }, []);\n var onBlur = mediumBlur.useMedium; // REF PROPAGATION\n // not using real refs due to race conditions\n\n var setObserveNode = React.useCallback(function (newObserved) {\n if (observed.current !== newObserved) {\n observed.current = newObserved;\n setObserved(newObserved);\n }\n }, []);\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof allowTextSelection !== 'undefined') {\n // eslint-disable-next-line no-console\n console.warn('React-Focus-Lock: allowTextSelection is deprecated and enabled by default');\n }\n\n React.useEffect(function () {\n if (!observed.current) {\n // eslint-disable-next-line no-console\n console.error('FocusLock: could not obtain ref to internal node');\n }\n }, []);\n }\n\n var lockProps = _extends((_extends2 = {}, _extends2[constants.FOCUS_DISABLED] = disabled && 'disabled', _extends2[constants.FOCUS_GROUP] = group, _extends2), containerProps);\n\n var hasLeadingGuards = noFocusGuards !== true;\n var hasTailingGuards = hasLeadingGuards && noFocusGuards !== 'tail';\n var mergedRef = useMergeRefs([parentRef, setObserveNode]);\n return /*#__PURE__*/React.createElement(React.Fragment, null, hasLeadingGuards && [/*#__PURE__*/React.createElement(\"div\", {\n key: \"guard-first\",\n \"data-focus-guard\": true,\n tabIndex: disabled ? -1 : 0,\n style: hiddenGuard\n }),\n /*#__PURE__*/\n // nearest focus guard\n React.createElement(\"div\", {\n key: \"guard-nearest\",\n \"data-focus-guard\": true,\n tabIndex: disabled ? -1 : 1,\n style: hiddenGuard\n }) // first tabbed element guard\n ], !disabled && /*#__PURE__*/React.createElement(SideCar, {\n id: id,\n sideCar: mediumSidecar,\n observed: realObserved,\n disabled: disabled,\n persistentFocus: persistentFocus,\n crossFrame: crossFrame,\n autoFocus: autoFocus,\n whiteList: whiteList,\n shards: shards,\n onActivation: onActivation,\n onDeactivation: onDeactivation,\n returnFocus: returnFocus\n }), /*#__PURE__*/React.createElement(Container, _extends({\n ref: mergedRef\n }, lockProps, {\n className: className,\n onBlur: onBlur,\n onFocus: onFocus\n }), children), hasTailingGuards && /*#__PURE__*/React.createElement(\"div\", {\n \"data-focus-guard\": true,\n tabIndex: disabled ? -1 : 0,\n style: hiddenGuard\n }));\n});\nFocusLock.propTypes = process.env.NODE_ENV !== \"production\" ? {\n children: node,\n disabled: bool,\n returnFocus: oneOfType([bool, object]),\n noFocusGuards: bool,\n allowTextSelection: bool,\n autoFocus: bool,\n persistentFocus: bool,\n crossFrame: bool,\n group: string,\n className: string,\n whiteList: func,\n shards: arrayOf(any),\n as: oneOfType([string, func, object]),\n lockProps: object,\n onActivation: func,\n onDeactivation: func,\n sideCar: any.isRequired\n} : {};\nFocusLock.defaultProps = {\n children: undefined,\n disabled: false,\n returnFocus: false,\n noFocusGuards: false,\n autoFocus: true,\n persistentFocus: false,\n crossFrame: true,\n allowTextSelection: undefined,\n group: undefined,\n className: undefined,\n whiteList: undefined,\n shards: undefined,\n as: 'div',\n lockProps: {},\n onActivation: undefined,\n onDeactivation: undefined\n};\nexport default FocusLock;","export function deferAction(action) {\n // Hidding setImmediate from Webpack to avoid inserting polyfill\n var _window = window,\n setImmediate = _window.setImmediate;\n\n if (typeof setImmediate !== 'undefined') {\n setImmediate(action);\n } else {\n setTimeout(action, 1);\n }\n}\nexport var inlineProp = function inlineProp(name, value) {\n var obj = {};\n obj[name] = value;\n return obj;\n};","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport * as constants from 'focus-lock/constants';\nimport { inlineProp } from './util';\n\nvar AutoFocusInside = function AutoFocusInside(_ref) {\n var disabled = _ref.disabled,\n children = _ref.children,\n className = _ref.className;\n return /*#__PURE__*/React.createElement(\"div\", _extends({}, inlineProp(constants.FOCUS_AUTO, !disabled), {\n className: className\n }), children);\n};\n\nAutoFocusInside.propTypes = process.env.NODE_ENV !== \"production\" ? {\n children: PropTypes.node.isRequired,\n disabled: PropTypes.bool,\n className: PropTypes.string\n} : {};\nAutoFocusInside.defaultProps = {\n disabled: false,\n className: undefined\n};\nexport default AutoFocusInside;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport * as constants from 'focus-lock/constants';\nimport { inlineProp } from './util';\nimport { mediumEffect } from './medium';\nexport var useFocusInside = function useFocusInside(observedRef) {\n React.useEffect(function () {\n var enabled = true;\n mediumEffect.useMedium(function (car) {\n var observed = observedRef && observedRef.current;\n\n if (enabled && observed) {\n if (!car.focusInside(observed)) {\n car.moveFocusInside(observed, null);\n }\n }\n });\n return function () {\n enabled = false;\n };\n }, [observedRef]);\n};\n\nfunction MoveFocusInside(_ref) {\n var isDisabled = _ref.disabled,\n className = _ref.className,\n children = _ref.children;\n var ref = React.useRef(null);\n useFocusInside(isDisabled ? undefined : ref);\n return /*#__PURE__*/React.createElement(\"div\", _extends({}, inlineProp(constants.FOCUS_AUTO, !isDisabled), {\n ref: ref,\n className: className\n }), children);\n}\n\nMoveFocusInside.propTypes = process.env.NODE_ENV !== \"production\" ? {\n children: PropTypes.node.isRequired,\n disabled: PropTypes.bool,\n className: PropTypes.string\n} : {};\nMoveFocusInside.defaultProps = {\n disabled: false,\n className: undefined\n};\nexport default MoveFocusInside;","import FocusLockUI from './Lock';\nimport AutoFocusInside from './AutoFocusInside';\nimport MoveFocusInside, { useFocusInside } from './MoveFocusInside';\nimport FreeFocusInside from './FreeFocusInside';\nimport InFocusGuard from './FocusGuard';\nexport { AutoFocusInside, MoveFocusInside, FreeFocusInside, InFocusGuard, FocusLockUI, useFocusInside };\nexport default FocusLockUI;","import { createSidecarMedium } from 'use-sidecar';\nexport var effectCar = createSidecarMedium();\nexport var focusHiddenMarker = 'data-focus-on-hidden';\n","import * as tslib_1 from \"tslib\";\nimport * as React from 'react';\nimport { RemoveScroll } from 'react-remove-scroll/UI';\nimport ReactFocusLock from 'react-focus-lock/UI';\nimport { effectCar } from './medium';\nexport var FocusOn = React.forwardRef(function (props, parentRef) {\n var _a = React.useState(false), lockProps = _a[0], setLockProps = _a[1];\n var children = props.children, autoFocus = props.autoFocus, shards = props.shards, _b = props.enabled, enabled = _b === void 0 ? true : _b, _c = props.scrollLock, scrollLock = _c === void 0 ? true : _c, _d = props.focusLock, focusLock = _d === void 0 ? true : _d, _e = props.returnFocus, returnFocus = _e === void 0 ? true : _e, inert = props.inert, allowPinchZoom = props.allowPinchZoom, sideCar = props.sideCar, className = props.className, shouldIgnore = props.shouldIgnore, style = props.style, as = props.as, rest = tslib_1.__rest(props, [\"children\", \"autoFocus\", \"shards\", \"enabled\", \"scrollLock\", \"focusLock\", \"returnFocus\", \"inert\", \"allowPinchZoom\", \"sideCar\", \"className\", \"shouldIgnore\", \"style\", \"as\"]);\n var SideCar = sideCar;\n var onActivation = lockProps.onActivation, onDeactivation = lockProps.onDeactivation, restProps = tslib_1.__rest(lockProps, [\"onActivation\", \"onDeactivation\"]);\n return (React.createElement(React.Fragment, null,\n React.createElement(ReactFocusLock, { ref: parentRef, sideCar: sideCar, disabled: !(lockProps && enabled && focusLock), returnFocus: returnFocus, autoFocus: autoFocus, shards: shards, onActivation: onActivation, onDeactivation: onDeactivation, className: className, as: RemoveScroll, whiteList: shouldIgnore, lockProps: tslib_1.__assign({}, restProps, { sideCar: sideCar,\n shards: shards,\n allowPinchZoom: allowPinchZoom,\n as: as,\n inert: inert,\n style: style, enabled: enabled && scrollLock }) }, children),\n enabled && (React.createElement(SideCar, tslib_1.__assign({}, rest, { sideCar: effectCar, setLockProps: setLockProps, shards: shards })))));\n});\nexport * from './reExports';\n","import * as tslib_1 from \"tslib\";\nimport * as React from 'react';\nvar SideCar = function (_a) {\n var sideCar = _a.sideCar, rest = tslib_1.__rest(_a, [\"sideCar\"]);\n if (!sideCar) {\n throw new Error('Sidecar: please provide `sideCar` property to import the right car');\n }\n var Target = sideCar.read();\n if (!Target) {\n throw new Error('Sidecar medium not found');\n }\n return React.createElement(Target, tslib_1.__assign({}, rest));\n};\nSideCar.isSideCarExport = true;\nexport function exportSidecar(medium, exported) {\n medium.useMedium(exported);\n return SideCar;\n}\n","import _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';\nimport _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport React, { PureComponent } from 'react';\n\nfunction withSideEffect(reducePropsToState, handleStateChangeOnClient) {\n if (process.env.NODE_ENV !== \"production\") {\n if (typeof reducePropsToState !== 'function') {\n throw new Error('Expected reducePropsToState to be a function.');\n }\n\n if (typeof handleStateChangeOnClient !== 'function') {\n throw new Error('Expected handleStateChangeOnClient to be a function.');\n }\n }\n\n function getDisplayName(WrappedComponent) {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n }\n\n return function wrap(WrappedComponent) {\n if (process.env.NODE_ENV !== \"production\") {\n if (typeof WrappedComponent !== 'function') {\n throw new Error('Expected WrappedComponent to be a React component.');\n }\n }\n\n var mountedInstances = [];\n var state;\n\n function emitChange() {\n state = reducePropsToState(mountedInstances.map(function (instance) {\n return instance.props;\n }));\n handleStateChangeOnClient(state);\n }\n\n var SideEffect =\n /*#__PURE__*/\n function (_PureComponent) {\n _inheritsLoose(SideEffect, _PureComponent);\n\n function SideEffect() {\n return _PureComponent.apply(this, arguments) || this;\n }\n\n // Try to use displayName of wrapped component\n SideEffect.peek = function peek() {\n return state;\n };\n\n var _proto = SideEffect.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n mountedInstances.push(this);\n emitChange();\n };\n\n _proto.componentDidUpdate = function componentDidUpdate() {\n emitChange();\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n var index = mountedInstances.indexOf(this);\n mountedInstances.splice(index, 1);\n emitChange();\n };\n\n _proto.render = function render() {\n return React.createElement(WrappedComponent, this.props);\n };\n\n return SideEffect;\n }(PureComponent);\n\n _defineProperty(SideEffect, \"displayName\", \"SideEffect(\" + getDisplayName(WrappedComponent) + \")\");\n\n return SideEffect;\n };\n}\n\nexport default withSideEffect;\n","export var toArray = function (a) {\n var ret = Array(a.length);\n for (var i = 0; i < a.length; ++i) {\n ret[i] = a[i];\n }\n return ret;\n};\nexport var asArray = function (a) { return (Array.isArray(a) ? a : [a]); };\n","import { FOCUS_DISABLED, FOCUS_GROUP } from '../constants';\nimport { asArray, toArray } from './array';\nvar filterNested = function (nodes) {\n var contained = new Set();\n var l = nodes.length;\n for (var i = 0; i < l; i += 1) {\n for (var j = i + 1; j < l; j += 1) {\n var position = nodes[i].compareDocumentPosition(nodes[j]);\n if ((position & Node.DOCUMENT_POSITION_CONTAINED_BY) > 0) {\n contained.add(j);\n }\n if ((position & Node.DOCUMENT_POSITION_CONTAINS) > 0) {\n contained.add(i);\n }\n }\n }\n return nodes.filter(function (_, index) { return !contained.has(index); });\n};\nvar getTopParent = function (node) {\n return node.parentNode ? getTopParent(node.parentNode) : node;\n};\nexport var getAllAffectedNodes = function (node) {\n var nodes = asArray(node);\n return nodes.filter(Boolean).reduce(function (acc, currentNode) {\n var group = currentNode.getAttribute(FOCUS_GROUP);\n acc.push.apply(acc, (group\n ? filterNested(toArray(getTopParent(currentNode).querySelectorAll(\"[\" + FOCUS_GROUP + \"=\\\"\" + group + \"\\\"]:not([\" + FOCUS_DISABLED + \"=\\\"disabled\\\"])\")))\n : [currentNode]));\n return acc;\n }, []);\n};\n","import { getAllAffectedNodes } from './utils/all-affected';\nimport { toArray } from './utils/array';\nvar focusInFrame = function (frame) { return frame === document.activeElement; };\nvar focusInsideIframe = function (topNode) {\n return Boolean(toArray(topNode.querySelectorAll('iframe')).some(function (node) { return focusInFrame(node); }));\n};\nexport var focusInside = function (topNode) {\n var activeElement = document && document.activeElement;\n if (!activeElement || (activeElement.dataset && activeElement.dataset.focusGuard)) {\n return false;\n }\n return getAllAffectedNodes(topNode).reduce(function (result, node) { return result || node.contains(activeElement) || focusInsideIframe(node); }, false);\n};\n","var isRadio = function (node) { return node.tagName === 'INPUT' && node.type === 'radio'; };\nvar findSelectedRadio = function (node, nodes) {\n return nodes\n .filter(isRadio)\n .filter(function (el) { return el.name === node.name; })\n .filter(function (el) { return el.checked; })[0] || node;\n};\nexport var correctNode = function (node, nodes) {\n if (isRadio(node) && node.name) {\n return findSelectedRadio(node, nodes);\n }\n return node;\n};\nexport var correctNodes = function (nodes) {\n var resultSet = new Set();\n nodes.forEach(function (node) { return resultSet.add(correctNode(node, nodes)); });\n return nodes.filter(function (node) { return resultSet.has(node); });\n};\n","import { correctNode } from './correctFocus';\nexport var pickFirstFocus = function (nodes) {\n if (nodes[0] && nodes.length > 1) {\n return correctNode(nodes[0], nodes);\n }\n return nodes[0];\n};\nexport var pickFocusable = function (nodes, index) {\n if (nodes.length > 1) {\n return nodes.indexOf(correctNode(nodes[index], nodes));\n }\n return index;\n};\n","var isElementHidden = function (computedStyle) {\n if (!computedStyle || !computedStyle.getPropertyValue) {\n return false;\n }\n return (computedStyle.getPropertyValue('display') === 'none' || computedStyle.getPropertyValue('visibility') === 'hidden');\n};\nexport var isVisible = function (node) {\n return !node ||\n node === document ||\n (node && node.nodeType === Node.DOCUMENT_NODE) ||\n (!isElementHidden(window.getComputedStyle(node, null)) &&\n isVisible(node.parentNode && node.parentNode.nodeType === Node.DOCUMENT_FRAGMENT_NODE\n ? node.parentNode.host\n : node.parentNode));\n};\nexport var notHiddenInput = function (node) {\n return !((node.tagName === 'INPUT' || node.tagName === 'BUTTON') && (node.type === 'hidden' || node.disabled));\n};\nexport var isGuard = function (node) { return Boolean(node && node.dataset && node.dataset.focusGuard); };\nexport var isNotAGuard = function (node) { return !isGuard(node); };\nexport var isDefined = function (x) { return Boolean(x); };\n","import { correctNodes } from './utils/correctFocus';\nimport { pickFocusable } from './utils/firstFocus';\nimport { isGuard } from './utils/is';\nexport var NEW_FOCUS = 'NEW_FOCUS';\nexport var newFocus = function (innerNodes, outerNodes, activeElement, lastNode) {\n var cnt = innerNodes.length;\n var firstFocus = innerNodes[0];\n var lastFocus = innerNodes[cnt - 1];\n var isOnGuard = isGuard(activeElement);\n if (innerNodes.indexOf(activeElement) >= 0) {\n return undefined;\n }\n var activeIndex = outerNodes.indexOf(activeElement);\n var lastIndex = lastNode ? outerNodes.indexOf(lastNode) : activeIndex;\n var lastNodeInside = lastNode ? innerNodes.indexOf(lastNode) : -1;\n var indexDiff = activeIndex - lastIndex;\n var firstNodeIndex = outerNodes.indexOf(firstFocus);\n var lastNodeIndex = outerNodes.indexOf(lastFocus);\n var correctedNodes = correctNodes(outerNodes);\n var correctedIndexDiff = correctedNodes.indexOf(activeElement) - (lastNode ? correctedNodes.indexOf(lastNode) : activeIndex);\n var returnFirstNode = pickFocusable(innerNodes, 0);\n var returnLastNode = pickFocusable(innerNodes, cnt - 1);\n if (activeIndex === -1 || lastNodeInside === -1) {\n return NEW_FOCUS;\n }\n if (!indexDiff && lastNodeInside >= 0) {\n return lastNodeInside;\n }\n if (activeIndex <= firstNodeIndex && isOnGuard && Math.abs(indexDiff) > 1) {\n return returnLastNode;\n }\n if (activeIndex >= lastNodeIndex && isOnGuard && Math.abs(indexDiff) > 1) {\n return returnFirstNode;\n }\n if (indexDiff && Math.abs(correctedIndexDiff) > 1) {\n return lastNodeInside;\n }\n if (activeIndex <= firstNodeIndex) {\n return returnLastNode;\n }\n if (activeIndex > lastNodeIndex) {\n return returnFirstNode;\n }\n if (indexDiff) {\n if (Math.abs(indexDiff) > 1) {\n return lastNodeInside;\n }\n return (cnt + lastNodeInside + indexDiff) % cnt;\n }\n return undefined;\n};\n","import { toArray } from './array';\nexport var tabSort = function (a, b) {\n var tabDiff = a.tabIndex - b.tabIndex;\n var indexDiff = a.index - b.index;\n if (tabDiff) {\n if (!a.tabIndex) {\n return 1;\n }\n if (!b.tabIndex) {\n return -1;\n }\n }\n return tabDiff || indexDiff;\n};\nexport var orderByTabIndex = function (nodes, filterNegative, keepGuards) {\n return toArray(nodes)\n .map(function (node, index) { return ({\n node: node,\n index: index,\n tabIndex: keepGuards && node.tabIndex === -1 ? ((node.dataset || {}).focusGuard ? 0 : -1) : node.tabIndex,\n }); })\n .filter(function (data) { return !filterNegative || data.tabIndex >= 0; })\n .sort(tabSort);\n};\n","import { FOCUS_AUTO } from '../constants';\nimport { toArray } from './array';\nimport { tabbables } from './tabbables';\nvar queryTabbables = tabbables.join(',');\nvar queryGuardTabbables = queryTabbables + \", [data-focus-guard]\";\nexport var getFocusables = function (parents, withGuards) {\n return parents.reduce(function (acc, parent) {\n return acc.concat(toArray(parent.querySelectorAll(withGuards ? queryGuardTabbables : queryTabbables)), parent.parentNode\n ? toArray(parent.parentNode.querySelectorAll(queryTabbables)).filter(function (node) { return node === parent; })\n : []);\n }, []);\n};\nexport var getParentAutofocusables = function (parent) {\n var parentFocus = parent.querySelectorAll(\"[\" + FOCUS_AUTO + \"]\");\n return toArray(parentFocus)\n .map(function (node) { return getFocusables([node]); })\n .reduce(function (acc, nodes) { return acc.concat(nodes); }, []);\n};\n","export var tabbables = [\n 'button:enabled',\n 'select:enabled',\n 'textarea:enabled',\n 'input:enabled',\n 'a[href]',\n 'area[href]',\n 'summary',\n 'iframe',\n 'object',\n 'embed',\n 'audio[controls]',\n 'video[controls]',\n '[tabindex]',\n '[contenteditable]',\n '[autofocus]',\n];\n","import { toArray } from './array';\nimport { isVisible, notHiddenInput } from './is';\nimport { orderByTabIndex } from './tabOrder';\nimport { getFocusables, getParentAutofocusables } from './tabUtils';\nexport var filterFocusable = function (nodes) {\n return toArray(nodes)\n .filter(function (node) { return isVisible(node); })\n .filter(function (node) { return notHiddenInput(node); });\n};\nexport var getTabbableNodes = function (topNodes, withGuards) {\n return orderByTabIndex(filterFocusable(getFocusables(topNodes, withGuards)), true, withGuards);\n};\nexport var getAllTabbableNodes = function (topNodes) {\n return orderByTabIndex(filterFocusable(getFocusables(topNodes)), false);\n};\nexport var parentAutofocusables = function (topNode) {\n return filterFocusable(getParentAutofocusables(topNode));\n};\n","import { asArray } from './array';\nimport { parentAutofocusables } from './DOMutils';\nvar getParents = function (node, parents) {\n if (parents === void 0) { parents = []; }\n parents.push(node);\n if (node.parentNode) {\n getParents(node.parentNode, parents);\n }\n return parents;\n};\nexport var getCommonParent = function (nodeA, nodeB) {\n var parentsA = getParents(nodeA);\n var parentsB = getParents(nodeB);\n for (var i = 0; i < parentsA.length; i += 1) {\n var currentParent = parentsA[i];\n if (parentsB.indexOf(currentParent) >= 0) {\n return currentParent;\n }\n }\n return false;\n};\nexport var getTopCommonParent = function (baseActiveElement, leftEntry, rightEntries) {\n var activeElements = asArray(baseActiveElement);\n var leftEntries = asArray(leftEntry);\n var activeElement = activeElements[0];\n var topCommon = false;\n leftEntries.filter(Boolean).forEach(function (entry) {\n topCommon = getCommonParent(topCommon || entry, entry) || topCommon;\n rightEntries.filter(Boolean).forEach(function (subEntry) {\n var common = getCommonParent(activeElement, subEntry);\n if (common) {\n if (!topCommon || common.contains(topCommon)) {\n topCommon = common;\n }\n else {\n topCommon = getCommonParent(common, topCommon);\n }\n }\n });\n });\n return topCommon;\n};\nexport var allParentAutofocusables = function (entries) {\n return entries.reduce(function (acc, node) { return acc.concat(parentAutofocusables(node)); }, []);\n};\n","import { NEW_FOCUS, newFocus } from './solver';\nimport { getAllAffectedNodes } from './utils/all-affected';\nimport { getAllTabbableNodes, getTabbableNodes } from './utils/DOMutils';\nimport { pickFirstFocus } from './utils/firstFocus';\nimport { isDefined, isNotAGuard } from './utils/is';\nimport { allParentAutofocusables, getTopCommonParent } from './utils/parenting';\nvar findAutoFocused = function (autoFocusables) { return function (node) {\n return node.autofocus || (node.dataset && !!node.dataset.autofocus) || autoFocusables.indexOf(node) >= 0;\n}; };\nvar reorderNodes = function (srcNodes, dstNodes) {\n var remap = new Map();\n dstNodes.forEach(function (entity) { return remap.set(entity.node, entity); });\n return srcNodes.map(function (node) { return remap.get(node); }).filter(isDefined);\n};\nexport var getFocusMerge = function (topNode, lastNode) {\n var activeElement = (document && document.activeElement);\n var entries = getAllAffectedNodes(topNode).filter(isNotAGuard);\n var commonParent = getTopCommonParent(activeElement || topNode, topNode, entries);\n var anyFocusable = getAllTabbableNodes(entries);\n var innerElements = getTabbableNodes(entries).filter(function (_a) {\n var node = _a.node;\n return isNotAGuard(node);\n });\n if (!innerElements[0]) {\n innerElements = anyFocusable;\n if (!innerElements[0]) {\n return undefined;\n }\n }\n var outerNodes = getAllTabbableNodes([commonParent]).map(function (_a) {\n var node = _a.node;\n return node;\n });\n var orderedInnerElements = reorderNodes(outerNodes, innerElements);\n var innerNodes = orderedInnerElements.map(function (_a) {\n var node = _a.node;\n return node;\n });\n var newId = newFocus(innerNodes, outerNodes, activeElement, lastNode);\n if (newId === NEW_FOCUS) {\n var autoFocusable = anyFocusable\n .map(function (_a) {\n var node = _a.node;\n return node;\n })\n .filter(findAutoFocused(allParentAutofocusables(entries)));\n return {\n node: autoFocusable && autoFocusable.length ? pickFirstFocus(autoFocusable) : pickFirstFocus(innerNodes),\n };\n }\n if (newId === undefined) {\n return newId;\n }\n return orderedInnerElements[newId];\n};\n","import { getFocusMerge } from './focusMerge';\nexport var focusOn = function (target) {\n target.focus();\n if ('contentWindow' in target && target.contentWindow) {\n target.contentWindow.focus();\n }\n};\nvar guardCount = 0;\nvar lockDisabled = false;\nexport var setFocus = function (topNode, lastNode) {\n var focusable = getFocusMerge(topNode, lastNode);\n if (lockDisabled) {\n return;\n }\n if (focusable) {\n if (guardCount > 2) {\n console.error('FocusLock: focus-fighting detected. Only one focus management system could be active. ' +\n 'See https://github.com/theKashey/focus-lock/#focus-fighting');\n lockDisabled = true;\n setTimeout(function () {\n lockDisabled = false;\n }, 1);\n return;\n }\n guardCount++;\n focusOn(focusable.node);\n guardCount--;\n }\n};\n","import * as constants from './constants';\nimport { getFocusabledIn } from './focusables';\nimport { focusInside } from './focusInside';\nimport { focusIsHidden } from './focusIsHidden';\nimport { getFocusMerge as focusMerge } from './focusMerge';\nimport { setFocus } from './setFocus';\nimport { focusNextElement, focusPrevElement } from './sibling';\nimport tabHook from './tabHook';\nimport { getAllAffectedNodes } from './utils/all-affected';\nexport { tabHook, focusInside, focusIsHidden, focusMerge, getFocusabledIn, constants, getAllAffectedNodes, focusNextElement, focusPrevElement, };\nexport default setFocus;\n","import * as React from 'react';\nimport PropTypes from 'prop-types';\nimport withSideEffect from 'react-clientside-effect';\nimport moveFocusInside, { focusInside, focusIsHidden, getFocusabledIn } from 'focus-lock';\nimport { deferAction } from './util';\nimport { mediumFocus, mediumBlur, mediumEffect } from './medium';\n\nvar focusOnBody = function focusOnBody() {\n return document && document.activeElement === document.body;\n};\n\nvar isFreeFocus = function isFreeFocus() {\n return focusOnBody() || focusIsHidden();\n};\n\nvar lastActiveTrap = null;\nvar lastActiveFocus = null;\nvar lastPortaledElement = null;\nvar focusWasOutsideWindow = false;\n\nvar defaultWhitelist = function defaultWhitelist() {\n return true;\n};\n\nvar focusWhitelisted = function focusWhitelisted(activeElement) {\n return (lastActiveTrap.whiteList || defaultWhitelist)(activeElement);\n};\n\nvar recordPortal = function recordPortal(observerNode, portaledElement) {\n lastPortaledElement = {\n observerNode: observerNode,\n portaledElement: portaledElement\n };\n};\n\nvar focusIsPortaledPair = function focusIsPortaledPair(element) {\n return lastPortaledElement && lastPortaledElement.portaledElement === element;\n};\n\nfunction autoGuard(startIndex, end, step, allNodes) {\n var lastGuard = null;\n var i = startIndex;\n\n do {\n var item = allNodes[i];\n\n if (item.guard) {\n if (item.node.dataset.focusAutoGuard) {\n lastGuard = item;\n }\n } else if (item.lockItem) {\n if (i !== startIndex) {\n // we will tab to the next element\n return;\n }\n\n lastGuard = null;\n } else {\n break;\n }\n } while ((i += step) !== end);\n\n if (lastGuard) {\n lastGuard.node.tabIndex = 0;\n }\n}\n\nvar extractRef = function extractRef(ref) {\n return ref && 'current' in ref ? ref.current : ref;\n};\n\nvar focusWasOutside = function focusWasOutside(crossFrameOption) {\n if (crossFrameOption) {\n // with cross frame return true for any value\n return Boolean(focusWasOutsideWindow);\n } // in other case return only of focus went a while aho\n\n\n return focusWasOutsideWindow === 'meanwhile';\n};\n\nvar activateTrap = function activateTrap() {\n var result = false;\n\n if (lastActiveTrap) {\n var _lastActiveTrap = lastActiveTrap,\n observed = _lastActiveTrap.observed,\n persistentFocus = _lastActiveTrap.persistentFocus,\n autoFocus = _lastActiveTrap.autoFocus,\n shards = _lastActiveTrap.shards,\n crossFrame = _lastActiveTrap.crossFrame;\n var workingNode = observed || lastPortaledElement && lastPortaledElement.portaledElement;\n var activeElement = document && document.activeElement;\n\n if (workingNode) {\n var workingArea = [workingNode].concat(shards.map(extractRef).filter(Boolean));\n\n if (!activeElement || focusWhitelisted(activeElement)) {\n if (persistentFocus || focusWasOutside(crossFrame) || !isFreeFocus() || !lastActiveFocus && autoFocus) {\n if (workingNode && !(focusInside(workingArea) || focusIsPortaledPair(activeElement, workingNode))) {\n if (document && !lastActiveFocus && activeElement && !autoFocus) {\n // Check if blur() exists, which is missing on certain elements on IE\n if (activeElement.blur) {\n activeElement.blur();\n }\n\n document.body.focus();\n } else {\n result = moveFocusInside(workingArea, lastActiveFocus);\n lastPortaledElement = {};\n }\n }\n\n focusWasOutsideWindow = false;\n lastActiveFocus = document && document.activeElement;\n }\n }\n\n if (document) {\n var newActiveElement = document && document.activeElement;\n var allNodes = getFocusabledIn(workingArea);\n var focusedIndex = allNodes.map(function (_ref) {\n var node = _ref.node;\n return node;\n }).indexOf(newActiveElement);\n\n if (focusedIndex > -1) {\n // remove old focus\n allNodes.filter(function (_ref2) {\n var guard = _ref2.guard,\n node = _ref2.node;\n return guard && node.dataset.focusAutoGuard;\n }).forEach(function (_ref3) {\n var node = _ref3.node;\n return node.removeAttribute('tabIndex');\n });\n autoGuard(focusedIndex, allNodes.length, +1, allNodes);\n autoGuard(focusedIndex, -1, -1, allNodes);\n }\n }\n }\n }\n\n return result;\n};\n\nvar onTrap = function onTrap(event) {\n if (activateTrap() && event) {\n // prevent scroll jump\n event.stopPropagation();\n event.preventDefault();\n }\n};\n\nvar onBlur = function onBlur() {\n return deferAction(activateTrap);\n};\n\nvar onFocus = function onFocus(event) {\n // detect portal\n var source = event.target;\n var currentNode = event.currentTarget;\n\n if (!currentNode.contains(source)) {\n recordPortal(currentNode, source);\n }\n};\n\nvar FocusWatcher = function FocusWatcher() {\n return null;\n};\n\nvar FocusTrap = function FocusTrap(_ref4) {\n var children = _ref4.children;\n return /*#__PURE__*/React.createElement(\"div\", {\n onBlur: onBlur,\n onFocus: onFocus\n }, children);\n};\n\nFocusTrap.propTypes = process.env.NODE_ENV !== \"production\" ? {\n children: PropTypes.node.isRequired\n} : {};\n\nvar onWindowBlur = function onWindowBlur() {\n focusWasOutsideWindow = 'just'; // using setTimeout to set this variable after React/sidecar reaction\n\n setTimeout(function () {\n focusWasOutsideWindow = 'meanwhile';\n }, 0);\n};\n\nvar attachHandler = function attachHandler() {\n document.addEventListener('focusin', onTrap, true);\n document.addEventListener('focusout', onBlur);\n window.addEventListener('blur', onWindowBlur);\n};\n\nvar detachHandler = function detachHandler() {\n document.removeEventListener('focusin', onTrap, true);\n document.removeEventListener('focusout', onBlur);\n window.removeEventListener('blur', onWindowBlur);\n};\n\nfunction reducePropsToState(propsList) {\n return propsList.filter(function (_ref5) {\n var disabled = _ref5.disabled;\n return !disabled;\n });\n}\n\nfunction handleStateChangeOnClient(traps) {\n var trap = traps.slice(-1)[0];\n\n if (trap && !lastActiveTrap) {\n attachHandler();\n }\n\n var lastTrap = lastActiveTrap;\n var sameTrap = lastTrap && trap && trap.id === lastTrap.id;\n lastActiveTrap = trap;\n\n if (lastTrap && !sameTrap) {\n lastTrap.onDeactivation(); // return focus only of last trap was removed\n\n if (!traps.filter(function (_ref6) {\n var id = _ref6.id;\n return id === lastTrap.id;\n }).length) {\n // allow defer is no other trap is awaiting restore\n lastTrap.returnFocus(!trap);\n }\n }\n\n if (trap) {\n lastActiveFocus = null;\n\n if (!sameTrap || lastTrap.observed !== trap.observed) {\n trap.onActivation();\n }\n\n activateTrap(true);\n deferAction(activateTrap);\n } else {\n detachHandler();\n lastActiveFocus = null;\n }\n} // bind medium\n\n\nmediumFocus.assignSyncMedium(onFocus);\nmediumBlur.assignMedium(onBlur);\nmediumEffect.assignMedium(function (cb) {\n return cb({\n moveFocusInside: moveFocusInside,\n focusInside: focusInside\n });\n});\nexport default withSideEffect(reducePropsToState, handleStateChangeOnClient)(FocusWatcher);","import { FOCUS_ALLOW } from './constants';\nimport { toArray } from './utils/array';\nexport var focusIsHidden = function () {\n return document &&\n toArray(document.querySelectorAll(\"[\" + FOCUS_ALLOW + \"]\")).some(function (node) { return node.contains(document.activeElement); });\n};\n","import { getAllAffectedNodes } from './utils/all-affected';\nimport { getTabbableNodes } from './utils/DOMutils';\nimport { isGuard, isNotAGuard } from './utils/is';\nimport { getTopCommonParent } from './utils/parenting';\nexport var getFocusabledIn = function (topNode) {\n var entries = getAllAffectedNodes(topNode).filter(isNotAGuard);\n var commonParent = getTopCommonParent(topNode, topNode, entries);\n var outerNodes = getTabbableNodes([commonParent], true);\n var innerElements = getTabbableNodes(entries)\n .filter(function (_a) {\n var node = _a.node;\n return isNotAGuard(node);\n })\n .map(function (_a) {\n var node = _a.node;\n return node;\n });\n return outerNodes.map(function (_a) {\n var node = _a.node, index = _a.index;\n return ({\n node: node,\n index: index,\n lockItem: innerElements.indexOf(node) >= 0,\n guard: isGuard(node),\n });\n });\n};\n","var currentNonce;\nexport var setNonce = function (nonce) {\n currentNonce = nonce;\n};\nexport var getNonce = function () {\n if (currentNonce) {\n return currentNonce;\n }\n if (typeof __webpack_nonce__ !== 'undefined') {\n return __webpack_nonce__;\n }\n return undefined;\n};\n","import { exportSidecar } from 'use-sidecar';\nimport FocusTrap from './Trap';\nimport { mediumSidecar } from './medium';\nexport default exportSidecar(mediumSidecar, FocusTrap);","import { getNonce } from \"get-nonce\";\nfunction makeStyleTag() {\n if (!document)\n return null;\n var tag = document.createElement('style');\n tag.type = 'text/css';\n var nonce = getNonce();\n if (nonce) {\n tag.setAttribute('nonce', nonce);\n }\n return tag;\n}\nfunction injectStyles(tag, css) {\n if (tag.styleSheet) {\n tag.styleSheet.cssText = css;\n }\n else {\n tag.appendChild(document.createTextNode(css));\n }\n}\nfunction insertStyleTag(tag) {\n var head = document.head || document.getElementsByTagName('head')[0];\n head.appendChild(tag);\n}\nexport var stylesheetSingleton = function () {\n var counter = 0;\n var stylesheet = null;\n return {\n add: function (style) {\n if (counter == 0) {\n if (stylesheet = makeStyleTag()) {\n injectStyles(stylesheet, style);\n insertStyleTag(stylesheet);\n }\n }\n counter++;\n },\n remove: function () {\n counter--;\n if (!counter && stylesheet) {\n stylesheet.parentNode && stylesheet.parentNode.removeChild(stylesheet);\n stylesheet = null;\n }\n }\n };\n};\n","import { styleHookSingleton } from \"./hook\";\nexport var styleSingleton = function () {\n var useStyle = styleHookSingleton();\n var Sheet = function (_a) {\n var styles = _a.styles;\n useStyle(styles);\n return null;\n };\n return Sheet;\n};\n","import * as React from 'react';\nimport { stylesheetSingleton } from \"./singleton\";\nexport var styleHookSingleton = function () {\n var sheet = stylesheetSingleton();\n return function (styles) {\n React.useEffect(function () {\n sheet.add(styles);\n return function () {\n sheet.remove();\n };\n }, []);\n };\n};\n","export var zeroGap = {\n left: 0,\n top: 0,\n right: 0,\n gap: 0,\n};\nvar parse = function (x) { return parseInt(x || '', 10) || 0; };\nvar getOffset = function (gapMode) {\n var cs = window.getComputedStyle(document.body);\n var left = cs[gapMode === 'padding' ? 'paddingLeft' : 'marginLeft'];\n var top = cs[gapMode === 'padding' ? 'paddingTop' : 'marginTop'];\n var right = cs[gapMode === 'padding' ? 'paddingRight' : 'marginRight'];\n return [\n parse(left),\n parse(top),\n parse(right),\n ];\n};\nexport var getGapWidth = function (gapMode) {\n if (gapMode === void 0) { gapMode = 'margin'; }\n if (typeof window === 'undefined') {\n return zeroGap;\n }\n var offsets = getOffset(gapMode);\n var documentWidth = document.documentElement.clientWidth;\n var windowWidth = window.innerWidth;\n return {\n left: offsets[0],\n top: offsets[1],\n right: offsets[2],\n gap: Math.max(0, windowWidth - documentWidth + offsets[2] - offsets[0]),\n };\n};\n","import * as React from 'react';\nimport { styleSingleton } from 'react-style-singleton';\nimport { getGapWidth } from './utils';\nimport { fullWidthClassName, zeroRightClassName, noScrollbarsClassName } from \"./constants\";\nvar Style = styleSingleton();\nvar getStyles = function (_a, allowRelative, gapMode, important) {\n var left = _a.left, top = _a.top, right = _a.right, gap = _a.gap;\n if (gapMode === void 0) { gapMode = 'margin'; }\n return \"\\n .\" + noScrollbarsClassName + \" {\\n overflow: hidden \" + important + \";\\n padding-right: \" + gap + \"px \" + important + \";\\n }\\n body {\\n overflow: hidden \" + important + \";\\n \" + [\n allowRelative && \"position: relative \" + important + \";\",\n gapMode === 'margin' && \"\\n padding-left: \" + left + \"px;\\n padding-top: \" + top + \"px;\\n padding-right: \" + right + \"px;\\n margin-left:0;\\n margin-top:0;\\n margin-right: \" + gap + \"px \" + important + \";\\n \",\n gapMode === 'padding' && \"padding-right: \" + gap + \"px \" + important + \";\",\n ].filter(Boolean).join('') + \"\\n }\\n \\n .\" + zeroRightClassName + \" {\\n right: \" + gap + \"px \" + important + \";\\n }\\n \\n .\" + fullWidthClassName + \" {\\n margin-right: \" + gap + \"px \" + important + \";\\n }\\n \\n .\" + zeroRightClassName + \" .\" + zeroRightClassName + \" {\\n right: 0 \" + important + \";\\n }\\n \\n .\" + fullWidthClassName + \" .\" + fullWidthClassName + \" {\\n margin-right: 0 \" + important + \";\\n }\\n\";\n};\nexport var RemoveScrollBar = function (props) {\n var _a = React.useState(getGapWidth(props.gapMode)), gap = _a[0], setGap = _a[1];\n React.useEffect(function () {\n setGap(getGapWidth(props.gapMode));\n }, [props.gapMode]);\n var noRelative = props.noRelative, noImportant = props.noImportant, _b = props.gapMode, gapMode = _b === void 0 ? 'margin' : _b;\n return React.createElement(Style, { styles: getStyles(gap, !noRelative, gapMode, !noImportant ? \"!important\" : '') });\n};\n","var elementCouldBeVScrolled = function (node) {\n var styles = window.getComputedStyle(node);\n return (styles.overflowY !== 'hidden' && // not-not-scrollable\n !(styles.overflowY === styles.overflowX && styles.overflowY === 'visible') // scrollable\n );\n};\nvar elementCouldBeHScrolled = function (node) {\n var styles = window.getComputedStyle(node);\n return (styles.overflowX !== 'hidden' && // not-not-scrollable\n !(styles.overflowY === styles.overflowX && styles.overflowX === 'visible') // scrollable\n );\n};\nexport var locationCouldBeScrolled = function (axis, node) {\n var current = node;\n do {\n var isScrollable = elementCouldBeScrolled(axis, current);\n if (isScrollable) {\n var _a = getScrollVariables(axis, current), s = _a[1], d = _a[2];\n if (s > d) {\n return true;\n }\n }\n current = current.parentNode;\n } while (current && current !== document.body);\n return false;\n};\nvar getVScrollVariables = function (_a) {\n var scrollTop = _a.scrollTop, scrollHeight = _a.scrollHeight, clientHeight = _a.clientHeight;\n return [scrollTop, scrollHeight, clientHeight];\n};\nvar getHScrollVariables = function (_a) {\n var scrollLeft = _a.scrollLeft, scrollWidth = _a.scrollWidth, clientWidth = _a.clientWidth;\n return [scrollLeft, scrollWidth, clientWidth];\n};\nvar elementCouldBeScrolled = function (axis, node) {\n return axis === 'v' ? elementCouldBeVScrolled(node) : elementCouldBeHScrolled(node);\n};\nvar getScrollVariables = function (axis, node) {\n return axis === 'v' ? getVScrollVariables(node) : getHScrollVariables(node);\n};\nexport var handleScroll = function (axis, endTarget, event, sourceDelta, noOverscroll) {\n var delta = sourceDelta;\n // find scrollable target\n var target = event.target;\n var targetInLock = endTarget.contains(target);\n var shouldCancelScroll = false;\n var isDeltaPositive = delta > 0;\n var availableScroll = 0;\n var availableScrollTop = 0;\n do {\n var _a = getScrollVariables(axis, target), position = _a[0], scroll_1 = _a[1], capacity = _a[2];\n var elementScroll = scroll_1 - capacity - position;\n if (position || elementScroll) {\n if (elementCouldBeScrolled(axis, target)) {\n availableScroll += elementScroll;\n availableScrollTop += position;\n }\n }\n target = target.parentNode;\n } while (\n // portaled content\n (!targetInLock && target !== document.body) ||\n // self content\n (targetInLock && (endTarget.contains(target) || endTarget === target)));\n if (isDeltaPositive &&\n ((noOverscroll && availableScroll === 0) ||\n (!noOverscroll && delta > availableScroll))) {\n shouldCancelScroll = true;\n }\n else if (!isDeltaPositive &&\n ((noOverscroll && availableScrollTop === 0) ||\n (!noOverscroll && -delta > availableScrollTop))) {\n shouldCancelScroll = true;\n }\n return shouldCancelScroll;\n};\n","var passiveSupported = false;\nif (typeof window !== 'undefined') {\n try {\n var options = Object.defineProperty({}, 'passive', {\n get: function () {\n passiveSupported = true;\n return true;\n }\n });\n window.addEventListener('test', options, options);\n window.removeEventListener('test', options, options);\n }\n catch (err) {\n passiveSupported = false;\n }\n}\nexport var nonPassive = passiveSupported ? { passive: false } : false;\n","import * as React from 'react';\nimport { RemoveScrollBar } from 'react-remove-scroll-bar';\nimport { styleSingleton } from 'react-style-singleton';\nimport { handleScroll, locationCouldBeScrolled } from './handleScroll';\nimport { nonPassive } from './aggresiveCapture';\nexport var getTouchXY = function (event) {\n return 'changedTouches' in event\n ? [event.changedTouches[0].clientX, event.changedTouches[0].clientY]\n : [0, 0];\n};\nexport var getDeltaXY = function (event) { return [event.deltaX, event.deltaY]; };\nvar extractRef = function (ref) {\n return ref && 'current' in ref ? ref.current : ref;\n};\nvar deltaCompare = function (x, y) {\n return x[0] === y[0] && x[1] === y[1];\n};\nvar generateStyle = function (id) { return \"\\n .block-interactivity-\" + id + \" {pointer-events: none;}\\n .allow-interactivity-\" + id + \" {pointer-events: all;}\\n\"; };\nvar idCounter = 0;\nvar lockStack = [];\nexport function RemoveScrollSideCar(props) {\n var shouldPreventQueue = React.useRef([]);\n var touchStartRef = React.useRef([0, 0]);\n var activeAxis = React.useRef();\n var id = React.useState(idCounter++)[0];\n var Style = React.useState(function () { return styleSingleton(); })[0];\n var lastProps = React.useRef(props);\n React.useEffect(function () {\n lastProps.current = props;\n }, [props]);\n React.useEffect(function () {\n if (props.inert) {\n document.body.classList.add(\"block-interactivity-\" + id);\n var allow_1 = [\n props.lockRef.current\n ].concat((props.shards || []).map(extractRef)).filter(Boolean);\n allow_1.forEach(function (el) { return el.classList.add(\"allow-interactivity-\" + id); });\n return function () {\n document.body.classList.remove(\"block-interactivity-\" + id);\n allow_1.forEach(function (el) {\n return el.classList.remove(\"allow-interactivity-\" + id);\n });\n };\n }\n return;\n }, [props.inert, props.lockRef.current, props.shards]);\n var shouldCancelEvent = React.useCallback(function (event, parent) {\n if ('touches' in event && event.touches.length === 2) {\n return !lastProps.current.allowPinchZoom;\n }\n var touch = getTouchXY(event);\n var touchStart = touchStartRef.current;\n var deltaX = 'deltaX' in event ? event.deltaX : touchStart[0] - touch[0];\n var deltaY = 'deltaY' in event ? event.deltaY : touchStart[1] - touch[1];\n var currentAxis;\n var target = event.target;\n var moveDirection = Math.abs(deltaX) > Math.abs(deltaY) ? 'h' : 'v';\n var canBeScrolledInMainDirection = locationCouldBeScrolled(moveDirection, target);\n if (!canBeScrolledInMainDirection) {\n return true;\n }\n if (canBeScrolledInMainDirection) {\n currentAxis = moveDirection;\n }\n else {\n currentAxis = moveDirection === 'v' ? 'h' : 'v';\n canBeScrolledInMainDirection = locationCouldBeScrolled(moveDirection, target);\n // other axis might be not scrollable\n }\n if (!canBeScrolledInMainDirection) {\n return false;\n }\n if (!activeAxis.current &&\n 'changedTouches' in event &&\n (deltaX || deltaY)) {\n activeAxis.current = currentAxis;\n }\n if (!currentAxis) {\n return true;\n }\n var cancelingAxis = activeAxis.current || currentAxis;\n return handleScroll(cancelingAxis, parent, event, cancelingAxis === 'h' ? deltaX : deltaY, true);\n }, []);\n var shouldPrevent = React.useCallback(function (_event) {\n var event = _event;\n if (!lockStack.length || lockStack[lockStack.length - 1] !== Style) {\n // not the last active\n return;\n }\n var delta = 'deltaY' in event ? getDeltaXY(event) : getTouchXY(event);\n var sourceEvent = shouldPreventQueue.current.filter(function (e) {\n return e.name === event.type &&\n e.target === event.target &&\n deltaCompare(e.delta, delta);\n })[0];\n // self event, and should be canceled\n if (sourceEvent && sourceEvent.should) {\n event.preventDefault();\n return;\n }\n // outside or shard event\n if (!sourceEvent) {\n var shardNodes = (lastProps.current.shards || [])\n .map(extractRef)\n .filter(Boolean)\n .filter(function (node) { return node.contains(event.target); });\n var shouldStop = shardNodes.length > 0\n ? shouldCancelEvent(event, shardNodes[0])\n : !lastProps.current.noIsolation;\n if (shouldStop) {\n event.preventDefault();\n }\n }\n }, []);\n var shouldCancel = React.useCallback(function (name, delta, target, should) {\n var event = { name: name, delta: delta, target: target, should: should };\n shouldPreventQueue.current.push(event);\n setTimeout(function () {\n shouldPreventQueue.current = shouldPreventQueue.current.filter(function (e) { return e !== event; });\n }, 1);\n }, []);\n var scrollTouchStart = React.useCallback(function (event) {\n touchStartRef.current = getTouchXY(event);\n activeAxis.current = undefined;\n }, []);\n var scrollWheel = React.useCallback(function (event) {\n shouldCancel(event.type, getDeltaXY(event), event.target, shouldCancelEvent(event, props.lockRef.current));\n }, []);\n var scrollTouchMove = React.useCallback(function (event) {\n shouldCancel(event.type, getTouchXY(event), event.target, shouldCancelEvent(event, props.lockRef.current));\n }, []);\n React.useEffect(function () {\n lockStack.push(Style);\n props.setCallbacks({\n onScrollCapture: scrollWheel,\n onWheelCapture: scrollWheel,\n onTouchMoveCapture: scrollTouchMove\n });\n document.addEventListener('wheel', shouldPrevent, nonPassive);\n document.addEventListener('touchmove', shouldPrevent, nonPassive);\n document.addEventListener('touchstart', scrollTouchStart, nonPassive);\n return function () {\n lockStack = lockStack.filter(function (inst) { return inst !== Style; });\n document.removeEventListener('wheel', shouldPrevent, nonPassive);\n document.removeEventListener('touchmove', shouldPrevent, nonPassive);\n document.removeEventListener('touchstart', scrollTouchStart, nonPassive);\n };\n }, []);\n var removeScrollBar = props.removeScrollBar, inert = props.inert;\n return (React.createElement(React.Fragment, null,\n inert ? React.createElement(Style, { styles: generateStyle(id) }) : null,\n removeScrollBar ? React.createElement(RemoveScrollBar, { gapMode: \"margin\" }) : null));\n}\n","import { exportSidecar } from 'use-sidecar';\nimport { RemoveScrollSideCar } from './SideEffect';\nimport { effectCar } from './medium';\nexport default exportSidecar(effectCar, RemoveScrollSideCar);\n","var defaultParent = typeof document !== 'undefined' ? document.body : null;\nvar counterMap = new WeakMap();\nvar uncontrolledNodes = new WeakMap();\nvar markerMap = {};\nvar lockCount = 0;\nexport var hideOthers = function (originalTarget, parentNode, markerName) {\n if (parentNode === void 0) { parentNode = defaultParent; }\n if (markerName === void 0) { markerName = \"data-aria-hidden\"; }\n var targets = Array.isArray(originalTarget) ? originalTarget : [originalTarget];\n if (!markerMap[markerName]) {\n markerMap[markerName] = new WeakMap();\n }\n var markerCounter = markerMap[markerName];\n var hiddenNodes = [];\n var deep = function (parent) {\n if (!parent || targets.indexOf(parent) >= 0) {\n return;\n }\n Array.prototype.forEach.call(parent.children, function (node) {\n if (targets.some(function (target) { return node.contains(target); })) {\n deep(node);\n }\n else {\n var attr = node.getAttribute('aria-hidden');\n var alreadyHidden = attr !== null && attr !== 'false';\n var counterValue = (counterMap.get(node) || 0) + 1;\n var markerValue = (markerCounter.get(node) || 0) + 1;\n counterMap.set(node, counterValue);\n markerCounter.set(node, markerValue);\n hiddenNodes.push(node);\n if (counterValue === 1 && alreadyHidden) {\n uncontrolledNodes.set(node, true);\n }\n if (markerValue === 1) {\n node.setAttribute(markerName, 'true');\n }\n if (!alreadyHidden) {\n node.setAttribute('aria-hidden', 'true');\n }\n }\n });\n };\n deep(parentNode);\n lockCount++;\n return function () {\n hiddenNodes.forEach(function (node) {\n var counterValue = counterMap.get(node) - 1;\n var markerValue = markerCounter.get(node) - 1;\n counterMap.set(node, counterValue);\n markerCounter.set(node, markerValue);\n if (!counterValue) {\n if (!uncontrolledNodes.has(node)) {\n node.removeAttribute('aria-hidden');\n }\n uncontrolledNodes.delete(node);\n }\n if (!markerValue) {\n node.removeAttribute(markerName);\n }\n });\n lockCount--;\n if (!lockCount) {\n counterMap = new WeakMap();\n counterMap = new WeakMap();\n uncontrolledNodes = new WeakMap();\n markerMap = {};\n }\n };\n};\n","import * as React from 'react';\nimport { styleSingleton } from 'react-style-singleton';\nimport { focusHiddenMarker } from './medium';\nvar Style = styleSingleton();\nvar styles = \"\\n [\" + focusHiddenMarker + \"] {\\n pointer-events: none !important;\\n }\\n\";\nexport var InteractivityDisabler = function () { return React.createElement(Style, { styles: styles }); };\n","import * as React from 'react';\nimport { hideOthers } from 'aria-hidden';\nimport { InteractivityDisabler } from './InteractivityDisabler';\nimport { focusHiddenMarker } from './medium';\nimport { useEffect, useRef, useState } from 'react';\nvar extractRef = function (ref) {\n return 'current' in ref ? ref.current : ref;\n};\nexport function Effect(_a) {\n var setLockProps = _a.setLockProps, onEscapeKey = _a.onEscapeKey, onClickOutside = _a.onClickOutside, shards = _a.shards, onActivation = _a.onActivation, onDeactivation = _a.onDeactivation, noIsolation = _a.noIsolation;\n var _b = useState(undefined), activeNode = _b[0], setActiveNode = _b[1];\n var lastEventTarget = useRef(null);\n var mouseTouches = useRef(0);\n React.useEffect(function () {\n var onKeyDown = function (event) {\n if (!event.defaultPrevented) {\n if ((event.code === 'Escape' ||\n event.key === 'Escape' ||\n event.keyCode === 27) &&\n onEscapeKey) {\n onEscapeKey(event);\n }\n }\n };\n var onMouseDown = function (event) {\n if (event.defaultPrevented ||\n event.target === lastEventTarget.current ||\n (event instanceof MouseEvent && event.button !== 0)) {\n return;\n }\n if (shards &&\n shards\n .map(extractRef)\n .some(function (node) {\n return (node && node.contains(event.target)) ||\n node === event.target;\n })) {\n return;\n }\n if (onClickOutside) {\n onClickOutside(event);\n }\n };\n var onTouchStart = function (event) {\n onMouseDown(event);\n mouseTouches.current = event.touches.length;\n };\n var onTouchEnd = function (event) {\n mouseTouches.current = event.touches.length;\n };\n if (activeNode) {\n document.addEventListener('keydown', onKeyDown);\n document.addEventListener('mousedown', onMouseDown);\n document.addEventListener('touchstart', onTouchStart);\n document.addEventListener('touchend', onTouchEnd);\n return function () {\n document.removeEventListener('keydown', onKeyDown);\n document.removeEventListener('mousedown', onMouseDown);\n document.removeEventListener('touchstart', onTouchStart);\n document.removeEventListener('touchend', onTouchEnd);\n };\n }\n }, [activeNode, onClickOutside, onEscapeKey]);\n useEffect(function () {\n if (activeNode) {\n if (onActivation) {\n onActivation(activeNode);\n }\n return function () {\n if (onDeactivation) {\n onDeactivation();\n }\n };\n }\n }, [!!activeNode]);\n useEffect(function () {\n var _undo = function () { return null; };\n var unmounted = false;\n var onNodeActivation = function (node) {\n _undo = hideOthers([node].concat((shards || []).map(extractRef)), document.body, noIsolation ? undefined : focusHiddenMarker);\n setActiveNode(function () { return node; });\n };\n var onNodeDeactivation = function () {\n _undo();\n if (!unmounted) {\n setActiveNode(null);\n }\n };\n setLockProps({\n onMouseDown: function (e) {\n lastEventTarget.current = e.target;\n },\n onTouchStart: function (e) {\n lastEventTarget.current = e.target;\n },\n onActivation: onNodeActivation,\n onDeactivation: onNodeDeactivation\n });\n return function () {\n unmounted = true;\n setLockProps(false);\n };\n }, []);\n return React.createElement(InteractivityDisabler, null);\n}\n","import { exportSidecar } from 'use-sidecar';\nimport 'react-focus-lock/sidecar';\nimport 'react-remove-scroll/sidecar';\nimport { Effect } from './Effect';\nimport { effectCar } from './medium';\nexport default exportSidecar(effectCar, Effect);\n","import * as tslib_1 from \"tslib\";\nimport * as React from 'react';\nimport { FocusOn as ReactFocusOn } from './UI';\nimport SideCar from './sidecar';\nvar RequireSideCar = function (props) {\n return React.createElement(SideCar, tslib_1.__assign({}, props));\n};\nexport var FocusOn = React.forwardRef(function (props, ref) { return React.createElement(ReactFocusOn, tslib_1.__assign({}, props, { ref: ref, sideCar: RequireSideCar })); });\n","import * as tslib_1 from \"tslib\";\nimport { RemoveScroll } from 'react-remove-scroll/UI';\nexport { AutoFocusInside, MoveFocusInside, InFocusGuard } from 'react-focus-lock/UI';\nexport var classNames = tslib_1.__assign({}, RemoveScroll.classNames);\n","export { FocusOn } from './Combination';\nexport * from './reExports';\n","'use strict';\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _TransitionGroup = require('./TransitionGroup');\n\nvar _TransitionGroup2 = _interopRequireDefault(_TransitionGroup);\n\nvar _CSSTransitionGroupChild = require('./CSSTransitionGroupChild');\n\nvar _CSSTransitionGroupChild2 = _interopRequireDefault(_CSSTransitionGroupChild);\n\nvar _PropTypes = require('./utils/PropTypes');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar propTypes = {\n transitionName: _PropTypes.nameShape.isRequired,\n\n transitionAppear: _propTypes2.default.bool,\n transitionEnter: _propTypes2.default.bool,\n transitionLeave: _propTypes2.default.bool,\n transitionAppearTimeout: (0, _PropTypes.transitionTimeout)('Appear'),\n transitionEnterTimeout: (0, _PropTypes.transitionTimeout)('Enter'),\n transitionLeaveTimeout: (0, _PropTypes.transitionTimeout)('Leave')\n};\n\nvar defaultProps = {\n transitionAppear: false,\n transitionEnter: true,\n transitionLeave: true\n};\n\nvar CSSTransitionGroup = function (_React$Component) {\n _inherits(CSSTransitionGroup, _React$Component);\n\n function CSSTransitionGroup() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, CSSTransitionGroup);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this._wrapChild = function (child) {\n return _react2.default.createElement(_CSSTransitionGroupChild2.default, {\n name: _this.props.transitionName,\n appear: _this.props.transitionAppear,\n enter: _this.props.transitionEnter,\n leave: _this.props.transitionLeave,\n appearTimeout: _this.props.transitionAppearTimeout,\n enterTimeout: _this.props.transitionEnterTimeout,\n leaveTimeout: _this.props.transitionLeaveTimeout\n }, child);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n // We need to provide this childFactory so that\n // ReactCSSTransitionGroupChild can receive updates to name, enter, and\n // leave while it is leaving.\n\n\n CSSTransitionGroup.prototype.render = function render() {\n return _react2.default.createElement(_TransitionGroup2.default, _extends({}, this.props, { childFactory: this._wrapChild }));\n };\n\n return CSSTransitionGroup;\n}(_react2.default.Component);\n\nCSSTransitionGroup.displayName = 'CSSTransitionGroup';\n\n\nCSSTransitionGroup.propTypes = process.env.NODE_ENV !== \"production\" ? propTypes : {};\nCSSTransitionGroup.defaultProps = defaultProps;\n\nexports.default = CSSTransitionGroup;\nmodule.exports = exports['default'];","'use strict';\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _addClass = require('dom-helpers/class/addClass');\n\nvar _addClass2 = _interopRequireDefault(_addClass);\n\nvar _removeClass = require('dom-helpers/class/removeClass');\n\nvar _removeClass2 = _interopRequireDefault(_removeClass);\n\nvar _requestAnimationFrame = require('dom-helpers/util/requestAnimationFrame');\n\nvar _requestAnimationFrame2 = _interopRequireDefault(_requestAnimationFrame);\n\nvar _properties = require('dom-helpers/transition/properties');\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _reactDom = require('react-dom');\n\nvar _PropTypes = require('./utils/PropTypes');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar events = [];\nif (_properties.transitionEnd) events.push(_properties.transitionEnd);\nif (_properties.animationEnd) events.push(_properties.animationEnd);\n\nfunction addEndListener(node, listener) {\n if (events.length) {\n events.forEach(function (e) {\n return node.addEventListener(e, listener, false);\n });\n } else {\n setTimeout(listener, 0);\n }\n\n return function () {\n if (!events.length) return;\n events.forEach(function (e) {\n return node.removeEventListener(e, listener, false);\n });\n };\n}\n\nvar propTypes = {\n children: _propTypes2.default.node,\n name: _PropTypes.nameShape.isRequired,\n\n // Once we require timeouts to be specified, we can remove the\n // boolean flags (appear etc.) and just accept a number\n // or a bool for the timeout flags (appearTimeout etc.)\n appear: _propTypes2.default.bool,\n enter: _propTypes2.default.bool,\n leave: _propTypes2.default.bool,\n appearTimeout: _propTypes2.default.number,\n enterTimeout: _propTypes2.default.number,\n leaveTimeout: _propTypes2.default.number\n};\n\nvar CSSTransitionGroupChild = function (_React$Component) {\n _inherits(CSSTransitionGroupChild, _React$Component);\n\n function CSSTransitionGroupChild() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, CSSTransitionGroupChild);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.componentWillAppear = function (done) {\n if (_this.props.appear) {\n _this.transition('appear', done, _this.props.appearTimeout);\n } else {\n done();\n }\n }, _this.componentWillEnter = function (done) {\n if (_this.props.enter) {\n _this.transition('enter', done, _this.props.enterTimeout);\n } else {\n done();\n }\n }, _this.componentWillLeave = function (done) {\n if (_this.props.leave) {\n _this.transition('leave', done, _this.props.leaveTimeout);\n } else {\n done();\n }\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n CSSTransitionGroupChild.prototype.componentWillMount = function componentWillMount() {\n this.classNameAndNodeQueue = [];\n this.transitionTimeouts = [];\n };\n\n CSSTransitionGroupChild.prototype.componentWillUnmount = function componentWillUnmount() {\n this.unmounted = true;\n\n if (this.timeout) {\n clearTimeout(this.timeout);\n }\n this.transitionTimeouts.forEach(function (timeout) {\n clearTimeout(timeout);\n });\n\n this.classNameAndNodeQueue.length = 0;\n };\n\n CSSTransitionGroupChild.prototype.transition = function transition(animationType, finishCallback, timeout) {\n var node = (0, _reactDom.findDOMNode)(this);\n\n if (!node) {\n if (finishCallback) {\n finishCallback();\n }\n return;\n }\n\n var className = this.props.name[animationType] || this.props.name + '-' + animationType;\n var activeClassName = this.props.name[animationType + 'Active'] || className + '-active';\n var timer = null;\n var removeListeners = void 0;\n\n (0, _addClass2.default)(node, className);\n\n // Need to do this to actually trigger a transition.\n this.queueClassAndNode(activeClassName, node);\n\n // Clean-up the animation after the specified delay\n var finish = function finish(e) {\n if (e && e.target !== node) {\n return;\n }\n\n clearTimeout(timer);\n if (removeListeners) removeListeners();\n\n (0, _removeClass2.default)(node, className);\n (0, _removeClass2.default)(node, activeClassName);\n\n if (removeListeners) removeListeners();\n\n // Usually this optional callback is used for informing an owner of\n // a leave animation and telling it to remove the child.\n if (finishCallback) {\n finishCallback();\n }\n };\n\n if (timeout) {\n timer = setTimeout(finish, timeout);\n this.transitionTimeouts.push(timer);\n } else if (_properties.transitionEnd) {\n removeListeners = addEndListener(node, finish);\n }\n };\n\n CSSTransitionGroupChild.prototype.queueClassAndNode = function queueClassAndNode(className, node) {\n var _this2 = this;\n\n this.classNameAndNodeQueue.push({\n className: className,\n node: node\n });\n\n if (!this.rafHandle) {\n this.rafHandle = (0, _requestAnimationFrame2.default)(function () {\n return _this2.flushClassNameAndNodeQueue();\n });\n }\n };\n\n CSSTransitionGroupChild.prototype.flushClassNameAndNodeQueue = function flushClassNameAndNodeQueue() {\n if (!this.unmounted) {\n this.classNameAndNodeQueue.forEach(function (obj) {\n // This is for to force a repaint,\n // which is necessary in order to transition styles when adding a class name.\n /* eslint-disable no-unused-expressions */\n obj.node.scrollTop;\n /* eslint-enable no-unused-expressions */\n (0, _addClass2.default)(obj.node, obj.className);\n });\n }\n this.classNameAndNodeQueue.length = 0;\n this.rafHandle = null;\n };\n\n CSSTransitionGroupChild.prototype.render = function render() {\n var props = _extends({}, this.props);\n delete props.name;\n delete props.appear;\n delete props.enter;\n delete props.leave;\n delete props.appearTimeout;\n delete props.enterTimeout;\n delete props.leaveTimeout;\n delete props.children;\n return _react2.default.cloneElement(_react2.default.Children.only(this.props.children), props);\n };\n\n return CSSTransitionGroupChild;\n}(_react2.default.Component);\n\nCSSTransitionGroupChild.displayName = 'CSSTransitionGroupChild';\n\n\nCSSTransitionGroupChild.propTypes = process.env.NODE_ENV !== \"production\" ? propTypes : {};\n\nexports.default = CSSTransitionGroupChild;\nmodule.exports = exports['default'];","'use strict';\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _chainFunction = require('chain-function');\n\nvar _chainFunction2 = _interopRequireDefault(_chainFunction);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _warning = require('warning');\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nvar _ChildMapping = require('./utils/ChildMapping');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar propTypes = {\n component: _propTypes2.default.any,\n childFactory: _propTypes2.default.func,\n children: _propTypes2.default.node\n};\n\nvar defaultProps = {\n component: 'span',\n childFactory: function childFactory(child) {\n return child;\n }\n};\n\nvar TransitionGroup = function (_React$Component) {\n _inherits(TransitionGroup, _React$Component);\n\n function TransitionGroup(props, context) {\n _classCallCheck(this, TransitionGroup);\n\n var _this = _possibleConstructorReturn(this, _React$Component.call(this, props, context));\n\n _this.performAppear = function (key, component) {\n _this.currentlyTransitioningKeys[key] = true;\n\n if (component.componentWillAppear) {\n component.componentWillAppear(_this._handleDoneAppearing.bind(_this, key, component));\n } else {\n _this._handleDoneAppearing(key, component);\n }\n };\n\n _this._handleDoneAppearing = function (key, component) {\n if (component.componentDidAppear) {\n component.componentDidAppear();\n }\n\n delete _this.currentlyTransitioningKeys[key];\n\n var currentChildMapping = (0, _ChildMapping.getChildMapping)(_this.props.children);\n\n if (!currentChildMapping || !currentChildMapping.hasOwnProperty(key)) {\n // This was removed before it had fully appeared. Remove it.\n _this.performLeave(key, component);\n }\n };\n\n _this.performEnter = function (key, component) {\n _this.currentlyTransitioningKeys[key] = true;\n\n if (component.componentWillEnter) {\n component.componentWillEnter(_this._handleDoneEntering.bind(_this, key, component));\n } else {\n _this._handleDoneEntering(key, component);\n }\n };\n\n _this._handleDoneEntering = function (key, component) {\n if (component.componentDidEnter) {\n component.componentDidEnter();\n }\n\n delete _this.currentlyTransitioningKeys[key];\n\n var currentChildMapping = (0, _ChildMapping.getChildMapping)(_this.props.children);\n\n if (!currentChildMapping || !currentChildMapping.hasOwnProperty(key)) {\n // This was removed before it had fully entered. Remove it.\n _this.performLeave(key, component);\n }\n };\n\n _this.performLeave = function (key, component) {\n _this.currentlyTransitioningKeys[key] = true;\n\n if (component.componentWillLeave) {\n component.componentWillLeave(_this._handleDoneLeaving.bind(_this, key, component));\n } else {\n // Note that this is somewhat dangerous b/c it calls setState()\n // again, effectively mutating the component before all the work\n // is done.\n _this._handleDoneLeaving(key, component);\n }\n };\n\n _this._handleDoneLeaving = function (key, component) {\n if (component.componentDidLeave) {\n component.componentDidLeave();\n }\n\n delete _this.currentlyTransitioningKeys[key];\n\n var currentChildMapping = (0, _ChildMapping.getChildMapping)(_this.props.children);\n\n if (currentChildMapping && currentChildMapping.hasOwnProperty(key)) {\n // This entered again before it fully left. Add it again.\n _this.keysToEnter.push(key);\n } else {\n _this.setState(function (state) {\n var newChildren = _extends({}, state.children);\n delete newChildren[key];\n return { children: newChildren };\n });\n }\n };\n\n _this.childRefs = Object.create(null);\n\n _this.state = {\n children: (0, _ChildMapping.getChildMapping)(props.children)\n };\n return _this;\n }\n\n TransitionGroup.prototype.componentWillMount = function componentWillMount() {\n this.currentlyTransitioningKeys = {};\n this.keysToEnter = [];\n this.keysToLeave = [];\n };\n\n TransitionGroup.prototype.componentDidMount = function componentDidMount() {\n var initialChildMapping = this.state.children;\n for (var key in initialChildMapping) {\n if (initialChildMapping[key]) {\n this.performAppear(key, this.childRefs[key]);\n }\n }\n };\n\n TransitionGroup.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n var nextChildMapping = (0, _ChildMapping.getChildMapping)(nextProps.children);\n var prevChildMapping = this.state.children;\n\n this.setState({\n children: (0, _ChildMapping.mergeChildMappings)(prevChildMapping, nextChildMapping)\n });\n\n for (var key in nextChildMapping) {\n var hasPrev = prevChildMapping && prevChildMapping.hasOwnProperty(key);\n if (nextChildMapping[key] && !hasPrev && !this.currentlyTransitioningKeys[key]) {\n this.keysToEnter.push(key);\n }\n }\n\n for (var _key in prevChildMapping) {\n var hasNext = nextChildMapping && nextChildMapping.hasOwnProperty(_key);\n if (prevChildMapping[_key] && !hasNext && !this.currentlyTransitioningKeys[_key]) {\n this.keysToLeave.push(_key);\n }\n }\n\n // If we want to someday check for reordering, we could do it here.\n };\n\n TransitionGroup.prototype.componentDidUpdate = function componentDidUpdate() {\n var _this2 = this;\n\n var keysToEnter = this.keysToEnter;\n this.keysToEnter = [];\n keysToEnter.forEach(function (key) {\n return _this2.performEnter(key, _this2.childRefs[key]);\n });\n\n var keysToLeave = this.keysToLeave;\n this.keysToLeave = [];\n keysToLeave.forEach(function (key) {\n return _this2.performLeave(key, _this2.childRefs[key]);\n });\n };\n\n TransitionGroup.prototype.render = function render() {\n var _this3 = this;\n\n // TODO: we could get rid of the need for the wrapper node\n // by cloning a single child\n var childrenToRender = [];\n\n var _loop = function _loop(key) {\n var child = _this3.state.children[key];\n if (child) {\n var isCallbackRef = typeof child.ref !== 'string';\n var factoryChild = _this3.props.childFactory(child);\n var ref = function ref(r) {\n _this3.childRefs[key] = r;\n };\n\n process.env.NODE_ENV !== 'production' ? (0, _warning2.default)(isCallbackRef, 'string refs are not supported on children of TransitionGroup and will be ignored. ' + 'Please use a callback ref instead: https://facebook.github.io/react/docs/refs-and-the-dom.html#the-ref-callback-attribute') : void 0;\n\n // Always chaining the refs leads to problems when the childFactory\n // wraps the child. The child ref callback gets called twice with the\n // wrapper and the child. So we only need to chain the ref if the\n // factoryChild is not different from child.\n if (factoryChild === child && isCallbackRef) {\n ref = (0, _chainFunction2.default)(child.ref, ref);\n }\n\n // You may need to apply reactive updates to a child as it is leaving.\n // The normal React way to do it won't work since the child will have\n // already been removed. In case you need this behavior you can provide\n // a childFactory function to wrap every child, even the ones that are\n // leaving.\n childrenToRender.push(_react2.default.cloneElement(factoryChild, {\n key: key,\n ref: ref\n }));\n }\n };\n\n for (var key in this.state.children) {\n _loop(key);\n }\n\n // Do not forward TransitionGroup props to primitive DOM nodes\n var props = _extends({}, this.props);\n delete props.transitionLeave;\n delete props.transitionName;\n delete props.transitionAppear;\n delete props.transitionEnter;\n delete props.childFactory;\n delete props.transitionLeaveTimeout;\n delete props.transitionEnterTimeout;\n delete props.transitionAppearTimeout;\n delete props.component;\n\n return _react2.default.createElement(this.props.component, props, childrenToRender);\n };\n\n return TransitionGroup;\n}(_react2.default.Component);\n\nTransitionGroup.displayName = 'TransitionGroup';\n\n\nTransitionGroup.propTypes = process.env.NODE_ENV !== \"production\" ? propTypes : {};\nTransitionGroup.defaultProps = defaultProps;\n\nexports.default = TransitionGroup;\nmodule.exports = exports['default'];","/**\n * Copyright 2014-2015, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\n'use strict';\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar warning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n warning = function(condition, format, args) {\n var len = arguments.length;\n args = new Array(len > 2 ? len - 2 : 0);\n for (var key = 2; key < len; key++) {\n args[key - 2] = arguments[key];\n }\n if (format === undefined) {\n throw new Error(\n '`warning(condition, format, ...args)` requires a warning ' +\n 'message argument'\n );\n }\n\n if (format.length < 10 || (/^[s\\W]*$/).test(format)) {\n throw new Error(\n 'The warning format should be able to uniquely identify this ' +\n 'warning. Please, use a more descriptive format than: ' + format\n );\n }\n\n if (!condition) {\n var argIndex = 0;\n var message = 'Warning: ' +\n format.replace(/%s/g, function() {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch(x) {}\n }\n };\n}\n\nmodule.exports = warning;\n","'use strict';\n\nexports.__esModule = true;\nexports.getChildMapping = getChildMapping;\nexports.mergeChildMappings = mergeChildMappings;\n\nvar _react = require('react');\n\n/**\n * Given `this.props.children`, return an object mapping key to child.\n *\n * @param {*} children `this.props.children`\n * @return {object} Mapping of key to child\n */\nfunction getChildMapping(children) {\n if (!children) {\n return children;\n }\n var result = {};\n _react.Children.map(children, function (child) {\n return child;\n }).forEach(function (child) {\n result[child.key] = child;\n });\n return result;\n}\n\n/**\n * When you're adding or removing children some may be added or removed in the\n * same render pass. We want to show *both* since we want to simultaneously\n * animate elements in and out. This function takes a previous set of keys\n * and a new set of keys and merges them with its best guess of the correct\n * ordering. In the future we may expose some of the utilities in\n * ReactMultiChild to make this easy, but for now React itself does not\n * directly have this concept of the union of prevChildren and nextChildren\n * so we implement it here.\n *\n * @param {object} prev prev children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @param {object} next next children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @return {object} a key set that contains all keys in `prev` and all keys\n * in `next` in a reasonable order.\n */\nfunction mergeChildMappings(prev, next) {\n prev = prev || {};\n next = next || {};\n\n function getValueForKey(key) {\n if (next.hasOwnProperty(key)) {\n return next[key];\n }\n\n return prev[key];\n }\n\n // For each key of `next`, the list of keys to insert before that key in\n // the combined list\n var nextKeysPending = {};\n\n var pendingKeys = [];\n for (var prevKey in prev) {\n if (next.hasOwnProperty(prevKey)) {\n if (pendingKeys.length) {\n nextKeysPending[prevKey] = pendingKeys;\n pendingKeys = [];\n }\n } else {\n pendingKeys.push(prevKey);\n }\n }\n\n var i = void 0;\n var childMapping = {};\n for (var nextKey in next) {\n if (nextKeysPending.hasOwnProperty(nextKey)) {\n for (i = 0; i < nextKeysPending[nextKey].length; i++) {\n var pendingNextKey = nextKeysPending[nextKey][i];\n childMapping[nextKeysPending[nextKey][i]] = getValueForKey(pendingNextKey);\n }\n }\n childMapping[nextKey] = getValueForKey(nextKey);\n }\n\n // Finally, add the keys which didn't appear before any key in `next`\n for (i = 0; i < pendingKeys.length; i++) {\n childMapping[pendingKeys[i]] = getValueForKey(pendingKeys[i]);\n }\n\n return childMapping;\n}","'use strict';\n\nexports.__esModule = true;\nexports.nameShape = undefined;\nexports.transitionTimeout = transitionTimeout;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction transitionTimeout(transitionType) {\n var timeoutPropName = 'transition' + transitionType + 'Timeout';\n var enabledPropName = 'transition' + transitionType;\n\n return function (props) {\n // If the transition is enabled\n if (props[enabledPropName]) {\n // If no timeout duration is provided\n if (props[timeoutPropName] == null) {\n return new Error(timeoutPropName + ' wasn\\'t supplied to CSSTransitionGroup: ' + 'this can cause unreliable animations and won\\'t be supported in ' + 'a future version of React. See ' + 'https://fb.me/react-animation-transition-group-timeout for more ' + 'information.');\n\n // If the duration isn't a number\n } else if (typeof props[timeoutPropName] !== 'number') {\n return new Error(timeoutPropName + ' must be a number (in milliseconds)');\n }\n }\n\n return null;\n };\n}\n\nvar nameShape = exports.nameShape = _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.shape({\n enter: _propTypes2.default.string,\n leave: _propTypes2.default.string,\n active: _propTypes2.default.string\n}), _propTypes2.default.shape({\n enter: _propTypes2.default.string,\n enterActive: _propTypes2.default.string,\n leave: _propTypes2.default.string,\n leaveActive: _propTypes2.default.string,\n appear: _propTypes2.default.string,\n appearActive: _propTypes2.default.string\n})]);"],"sourceRoot":""}