blob: bc36554d28cf256781e21cb5eaaf65e093955056 [file] [log] [blame]
{"version":3,"sources":["webpack:///./node_modules/antd/node_modules/rc-util/es/Dom/addEventListener.js","webpack:///./node_modules/rc-animate/node_modules/rc-util/es/unsafeLifecyclesPolyfill.js","webpack:///./node_modules/rc-animate/es/ChildrenUtils.js","webpack:///./node_modules/@ant-design/css-animation/es/index.js","webpack:///./node_modules/rc-animate/es/util/animate.js","webpack:///./node_modules/rc-animate/es/AnimateChild.js","webpack:///./node_modules/rc-animate/es/Animate.js","webpack:///./node_modules/rc-dialog/es/LazyRenderBox.js","webpack:///./node_modules/rc-dialog/es/Dialog.js","webpack:///./node_modules/rc-util/es/Dom/contains.js","webpack:///./node_modules/rc-dialog/es/DialogWrap.js","webpack:///./node_modules/rc-dialog/es/index.js","webpack:///./node_modules/antd/es/modal/ActionButton.js","webpack:///./node_modules/antd/es/modal/ConfirmDialog.js","webpack:///./node_modules/antd/es/modal/useModal/HookModal.js","webpack:///./node_modules/antd/es/modal/locale.js","webpack:///./node_modules/antd/es/modal/confirm.js","webpack:///./node_modules/antd/es/modal/useModal/index.js","webpack:///./node_modules/antd/es/modal/Modal.js","webpack:///./node_modules/antd/es/_util/hooks/usePatchElement.js","webpack:///./node_modules/antd/es/modal/index.js","webpack:///./src/pages/resources.tsx"],"names":["addEventListenerWrap","target","eventType","cb","option","callback","unstable_batchedUpdates","e","addEventListener","remove","removeEventListener","Component","prototype","isReactComponent","Error","componentWillReceiveProps","Profiler","UNSAFE_componentWillReceiveProps","toArrayChildren","children","ret","Children","forEach","child","push","findChildInChildrenByKey","key","findShownChildInChildrenByKey","showProp","props","_typeof","Symbol","iterator","obj","constructor","isCssAnimationSupported","Event","endEvents","length","capitalPrefixes","prefixes","getStyleProperty","node","name","style","window","getComputedStyle","i","getPropertyValue","fixBrowserByTimeout","transitionDelay","parseFloat","transitionDuration","animationDelay","animationDuration","time","Math","max","rcEndAnimTimeout","setTimeout","rcEndListener","clearBrowserBugTimeout","clearTimeout","transitionName","endCallback","nameIsObj","className","activeClassName","active","end","start","Object","toString","call","rcAnimTimeout","classList","removeEndEventListener","addEndEventListener","add","stop","s","hasOwnProperty","setTransition","p","value","property","v","undefined","prefix","isAppearSupported","transitionAppear","animation","appear","isEnterSupported","transitionEnter","enter","isLeaveSupported","transitionLeave","leave","allowAppearCallback","allowEnterCallback","allowLeaveCallback","_createClass","defineProperties","descriptor","enumerable","configurable","writable","defineProperty","Constructor","protoProps","staticProps","_classCallCheck","instance","TypeError","_possibleConstructorReturn","self","ReferenceError","transitionMap","_React$Component","AnimateChild","this","__proto__","getPrototypeOf","apply","arguments","subClass","superClass","create","setPrototypeOf","_inherits","done","transition","animationType","finishCallback","_this2","findDOMNode","stopper","activeName","_extends","assign","source","defaultKey","Date","now","getChildrenFromProps","isValidElement","cloneElement","noop","Animate","_this","currentlyAnimatingKeys","keysToEnter","keysToLeave","state","childrenRefs","filter","performAppear","nextProps","_this3","nextChildren","exclusive","keys","next","nextChildrenPending","pendingChildren","currentChildren","newChildren","currentChild","nextChild","newChild","concat","setState","hasPrev","showInNext","hasNext","showInNow","performEnter","performLeave","component","_this4","stateChildren","map","createElement","ref","passedProps","componentProps","isAnimate","defaultProps","onEnd","onEnter","onLeave","onAppear","_this5","componentWillEnter","handleDoneAdding","bind","componentWillAppear","type","isValidChildByKey","componentWillLeave","handleDoneLeaving","c1","c2","same","index","child2","LazyRenderBox","_super","forceRender","hiddenClassName","visible","_this$props","restProps","useClassName","uuid","getScroll","w","top","method","d","document","documentElement","body","setTransformOrigin","transformOrigin","Dialog","inTransition","onAnimateLeave","afterClose","getOpenCount","focusTriggerAfterClose","mask","wrap","display","switchScrollingEffect","lastOutSideFocusNode","focus","preventScroll","onDialogMouseDown","dialogMouseDown","onMaskMouseUp","timeoutId","onMaskClick","openTime","currentTarget","close","onKeyDown","_this$props2","keyboard","keyCode","KeyCode","ESC","stopPropagation","TAB","activeElement","shiftKey","sentinelStart","sentinelEnd","getDialogElement","footerNode","headerNode","closer","_this$props3","closable","prefixCls","width","height","footer","title","closeIcon","bodyStyle","bodyProps","destroyOnClose","dest","saveRef","id","titleId","onClick","styleBox","sentinelStyle","overflow","outline","getTransitionName","dialogElement","role","onMouseDown","tabIndex","getZIndexStyle","zIndex","getWrapStyle","wrapStyle","getMaskStyle","maskStyle","getMaskElement","maskElement","_this$props4","maskProps","maskTransition","getMaskTransitionName","_this$props5","maskTransitionName","maskAnimation","_this$props6","transitionNameResult","onClose","componentDidUpdate","getContainer","prevProps","el","rect","pos","doc","mousePosition","tryFocus","dialogNode","dialog","elOffset","getBoundingClientRect","left","ownerDocument","defaultView","parentWindow","x","y","_this$props7","root","n","parentNode","contains","maskClosable","wrapClassName","onMouseUp","wrapProps","childProps","clickedRef","_React$useState","_React$useState2","loading","setLoading","autoFocus","$this","current","buttonProps","actionFn","closeModal","returnValueOfOnOk","then","console","error","handlePromiseOnOk","icon","onCancel","onOk","centered","okText","okButtonProps","cancelText","cancelButtonProps","direction","rootPrefixCls","devWarning","okType","contentPrefixCls","okCancel","autoFocusButton","classString","cancelButton","triggerCancel","content","_ref","config","setVisible","_React$useState3","_React$useState4","innerConfig","setInnerConfig","_React$useContext","getPrefixCls","destroy","update","newConfig","originConfig","LocaleReceiver","componentName","defaultLocale","Modal","modalLocale","justOkText","getConfirmLocale","__rest","t","indexOf","getOwnPropertySymbols","propertyIsEnumerable","defaultRootPrefixCls","getRootPrefixCls","div","appendChild","currentConfig","unmountResult","removeChild","_len","args","Array","_key","some","param","destroyFns","fn","splice","render","_a","runtimeLocale","_len2","_key2","withWarn","withInfo","withSuccess","withError","withConfirm","pageX","pageY","_classNames","getContextPopupContainer","getPopupContainer","handleCancel","handleOk","renderFooter","locale","confirmLoading","customizePrefixCls","defaultFooter","closeIconToRender","wrapClassNameExtended","useModal","_usePatchElement","elements","setElements","element","originElements","ele","usePatchElement","_usePatchElement2","patchElement","getConfirmFunc","withFunc","closeFunc","modalRef","modal","info","success","warning","confirm","modalWarn","warn","destroyAll","pop","learningLinks","installationLinks","youtubeVideos","resourcesContainer","LinkSection","links","size","bordered","dataSource","renderItem","link","href","Item","rel","Resources","useState","showModal","setModal","videoId","setVideoId","cardTitle","setCardTitle","handleClose","css","gutter","md","sm","xs","src","frameBorder","allow","allowFullScreen","idx","Grid","alt"],"mappings":"4FAAA,2DACe,SAASA,EAAqBC,EAAQC,EAAWC,EAAIC,GAElE,IAAIC,EAAW,IAASC,wBAA0B,SAAaC,GAC7D,IAASD,wBAAwBH,EAAII,IACnCJ,EAMJ,OAJIF,EAAOO,kBACTP,EAAOO,iBAAiBN,EAAWG,EAAUD,GAGxC,CACLK,OAAQ,WACFR,EAAOS,qBACTT,EAAOS,oBAAoBR,EAAWG,O,2DCY/B,EAxBgB,SAAkCM,GAC/D,IAAIC,EAAYD,EAAUC,UAE1B,IAAKA,IAAcA,EAAUC,iBAC3B,MAAM,IAAIC,MAAM,sCAIlB,MAAmD,mBAAxCF,EAAUG,0BACZJ,EAKJ,IAAMK,UAKXJ,EAAUK,iCAAmCL,EAAUG,iCAChDH,EAAUG,0BACVJ,GANEA,GChBJ,SAASO,EAAgBC,GAC9B,IAAIC,EAAM,GAIV,OAHA,IAAMC,SAASC,QAAQH,GAAU,SAAUI,GACzCH,EAAII,KAAKD,MAEJH,EAEF,SAASK,EAAyBN,EAAUO,GACjD,IAAIN,EAAM,KAcV,OAZID,GACFA,EAASG,SAAQ,SAAUC,GACrBH,GAIAG,GAASA,EAAMG,MAAQA,IACzBN,EAAMG,MAKLH,EAEF,SAASO,EAA8BR,EAAUO,EAAKE,GAC3D,IAAIR,EAAM,KAcV,OAZID,GACFA,EAASG,SAAQ,SAAUC,GACzB,GAAIA,GAASA,EAAMG,MAAQA,GAAOH,EAAMM,MAAMD,GAAW,CACvD,GAAIR,EACF,MAAM,IAAIN,MAAM,qDAGlBM,EAAMG,MAKLH,E,qCCxCLU,EAA4B,mBAAXC,QAAoD,iBAApBA,OAAOC,SAAwB,SAAUC,GAC5F,cAAcA,GACZ,SAAUA,GACZ,OAAOA,GAAyB,mBAAXF,QAAyBE,EAAIC,cAAgBH,QAAUE,IAAQF,OAAOnB,UAAY,gBAAkBqB,GAIvHE,EAAqD,IAA3BC,EAAA,EAAMC,UAAUC,OAC1CC,EAAkB,CAAC,SAAU,MAAO,IACxC,MACIC,EAAW,CAAC,WAAY,QAAS,MAAO,MAAO,IAEnD,SAASC,EAAiBC,EAAMC,GAK9B,IAHA,IAAIC,EAAQC,OAAOC,iBAAiBJ,EAAM,MACtCtB,EAAM,GAED2B,EAAI,EAAGA,EAAIP,EAASF,UAC3BlB,EAAMwB,EAAMI,iBAAiBR,EAASO,GAAKJ,IADRI,KAQrC,OAAO3B,EAGT,SAAS6B,EAAoBP,GAC3B,GAAIP,EAAyB,CAC3B,IAAIe,EAAkBC,WAAWV,EAAiBC,EAAM,sBAAwB,EAC5EU,EAAqBD,WAAWV,EAAiBC,EAAM,yBAA2B,EAClFW,EAAiBF,WAAWV,EAAiBC,EAAM,qBAAuB,EAC1EY,EAAoBH,WAAWV,EAAiBC,EAAM,wBAA0B,EAChFa,EAAOC,KAAKC,IAAIL,EAAqBF,EAAiBI,EAAoBD,GAE9EX,EAAKgB,iBAAmBC,YAAW,WACjCjB,EAAKgB,iBAAmB,KAEpBhB,EAAKkB,eACPlB,EAAKkB,kBAEC,IAAPL,EAAc,MAIrB,SAASM,EAAuBnB,GAC1BA,EAAKgB,mBACPI,aAAapB,EAAKgB,kBAClBhB,EAAKgB,iBAAmB,MAI5B,IAAI,EAAe,SAAsBhB,EAAMqB,EAAgBC,GAC7D,IAAIC,EAAgG,iBAAzD,IAAnBF,EAAiC,YAAcjC,EAAQiC,IAC3EG,EAAYD,EAAYF,EAAepB,KAAOoB,EAC9CI,EAAkBF,EAAYF,EAAeK,OAASL,EAAiB,UACvEM,EAAML,EACNM,OAAQ,EACRF,OAAS,EAmDb,OAjDIJ,GAA+D,oBAAhDO,OAAO3D,UAAU4D,SAASC,KAAKT,KAChDK,EAAML,EAAYK,IAClBC,EAAQN,EAAYM,MACpBF,EAASJ,EAAYI,QAGnB1B,EAAKkB,eACPlB,EAAKkB,gBAGPlB,EAAKkB,cAAgB,SAAUrD,GACzBA,GAAKA,EAAEN,SAAWyC,IAIlBA,EAAKgC,gBACPZ,aAAapB,EAAKgC,eAClBhC,EAAKgC,cAAgB,MAGvBb,EAAuBnB,GACvBA,EAAKiC,UAAUlE,OAAOyD,GACtBxB,EAAKiC,UAAUlE,OAAO0D,GACtB/B,EAAA,EAAMwC,uBAAuBlC,EAAMA,EAAKkB,eACxClB,EAAKkB,cAAgB,KAGjBS,GACFA,MAIJjC,EAAA,EAAMyC,oBAAoBnC,EAAMA,EAAKkB,eAEjCU,GACFA,IAGF5B,EAAKiC,UAAUG,IAAIZ,GACnBxB,EAAKgC,cAAgBf,YAAW,WAC9BjB,EAAKgC,cAAgB,KACrBhC,EAAKiC,UAAUG,IAAIX,GAEfC,GACFA,IAGFnB,EAAoBP,KACnB,GACI,CACLqC,KAAM,WACArC,EAAKkB,eACPlB,EAAKkB,mBAMb,EAAahB,MAAQ,SAAUF,EAAME,EAAOvC,GACtCqC,EAAKkB,eACPlB,EAAKkB,gBAGPlB,EAAKkB,cAAgB,SAAUrD,GACzBA,GAAKA,EAAEN,SAAWyC,IAIlBA,EAAKgC,gBACPZ,aAAapB,EAAKgC,eAClBhC,EAAKgC,cAAgB,MAGvBb,EAAuBnB,GACvBN,EAAA,EAAMwC,uBAAuBlC,EAAMA,EAAKkB,eACxClB,EAAKkB,cAAgB,KAGjBvD,GACFA,MAIJ+B,EAAA,EAAMyC,oBAAoBnC,EAAMA,EAAKkB,eACrClB,EAAKgC,cAAgBf,YAAW,WAC9B,IAAK,IAAIqB,KAAKpC,EACRA,EAAMqC,eAAeD,KACvBtC,EAAKE,MAAMoC,GAAKpC,EAAMoC,IAI1BtC,EAAKgC,cAAgB,KACrBzB,EAAoBP,KACnB,IAGL,EAAawC,cAAgB,SAAUxC,EAAMyC,EAAGC,GAC9C,IAAIC,EAAWF,EACXG,EAAIF,OAEMG,IAAVH,IACFE,EAAID,EACJA,EAAW,IAGbA,EAAWA,GAAY,GACvB9C,EAAgBjB,SAAQ,SAAUkE,GAChC9C,EAAKE,MAAM4C,EAAS,aAAeH,GAAYC,MAInD,EAAanD,wBAA0BA,EAExB,QC1JA,EApBJ,CACTsD,kBAAmB,SAA2B5D,GAC5C,OAAOA,EAAMkC,gBAAkBlC,EAAM6D,kBAAoB7D,EAAM8D,UAAUC,QAE3EC,iBAAkB,SAA0BhE,GAC1C,OAAOA,EAAMkC,gBAAkBlC,EAAMiE,iBAAmBjE,EAAM8D,UAAUI,OAE1EC,iBAAkB,SAA0BnE,GAC1C,OAAOA,EAAMkC,gBAAkBlC,EAAMoE,iBAAmBpE,EAAM8D,UAAUO,OAE1EC,oBAAqB,SAA6BtE,GAChD,OAAOA,EAAM6D,kBAAoB7D,EAAM8D,UAAUC,QAEnDQ,mBAAoB,SAA4BvE,GAC9C,OAAOA,EAAMiE,iBAAmBjE,EAAM8D,UAAUI,OAElDM,mBAAoB,SAA4BxE,GAC9C,OAAOA,EAAMoE,iBAAmBpE,EAAM8D,UAAUO,QCjBhDI,EAAe,WACjB,SAASC,EAAiBtG,EAAQ4B,GAChC,IAAK,IAAIkB,EAAI,EAAGA,EAAIlB,EAAMS,OAAQS,IAAK,CACrC,IAAIyD,EAAa3E,EAAMkB,GACvByD,EAAWC,WAAaD,EAAWC,aAAc,EACjDD,EAAWE,cAAe,EACtB,UAAWF,IAAYA,EAAWG,UAAW,GACjDpC,OAAOqC,eAAe3G,EAAQuG,EAAW9E,IAAK8E,IAIlD,OAAO,SAAUK,EAAaC,EAAYC,GAGxC,OAFID,GAAYP,EAAiBM,EAAYjG,UAAWkG,GACpDC,GAAaR,EAAiBM,EAAaE,GACxCF,GAdQ,GAkBnB,SAASG,EAAgBC,EAAUJ,GACjC,KAAMI,aAAoBJ,GACxB,MAAM,IAAIK,UAAU,qCAIxB,SAASC,EAA2BC,EAAM3C,GACxC,IAAK2C,EACH,MAAM,IAAIC,eAAe,6DAG3B,OAAO5C,GAAyB,iBAATA,GAAqC,mBAATA,EAA8B2C,EAAP3C,EAyB5E,IAAI6C,EAAgB,CAClBvB,MAAO,kBACPH,OAAQ,mBACRM,MAAO,mBAmGM,EAhGI,SAAUqB,GAG3B,SAASC,IAGP,OAFAR,EAAgBS,KAAMD,GAEfL,EAA2BM,MAAOD,EAAaE,WAAanD,OAAOoD,eAAeH,IAAeI,MAAMH,KAAMI,YAuFtH,OAzHF,SAAmBC,EAAUC,GAC3B,GAA0B,mBAAfA,GAA4C,OAAfA,EACtC,MAAM,IAAIb,UAAU,kEAAoEa,GAG1FD,EAASlH,UAAY2D,OAAOyD,OAAOD,GAAcA,EAAWnH,UAAW,CACrEsB,YAAa,CACXkD,MAAO0C,EACPrB,YAAY,EACZE,UAAU,EACVD,cAAc,KAGdqB,IAAYxD,OAAO0D,eAAiB1D,OAAO0D,eAAeH,EAAUC,GAAcD,EAASJ,UAAYK,GAgB3GG,CAAUV,EAAcD,GAQxBjB,EAAakB,EAAc,CAAC,CAC1B9F,IAAK,uBACL0D,MAAO,WACLqC,KAAK1C,SAEN,CACDrD,IAAK,qBACL0D,MAAO,SAA4B+C,GAC7B,EAAStC,iBAAiB4B,KAAK5F,OACjC4F,KAAKW,WAAW,QAASD,GAEzBA,MAGH,CACDzG,IAAK,sBACL0D,MAAO,SAA6B+C,GAC9B,EAAS1C,kBAAkBgC,KAAK5F,OAClC4F,KAAKW,WAAW,SAAUD,GAE1BA,MAGH,CACDzG,IAAK,qBACL0D,MAAO,SAA4B+C,GAC7B,EAASnC,iBAAiByB,KAAK5F,OACjC4F,KAAKW,WAAW,QAASD,GAKzBA,MAGH,CACDzG,IAAK,aACL0D,MAAO,SAAoBiD,EAAeC,GACxC,IAAIC,EAASd,KAET/E,EAAO,IAAS8F,YAAYf,MAC5B5F,EAAQ4F,KAAK5F,MACbkC,EAAiBlC,EAAMkC,eACvBE,EAAsC,iBAAnBF,EACvB0D,KAAK1C,OAEL,IAAIV,EAAM,WACRkE,EAAOE,QAAU,KACjBH,KAGF,IAAKnG,IAA4BN,EAAM8D,UAAU0C,KAAmBtE,GAAkBlC,EAAMyF,EAAce,IAAiB,CACzH,IAAI1F,EAAOsB,EAAYF,EAAesE,GAAiBtE,EAAiB,IAAMsE,EAC1EK,EAAa/F,EAAO,UAEpBsB,GAAaF,EAAesE,EAAgB,YAC9CK,EAAa3E,EAAesE,EAAgB,WAG9CZ,KAAKgB,QAAU,EAAW/F,EAAM,CAC9BC,KAAMA,EACNyB,OAAQsE,GACPrE,QAEHoD,KAAKgB,QAAU5G,EAAM8D,UAAU0C,GAAe3F,EAAM2B,KAGvD,CACD3C,IAAK,OACL0D,MAAO,WACL,IAAIqD,EAAUhB,KAAKgB,QAEfA,IACFhB,KAAKgB,QAAU,KACfA,EAAQ1D,UAGX,CACDrD,IAAK,SACL0D,MAAO,WACL,OAAOqC,KAAK5F,MAAMV,aAIfqG,EA7FU,CA8FjB,IAAM7G,WC1JJgI,EAAWpE,OAAOqE,QAAU,SAAU3I,GACxC,IAAK,IAAI8C,EAAI,EAAGA,EAAI8E,UAAUvF,OAAQS,IAAK,CACzC,IAAI8F,EAAShB,UAAU9E,GAEvB,IAAK,IAAIrB,KAAOmH,EACVtE,OAAO3D,UAAUqE,eAAeR,KAAKoE,EAAQnH,KAC/CzB,EAAOyB,GAAOmH,EAAOnH,IAK3B,OAAOzB,GAGL,EAAe,WACjB,SAASsG,EAAiBtG,EAAQ4B,GAChC,IAAK,IAAIkB,EAAI,EAAGA,EAAIlB,EAAMS,OAAQS,IAAK,CACrC,IAAIyD,EAAa3E,EAAMkB,GACvByD,EAAWC,WAAaD,EAAWC,aAAc,EACjDD,EAAWE,cAAe,EACtB,UAAWF,IAAYA,EAAWG,UAAW,GACjDpC,OAAOqC,eAAe3G,EAAQuG,EAAW9E,IAAK8E,IAIlD,OAAO,SAAUK,EAAaC,EAAYC,GAGxC,OAFID,GAAYP,EAAiBM,EAAYjG,UAAWkG,GACpDC,GAAaR,EAAiBM,EAAaE,GACxCF,GAdQ,GAsEnB,IAAIiC,EAAa,cAAgBC,KAAKC,MAEtC,SAASC,EAAqBpH,GAC5B,IAAIV,EAAWU,EAAMV,SAErB,OAAI,IAAM+H,eAAe/H,KAClBA,EAASO,IACL,IAAMyH,aAAahI,EAAU,CAClCO,IAAKoH,IAKJ3H,EAGT,SAASiI,KAET,IAAI,EAAU,SAAU7B,GAGtB,SAAS8B,EAAQxH,IA1DnB,SAAyBoF,EAAUJ,GACjC,KAAMI,aAAoBJ,GACxB,MAAM,IAAIK,UAAU,qCAyDpB,CAAgBO,KAAM4B,GAEtB,IAAIC,EAvDR,SAAoClC,EAAM3C,GACxC,IAAK2C,EACH,MAAM,IAAIC,eAAe,6DAG3B,OAAO5C,GAAyB,iBAATA,GAAqC,mBAATA,EAA8B2C,EAAP3C,EAkD5D,CAA2BgD,MAAO4B,EAAQ3B,WAAanD,OAAOoD,eAAe0B,IAAU5E,KAAKgD,KAAM5F,IAW9G,OATA,EAAiB4C,KAAK6E,GAEtBA,EAAMC,uBAAyB,GAC/BD,EAAME,YAAc,GACpBF,EAAMG,YAAc,GACpBH,EAAMI,MAAQ,CACZvI,SAAUD,EAAgB+H,EAAqBpH,KAEjDyH,EAAMK,aAAe,GACdL,EAiNT,OA3QF,SAAmBxB,EAAUC,GAC3B,GAA0B,mBAAfA,GAA4C,OAAfA,EACtC,MAAM,IAAIb,UAAU,kEAAoEa,GAG1FD,EAASlH,UAAY2D,OAAOyD,OAAOD,GAAcA,EAAWnH,UAAW,CACrEsB,YAAa,CACXkD,MAAO0C,EACPrB,YAAY,EACZE,UAAU,EACVD,cAAc,KAGdqB,IAAYxD,OAAO0D,eAAiB1D,OAAO0D,eAAeH,EAAUC,GAAcD,EAASJ,UAAYK,GA6B3G,CAAUsB,EAAS9B,GAoBnB,EAAa8B,EAAS,CAAC,CACrB3H,IAAK,oBACL0D,MAAO,WACL,IAAImD,EAASd,KAET7F,EAAW6F,KAAK5F,MAAMD,SACtBT,EAAWsG,KAAKiC,MAAMvI,SAEtBS,IACFT,EAAWA,EAASyI,QAAO,SAAUrI,GACnC,QAASA,EAAMM,MAAMD,OAIzBT,EAASG,SAAQ,SAAUC,GACrBA,GACFgH,EAAOsB,cAActI,EAAMG,UAIhC,CACDA,IAAK,4BACL0D,MAAO,SAAmC0E,GACxC,IAAIC,EAAStC,KAEbA,KAAKqC,UAAYA,EACjB,IAAIE,EAAe9I,EAAgB+H,EAAqBa,IACpDjI,EAAQ4F,KAAK5F,MAEbA,EAAMoI,WACR1F,OAAO2F,KAAKzC,KAAK8B,wBAAwBjI,SAAQ,SAAUI,GACzDqI,EAAOhF,KAAKrD,MAIhB,IJhF8ByI,EAC9B/I,EAGAgJ,EACAC,EI2EIzI,EAAWC,EAAMD,SACjB2H,EAAyB9B,KAAK8B,uBAE9Be,EAAkBzI,EAAMoI,UAAY/I,EAAgB+H,EAAqBpH,IAAU4F,KAAKiC,MAAMvI,SAE9FoJ,EAAc,GAEd3I,GACF0I,EAAgBhJ,SAAQ,SAAUkJ,GAChC,IAvIevI,EAAKP,EAAK0D,EAuIrBqF,EAAYD,GAAgB/I,EAAyBuI,EAAcQ,EAAa9I,KAChFgJ,OAAW,GAKbA,EAHID,GAAcA,EAAU5I,MAAMD,KAAc4I,EAAa3I,MAAMD,GAGxD6I,EAFA,IAAMtB,aAAasB,GAAaD,GA3IpBpF,GA2IgE,GA3IrE1D,EA2I2DE,KA3IhEK,EA2I4D,IAzIjFsC,OAAOqC,eAAe3E,EAAKP,EAAK,CAC9B0D,MAAOA,EACPqB,YAAY,EACZC,cAAc,EACdC,UAAU,IAGZ1E,EAAIP,GAAO0D,EAGNnD,MAqIGsI,EAAY/I,KAAKkJ,MAGrBV,EAAa1I,SAAQ,SAAUmJ,GACxBA,GAAchJ,EAAyB6I,EAAiBG,EAAU/I,MACrE6I,EAAY/I,KAAKiJ,QJxGON,EI4GiBH,EJ3G/C5I,EAAM,GAGNgJ,EAAsB,GACtBC,EAAkB,GIuGYC,EJtG7BhJ,SAAQ,SAAUC,GACjBA,GAASE,EAAyB0I,EAAM5I,EAAMG,KAC5C2I,EAAgB/H,SAClB8H,EAAoB7I,EAAMG,KAAO2I,EACjCA,EAAkB,IAGpBA,EAAgB7I,KAAKD,MAGzB4I,EAAK7I,SAAQ,SAAUC,GACjBA,GAASgD,OAAO3D,UAAUqE,eAAeR,KAAK2F,EAAqB7I,EAAMG,OAC3EN,EAAMA,EAAIuJ,OAAOP,EAAoB7I,EAAMG,OAG7CN,EAAII,KAAKD,MIuFLgJ,EJrFNnJ,EAAMA,EAAIuJ,OAAON,IIyFb5C,KAAKmD,SAAS,CACZzJ,SAAUoJ,IAEZP,EAAa1I,SAAQ,SAAUC,GAC7B,IAAIG,EAAMH,GAASA,EAAMG,IAEzB,IAAIH,IAASgI,EAAuB7H,GAApC,CAIA,IAAImJ,EAAUtJ,GAASE,EAAyB6I,EAAiB5I,GAEjE,GAAIE,EAAU,CACZ,IAAIkJ,EAAavJ,EAAMM,MAAMD,GAE7B,GAAIiJ,GACclJ,EAA8B2I,EAAiB5I,EAAKE,IAElDkJ,GAChBf,EAAOP,YAAYhI,KAAKE,QAEjBoJ,GACTf,EAAOP,YAAYhI,KAAKE,QAEhBmJ,GACVd,EAAOP,YAAYhI,KAAKE,OAG5B4I,EAAgBhJ,SAAQ,SAAUC,GAChC,IAAIG,EAAMH,GAASA,EAAMG,IAEzB,IAAIH,IAASgI,EAAuB7H,GAApC,CAIA,IAAIqJ,EAAUxJ,GAASE,EAAyBuI,EAActI,GAE9D,GAAIE,EAAU,CACZ,IAAIoJ,EAAYzJ,EAAMM,MAAMD,GAE5B,GAAImJ,GACepJ,EAA8BqI,EAActI,EAAKE,IAE/CoJ,GACjBjB,EAAON,YAAYjI,KAAKE,QAEjBsJ,GACTjB,EAAON,YAAYjI,KAAKE,QAEhBqJ,GACVhB,EAAON,YAAYjI,KAAKE,SAI7B,CACDA,IAAK,qBACL0D,MAAO,WACL,IAAIoE,EAAc/B,KAAK+B,YACvB/B,KAAK+B,YAAc,GACnBA,EAAYlI,QAAQmG,KAAKwD,cACzB,IAAIxB,EAAchC,KAAKgC,YACvBhC,KAAKgC,YAAc,GACnBA,EAAYnI,QAAQmG,KAAKyD,gBAE1B,CACDxJ,IAAK,oBACL0D,MAAO,SAA2BkF,EAAiB5I,GACjD,IAAIE,EAAW6F,KAAK5F,MAAMD,SAE1B,OAAIA,EACKD,EAA8B2I,EAAiB5I,EAAKE,GAGtDH,EAAyB6I,EAAiB5I,KAElD,CACDA,IAAK,OACL0D,MAAO,SAAc1D,UACZ+F,KAAK8B,uBAAuB7H,GACnC,IAAIyJ,EAAY1D,KAAKkC,aAAajI,GAE9ByJ,GACFA,EAAUpG,SAGb,CACDrD,IAAK,SACL0D,MAAO,WACL,IAAIgG,EAAS3D,KAET5F,EAAQ4F,KAAK5F,MACjB4F,KAAKqC,UAAYjI,EACjB,IAAIwJ,EAAgB5D,KAAKiC,MAAMvI,SAC3BA,EAAW,KAEXkK,IACFlK,EAAWkK,EAAcC,KAAI,SAAU/J,GACrC,GAAIA,QACF,OAAOA,EAGT,IAAKA,EAAMG,IACT,MAAM,IAAIZ,MAAM,0CAGlB,OAAO,IAAMyK,cAAc,EAAc,CACvC7J,IAAKH,EAAMG,IACX8J,IAAK,SAAa9I,GAChB0I,EAAOzB,aAAapI,EAAMG,KAAOgB,GAEnCiD,UAAW9D,EAAM8D,UACjB5B,eAAgBlC,EAAMkC,eACtB+B,gBAAiBjE,EAAMiE,gBACvBJ,iBAAkB7D,EAAM6D,iBACxBO,gBAAiBpE,EAAMoE,iBACtB1E,OAIP,IAAIZ,EAAYkB,EAAMsJ,UAEtB,GAAIxK,EAAW,CACb,IAAI8K,EAAc5J,EASlB,MAPyB,iBAAdlB,IACT8K,EAAc9C,EAAS,CACrBzE,UAAWrC,EAAMqC,UACjBtB,MAAOf,EAAMe,OACZf,EAAM6J,iBAGJ,IAAMH,cAAc5K,EAAW8K,EAAatK,GAGrD,OAAOA,EAAS,IAAM,SAInBkI,EAlOK,CAmOZ,IAAM1I,WAER,EAAQgL,WAAY,EACpB,EAAQC,aAAe,CACrBjG,UAAW,GACXwF,UAAW,OACXO,eAAgB,GAChB5F,iBAAiB,EACjBG,iBAAiB,EACjBP,kBAAkB,EAClBmG,MAAOzC,EACP0C,QAAS1C,EACT2C,QAAS3C,EACT4C,SAAU5C,GAGZ,IAAI,EAAmB,WACrB,IAAI6C,EAASxE,KAEbA,KAAKwD,aAAe,SAAUvJ,GAExBuK,EAAOtC,aAAajI,KACtBuK,EAAO1C,uBAAuB7H,IAAO,EAErCuK,EAAOtC,aAAajI,GAAKwK,mBAAmBD,EAAOE,iBAAiBC,KAAKH,EAAQvK,EAAK,YAI1F+F,KAAKoC,cAAgB,SAAUnI,GACzBuK,EAAOtC,aAAajI,KACtBuK,EAAO1C,uBAAuB7H,IAAO,EAErCuK,EAAOtC,aAAajI,GAAK2K,oBAAoBJ,EAAOE,iBAAiBC,KAAKH,EAAQvK,EAAK,aAI3F+F,KAAK0E,iBAAmB,SAAUzK,EAAK4K,GACrC,IAAIzK,EAAQoK,EAAOpK,MAGnB,UAFOoK,EAAO1C,uBAAuB7H,IAEjCG,EAAMoI,WAAapI,IAAUoK,EAAOnC,UAAxC,CAIA,IAAIQ,EAAkBpJ,EAAgB+H,EAAqBpH,IAEtDoK,EAAOM,kBAAkBjC,EAAiB5I,GAG3B,WAAT4K,EACL,EAASnG,oBAAoBtE,KAC/BA,EAAMmK,SAAStK,GACfG,EAAMgK,MAAMnK,GAAK,IAEV,EAAS0E,mBAAmBvE,KACrCA,EAAMiK,QAAQpK,GACdG,EAAMgK,MAAMnK,GAAK,IARjBuK,EAAOf,aAAaxJ,KAYxB+F,KAAKyD,aAAe,SAAUxJ,GAExBuK,EAAOtC,aAAajI,KACtBuK,EAAO1C,uBAAuB7H,IAAO,EAErCuK,EAAOtC,aAAajI,GAAK8K,mBAAmBP,EAAOQ,kBAAkBL,KAAKH,EAAQvK,MAItF+F,KAAKgF,kBAAoB,SAAU/K,GACjC,IAAIG,EAAQoK,EAAOpK,MAGnB,UAFOoK,EAAO1C,uBAAuB7H,IAEjCG,EAAMoI,WAAapI,IAAUoK,EAAOnC,UAAxC,CAIA,IJ7V2B4C,EAAIC,EAAI/K,EACjCgL,EI4VEtC,EAAkBpJ,EAAgB+H,EAAqBpH,IAE3D,GAAIoK,EAAOM,kBAAkBjC,EAAiB5I,GAC5CuK,EAAOhB,aAAavJ,OACf,CACL,IAAI2C,EAAM,WACJ,EAASgC,mBAAmBxE,KAC9BA,EAAMkK,QAAQrK,GACdG,EAAMgK,MAAMnK,GAAK,KJrWIgL,EIyWLT,EAAOvC,MAAMvI,SJzWJwL,EIyWcrC,EJzWV1I,EIyW2BC,EAAMD,UJxWlEgL,EAAOF,EAAGpK,SAAWqK,EAAGrK,SAG1BoK,EAAGpL,SAAQ,SAAUC,EAAOsL,GAC1B,IAAIC,EAASH,EAAGE,GAEZtL,GAASuL,IACPvL,IAAUuL,IAAWvL,GAASuL,GAEvBvL,EAAMG,MAAQoL,EAAOpL,KAErBE,GAAYL,EAAMM,MAAMD,KAAckL,EAAOjL,MAAMD,MAH5DgL,GAAO,MAURA,EI2VDvI,IAJA4H,EAAOrB,SAAS,CACdzJ,SAAUmJ,GACTjG,OAQI,MAAyB,I,8SCtapC,EAA6B,SAAUkD,GACzC,YAAUwF,EAAexF,GAEzB,IAAIyF,EAAS,YAAaD,GAE1B,SAASA,IAGP,OAFA,YAAgBtF,KAAMsF,GAEfC,EAAOpF,MAAMH,KAAMI,WAkC5B,OA/BA,YAAakF,EAAe,CAAC,CAC3BrL,IAAK,wBACL0D,MAAO,SAA+B0E,GACpC,QAAIA,EAAUmD,gBAILnD,EAAUoD,mBAAqBpD,EAAUqD,WAEnD,CACDzL,IAAK,SACL0D,MAAO,WACL,IAAIgI,EAAc3F,KAAK5F,MACnBqC,EAAYkJ,EAAYlJ,UACxBgJ,EAAkBE,EAAYF,gBAC9BC,EAAUC,EAAYD,QAEtBE,GADcD,EAAYH,YACd,YAAyBG,EAAa,CAAC,YAAa,kBAAmB,UAAW,iBAE9FE,EAAepJ,EAMnB,OAJMgJ,IAAoBC,IACxBG,GAAgB,IAAI3C,OAAOuC,IAGtB,gBAAoB,MAAO3I,OAAOqE,OAAO,GAAIyE,EAAW,CAC7DnJ,UAAWoJ,SAKVP,EA1CwB,CA2C/B,aCvCEQ,EAAO,EAGX,SAASC,EAAUC,EAAGC,GACpB,IAAItM,EAAMqM,EAAE,OAAO9C,OAAO+C,EAAM,IAAM,IAAK,WACvCC,EAAS,SAAShD,OAAO+C,EAAM,MAAQ,QAE3C,GAAmB,iBAARtM,EAAkB,CAC3B,IAAIwM,EAAIH,EAAEI,SAGS,iBAFnBzM,EAAMwM,EAAEE,gBAAgBH,MAGtBvM,EAAMwM,EAAEG,KAAKJ,IAIjB,OAAOvM,EAGT,SAAS4M,EAAmBtL,EAAM0C,GAChC,IAAIxC,EAAQF,EAAKE,MACjB,CAAC,SAAU,MAAO,KAAM,MAAMtB,SAAQ,SAAUkE,GAC9C5C,EAAM,GAAG+H,OAAOnF,EAAQ,oBAAsBJ,KAEhDxC,EAAMqL,gBAAkB7I,EAgB1B,IAAI,EAAsB,SAAUmC,GAClC,YAAU2G,EAAQ3G,GAElB,IAAIyF,EAAS,YAAakB,GAE1B,SAASA,EAAOrM,GACd,IAAIyH,EAgTJ,OA9SA,YAAgB7B,KAAMyG,IAEtB5E,EAAQ0D,EAAOvI,KAAKgD,KAAM5F,IACpBsM,cAAe,EAErB7E,EAAM8E,eAAiB,WACrB,IAAIhB,EAAc9D,EAAMzH,MACpBwM,EAAajB,EAAYiB,WACzBC,EAAelB,EAAYkB,aAC3BC,EAAyBnB,EAAYmB,uBACrCC,EAAOpB,EAAYoB,KAcvB,GAXIlF,EAAMmF,OACRnF,EAAMmF,KAAK7L,MAAM8L,QAAU,QAG7BpF,EAAM6E,cAAe,EAGhBG,KACHhF,EAAMqF,wBAGJH,GAAQlF,EAAMsF,sBAAwBL,EAAwB,CAChE,IACEjF,EAAMsF,qBAAqBC,MAAM,CAC/BC,eAAe,IAEjB,MAAOvO,GACP+I,EAAMsF,qBAAuB,KAG/BtF,EAAMsF,qBAAuB,KAG3BP,GACFA,KAIJ/E,EAAMyF,kBAAoB,WACxBzF,EAAM0F,iBAAkB,GAG1B1F,EAAM2F,cAAgB,WAChB3F,EAAM0F,kBACR1F,EAAM4F,UAAYvL,YAAW,WAC3B2F,EAAM0F,iBAAkB,IACvB,KAIP1F,EAAM6F,YAAc,SAAU5O,GAExBwI,KAAKC,MAAQM,EAAM8F,SAAW,KAI9B7O,EAAEN,SAAWM,EAAE8O,eAAkB/F,EAAM0F,iBACzC1F,EAAMgG,MAAM/O,IAIhB+I,EAAMiG,UAAY,SAAUhP,GAC1B,IAAIiP,EAAelG,EAAMzH,MACrB4N,EAAWD,EAAaC,SACxBtC,EAAUqC,EAAarC,QAE3B,GAAIsC,GAAYlP,EAAEmP,UAAYC,EAAA,EAAQC,IAKpC,OAJArP,EAAEsP,uBAEFvG,EAAMgG,MAAM/O,GAMd,GAAI4M,GACE5M,EAAEmP,UAAYC,EAAA,EAAQG,IAAK,CAC7B,IACIC,EADYlC,SACckC,cAE1BxP,EAAEyP,SACAD,IAAkBzG,EAAM2G,eAC1B3G,EAAM4G,YAAYrB,QAEXkB,IAAkBzG,EAAM4G,aACjC5G,EAAM2G,cAAcpB,UAM5BvF,EAAM6G,iBAAmB,WACvB,IA0BIC,EASAC,EAYAC,EA/CAC,EAAejH,EAAMzH,MACrB2O,EAAWD,EAAaC,SACxBC,EAAYF,EAAaE,UACzBC,EAAQH,EAAaG,MACrBC,EAASJ,EAAaI,OACtBC,EAASL,EAAaK,OACtBC,EAAQN,EAAaM,MACrBC,EAAYP,EAAaO,UACzBlO,EAAQ2N,EAAa3N,MACrBsB,EAAYqM,EAAarM,UACzBiJ,EAAUoD,EAAapD,QACvBF,EAAcsD,EAAatD,YAC3B8D,EAAYR,EAAaQ,UACzBC,EAAYT,EAAaS,UACzB7P,EAAWoP,EAAapP,SACxB8P,EAAiBV,EAAaU,eAC9BC,EAAO,QAEG3L,IAAVmL,IACFQ,EAAKR,MAAQA,QAGAnL,IAAXoL,IACFO,EAAKP,OAASA,GAKZC,IACFR,EAAa,gBAAoB,MAAO,CACtClM,UAAW,GAAGyG,OAAO8F,EAAW,WAChCjF,IAAKlC,EAAM6H,QAAQ,WAClBP,IAKDC,IACFR,EAAa,gBAAoB,MAAO,CACtCnM,UAAW,GAAGyG,OAAO8F,EAAW,WAChCjF,IAAKlC,EAAM6H,QAAQ,WAClB,gBAAoB,MAAO,CAC5BjN,UAAW,GAAGyG,OAAO8F,EAAW,UAChCW,GAAI9H,EAAM+H,SACTR,KAKDL,IACFF,EAAS,gBAAoB,SAAU,CACrChE,KAAM,SACNgF,QAAShI,EAAMgG,MACf,aAAc,QACdpL,UAAW,GAAGyG,OAAO8F,EAAW,WAC/BK,GAAa,gBAAoB,OAAQ,CAC1C5M,UAAW,GAAGyG,OAAO8F,EAAW,gBAIpC,IAAIc,EAAW,YAAc,YAAc,GAAI3O,GAAQsO,GAEnDM,EAAgB,CAClBd,MAAO,EACPC,OAAQ,EACRc,SAAU,SACVC,QAAS,QAGP3N,EAAiBuF,EAAMqI,oBAEvBC,EAAgB,gBAAoB,EAAe,CACrDlQ,IAAK,iBACLmQ,KAAM,WACNrG,IAAKlC,EAAM6H,QAAQ,UACnBvO,MAAO2O,EACPrN,UAAW,GAAGyG,OAAO8F,EAAW,KAAK9F,OAAOzG,GAAa,IACzDiJ,QAASA,EACTF,YAAaA,EACb6E,YAAaxI,EAAMyF,mBAClB,gBAAoB,MAAO,CAC5BgD,SAAU,EACVvG,IAAKlC,EAAM6H,QAAQ,iBACnBvO,MAAO4O,EACP,cAAe,SACb,gBAAoB,MAAO,CAC7BtN,UAAW,GAAGyG,OAAO8F,EAAW,aAC/BH,EAAQD,EAAY,gBAAoB,MAAO9L,OAAOqE,OAAO,CAC9D1E,UAAW,GAAGyG,OAAO8F,EAAW,SAChC7N,MAAOmO,EACPvF,IAAKlC,EAAM6H,QAAQ,SAClBH,GAAY7P,GAAWiP,GAAa,gBAAoB,MAAO,CAChE2B,SAAU,EACVvG,IAAKlC,EAAM6H,QAAQ,eACnBvO,MAAO4O,EACP,cAAe,UAEjB,OAAO,gBAAoBnI,EAAA,EAAS,CAClC3H,IAAK,SACLE,SAAU,UACVmK,QAASzC,EAAM8E,eACfrK,eAAgBA,EAChBoH,UAAW,GACXzF,kBAAkB,GACjByH,IAAY8D,EAAiBW,EAAgB,OAGlDtI,EAAM0I,eAAiB,WACrB,IAAIpP,EAAQ,GACRqP,EAAS3I,EAAMzH,MAAMoQ,OAMzB,YAJe1M,IAAX0M,IACFrP,EAAMqP,OAASA,GAGVrP,GAGT0G,EAAM4I,aAAe,WACnB,OAAO,YAAc,YAAc,GAAI5I,EAAM0I,kBAAmB1I,EAAMzH,MAAMsQ,YAG9E7I,EAAM8I,aAAe,WACnB,OAAO,YAAc,YAAc,GAAI9I,EAAM0I,kBAAmB1I,EAAMzH,MAAMwQ,YAG9E/I,EAAMgJ,eAAiB,WACrB,IAKIC,EALAC,EAAelJ,EAAMzH,MACrB2M,EAAOgE,EAAahE,KACpBiC,EAAY+B,EAAa/B,UACzBtD,EAAUqF,EAAarF,QACvBsF,EAAYD,EAAaC,UAG7B,GAAIjE,EAAM,CACR,IAAIkE,EAAiBpJ,EAAMqJ,wBAE3BJ,EAAc,gBAAoB,EAAehO,OAAOqE,OAAO,CAC7DhG,MAAO0G,EAAM8I,eACb1Q,IAAK,OACLwC,UAAW,GAAGyG,OAAO8F,EAAW,SAChCvD,gBAAiB,GAAGvC,OAAO8F,EAAW,gBACtCtD,QAASA,GACRsF,IAECC,IACFH,EAAc,gBAAoBlJ,EAAA,EAAS,CACzC3H,IAAK,OACLE,SAAU,UACV8D,kBAAkB,EAClByF,UAAW,GACXpH,eAAgB2O,GACfH,IAIP,OAAOA,GAGTjJ,EAAMqJ,sBAAwB,WAC5B,IAAIC,EAAetJ,EAAMzH,MACrBgR,EAAqBD,EAAaC,mBAClCC,EAAgBF,EAAaE,cAC7BrC,EAAYmC,EAAanC,UACzB1M,EAAiB8O,EACjBlN,EAAYmN,EAMhB,OAJK/O,GAAkB4B,IACrB5B,EAAiB,GAAG4G,OAAO8F,EAAW,KAAK9F,OAAOhF,IAG7C5B,GAGTuF,EAAMqI,kBAAoB,WACxB,IAAIoB,EAAezJ,EAAMzH,MACrBkC,EAAiBgP,EAAahP,eAC9B4B,EAAYoN,EAAapN,UACzB8K,EAAYsC,EAAatC,UACzBuC,EAAuBjP,EAM3B,OAJKA,GAAkB4B,IACrBqN,EAAuB,GAAGrI,OAAO8F,EAAW,KAAK9F,OAAOhF,IAGnDqN,GAGT1J,EAAMgG,MAAQ,SAAU/O,GACtB,IAAI0S,EAAU3J,EAAMzH,MAAMoR,QAEtBA,GACFA,EAAQ1S,IAIZ+I,EAAM6H,QAAU,SAAUxO,GACxB,OAAO,SAAUD,GACf4G,EAAM3G,GAAQD,IAIlB4G,EAAM+H,QAAU,gBAAgB1G,OAAO4C,GACvCA,GAAQ,EAERjE,EAAMqF,sBAAwB9M,EAAM8M,uBAAyB,aAEtDrF,EA4FT,OAzFA,YAAa4E,EAAQ,CAAC,CACpBxM,IAAK,oBACL0D,MAAO,WACLqC,KAAKyL,mBAAmB,IAEpBzL,KAAK5F,MAAMoL,aAAexF,KAAK5F,MAAMsL,UAIpC1F,KAAK5F,MAAMoL,cAA2C,IAA5BxF,KAAK5F,MAAMsR,eAA2B1L,KAAK5F,MAAMsL,UAAY1F,KAAKgH,OAC/FhH,KAAKgH,KAAK7L,MAAM8L,QAAU,UAG7B,CACDhN,IAAK,qBACL0D,MAAO,SAA4BgO,GACjC,IAtVUC,EACVC,EACAC,EAIAC,EACA/F,EA+UIN,EAAU1F,KAAK5F,MAAMsL,QACrBsG,EAAgBhM,KAAK5F,MAAM4R,cAE/B,GAAItG,GAEF,IAAKiG,EAAUjG,QAAS,CACtB1F,KAAK2H,SAAWrG,KAAKC,MACrBvB,KAAKkH,wBACLlH,KAAKiM,WAEL,IAAIC,EAAa,cAAqBlM,KAAKmM,QAE3C,GAAIH,EAAe,CACjB,IAAII,GAlWVP,GADUD,EAmWkBM,GAlWlBG,wBACVP,EAAM,CACRQ,KAAMT,EAAKS,KACXrG,IAAK4F,EAAK5F,KAER8F,EAAMH,EAAGW,cACTvG,EAAI+F,EAAIS,aAAeT,EAAIU,aAC/BX,EAAIQ,MAAQvG,EAAUC,GACtB8F,EAAI7F,KAAOF,EAAUC,GAAG,GACjB8F,GA0VGvF,EAAmB2F,EAAY,GAAGhJ,OAAO8I,EAAcU,EAAIN,EAASE,KAAM,OAAOpJ,OAAO8I,EAAcW,EAAIP,EAASnG,IAAK,YAExHM,EAAmB2F,EAAY,UAG1BP,EAAUjG,UACnB1F,KAAK0G,cAAe,KAGvB,CACDzM,IAAK,uBACL0D,MAAO,WACL,IAAIiP,EAAe5M,KAAK5F,MACpBsL,EAAUkH,EAAalH,QACvBmB,EAAe+F,EAAa/F,cAE3BnB,IAAW1F,KAAK0G,cAAkBG,KACrC7G,KAAKkH,wBAGP7K,aAAa2D,KAAKyH,aAEnB,CACDxN,IAAK,WACL0D,MAAO,YClaI,SAAkBkP,EAAMC,GAGrC,IAFA,IAAI7R,EAAO6R,EAEJ7R,GAAM,CACX,GAAIA,IAAS4R,EACX,OAAO,EAGT5R,EAAOA,EAAK8R,WAGd,OAAO,GDwZEC,CAAShN,KAAKgH,KAAMZ,SAASkC,iBAChCtI,KAAKmH,qBAAuBf,SAASkC,cACrCtI,KAAKwI,cAAcpB,WAGtB,CACDnN,IAAK,SACL0D,MAAO,WACL,IAAIvD,EAAQ4F,KAAK5F,MACb4O,EAAY5O,EAAM4O,UAClBiE,EAAe7S,EAAM6S,aACrB9R,EAAQ6E,KAAKyK,eAOjB,OAJIrQ,EAAMsL,UACRvK,EAAM8L,QAAU,MAGX,gBAAoB,MAAO,CAChCxK,UAAW,GAAGyG,OAAO8F,EAAW,UAC/BhJ,KAAK6K,iBAAkB,gBAAoB,MAAO/N,OAAOqE,OAAO,CACjEmJ,UAAW,EACXxC,UAAW9H,KAAK8H,UAChBrL,UAAW,GAAGyG,OAAO8F,EAAW,UAAU9F,OAAO9I,EAAM8S,eAAiB,IACxEnJ,IAAK/D,KAAK0J,QAAQ,QAClBG,QAASoD,EAAejN,KAAK0H,YAAc,KAC3CyF,UAAWF,EAAejN,KAAKwH,cAAgB,KAC/C4C,KAAM,SACN,kBAAmBhQ,EAAMgP,MAAQpJ,KAAK4J,QAAU,KAChDzO,MAAOA,GACNf,EAAMgT,WAAYpN,KAAK0I,yBAIvBjC,EAlZiB,CAmZxB,aAGF,EAAOtC,aAAe,CACpB1H,UAAW,GACXsK,MAAM,EACNrB,SAAS,EACTsC,UAAU,EACVe,UAAU,EACVkE,cAAc,EACdzD,gBAAgB,EAChBR,UAAW,YACXlC,wBAAwB,GEtcV,ICXD,EDWC,YACd,IAAIpB,EAAUtL,EAAMsL,QAChBgG,EAAetR,EAAMsR,aACrBlG,EAAcpL,EAAMoL,YAExB,OAAqB,IAAjBkG,EACK,gBAAoB,EAAQ5O,OAAOqE,OAAO,GAAI/G,EAAO,CAC1DyM,aAAc,WACZ,OAAO,MAKN,gBAAoB,IAAQ,CACjCnB,QAASA,EACTF,YAAaA,EACbkG,aAAcA,IACb,SAAU2B,GACX,OAAO,gBAAoB,EAAQvQ,OAAOqE,OAAO,GAAI/G,EAAOiT,Q,4HEsEjD,EA9FI,SAAsBjT,GACvC,IAAIkT,EAAa,UAAa,GAC1BvJ,EAAM,WAENwJ,EAAkB,YAAe,GACjCC,EAAmB,IAAeD,EAAiB,GACnDE,EAAUD,EAAiB,GAC3BE,EAAaF,EAAiB,GAElC,aAAgB,WACd,IAAI/F,EAEJ,GAAIrN,EAAMuT,UAAW,CACnB,IAAIC,EAAQ7J,EAAI8J,QAChBpG,EAAYvL,YAAW,WACrB,OAAO0R,EAAMxG,WAIjB,OAAO,WACDK,GACFpL,aAAaoL,MAGhB,IAEH,IAuDI5C,EAAOzK,EAAMyK,KACbnL,EAAWU,EAAMV,SACjBsP,EAAY5O,EAAM4O,UAClB8E,EAAc1T,EAAM0T,YACxB,OAAoB,gBAAoB,IAAQ,IAAS,GAAI,YAAmBjJ,GAAO,CACrFgF,QAtCY,WACZ,IAAIkE,EAAW3T,EAAM2T,SACjBC,EAAa5T,EAAM4T,WAEvB,IAAIV,EAAWO,QAMf,GAFAP,EAAWO,SAAU,EAEhBE,EAAL,CAKA,IAAIE,EAEJ,GAAIF,EAASlT,OACXoT,EAAoBF,EAASC,GAE7BV,EAAWO,SAAU,OAIrB,KAFAI,EAAoBF,KAIlB,YADAC,KA/CkB,SAA2BC,GACjD,IAAID,EAAa5T,EAAM4T,WAElBC,GAAsBA,EAAkBC,OAI7CR,GAAW,GACXO,EAAkBC,MAAK,WAGrBF,EAAW7N,WAAM,EAAQC,cACxB,SAAUtH,GAGXqV,QAAQC,MAAMtV,GAEd4U,GAAW,GACXJ,EAAWO,SAAU,MAkCvBQ,CAAkBJ,QAnBhBD,KA4BFP,QAASA,EACTzE,UAAWA,GACV8E,EAAa,CACd/J,IAAKA,IACHrK,I,YCLS,EArFK,SAAuBU,GACzC,IAAIkU,EAAOlU,EAAMkU,KACbC,EAAWnU,EAAMmU,SACjBC,EAAOpU,EAAMoU,KACb3G,EAAQzN,EAAMyN,MACd2C,EAASpQ,EAAMoQ,OACf5D,EAAaxM,EAAMwM,WACnBlB,EAAUtL,EAAMsL,QAChBsC,EAAW5N,EAAM4N,SACjByG,EAAWrU,EAAMqU,SACjB/C,EAAetR,EAAMsR,aACrBd,EAAYxQ,EAAMwQ,UAClB8D,EAAStU,EAAMsU,OACfC,EAAgBvU,EAAMuU,cACtBC,EAAaxU,EAAMwU,WACnBC,EAAoBzU,EAAMyU,kBAC1BC,EAAY1U,EAAM0U,UAClB9F,EAAY5O,EAAM4O,UAClB+F,EAAgB3U,EAAM2U,cAC1B,OAAAC,EAAA,KAA6B,iBAATV,GAAqBA,EAAKzT,OAAS,GAAI,QAAS,2EAA2EqI,OAAOoL,EAAM,4CAE5J,IAAIW,EAAS7U,EAAM6U,QAAU,UACzBC,EAAmB,GAAGhM,OAAO8F,EAAW,YAExCmG,IAAW,aAAc/U,IAAQA,EAAM+U,SACvClG,EAAQ7O,EAAM6O,OAAS,IACvB9N,EAAQf,EAAMe,OAAS,GACvB4L,OAAsBjJ,IAAf1D,EAAM2M,MAA4B3M,EAAM2M,KAE/CkG,OAAsCnP,IAAvB1D,EAAM6S,cAAqC7S,EAAM6S,aAChEmC,EAA4C,OAA1BhV,EAAMgV,kBAAmChV,EAAMgV,iBAAmB,MACpF9S,EAAiBlC,EAAMkC,gBAAkB,OACzC8O,EAAqBhR,EAAMgR,oBAAsB,OACjDiE,EAAc,IAAWH,EAAkB,GAAGhM,OAAOgM,EAAkB,KAAKhM,OAAO9I,EAAMyK,MAAO,IAAgB,GAAI,GAAG3B,OAAOgM,EAAkB,QAAuB,QAAdJ,GAAsB1U,EAAMqC,WACrL6S,EAAeH,GAAyB,gBAAoB,EAAc,CAC5EpB,SAAUQ,EACVP,WAAYnG,EACZ8F,UAA+B,WAApByB,EACXtB,YAAae,EACb7F,UAAW,GAAG9F,OAAO6L,EAAe,SACnCH,GACH,OAAoB,gBAAoB,GAAQ,CAC9C5F,UAAWA,EACXvM,UAAW4S,EACXnC,cAAe,IAAW,IAAgB,GAAI,GAAGhK,OAAOgM,EAAkB,eAAgB9U,EAAMqU,WAChGF,SAAU,WACR,OAAO1G,EAAM,CACX0H,eAAe,KAGnB7J,QAASA,EACT0D,MAAO,GACP9M,eAAgBA,EAChB6M,OAAQ,GACRiC,mBAAoBA,EACpBrE,KAAMA,EACNkG,aAAcA,EACdrC,UAAWA,EACXzP,MAAOA,EACP8N,MAAOA,EACPuB,OAAQA,EACR5D,WAAYA,EACZoB,SAAUA,EACVyG,SAAUA,EACV/C,aAAcA,GACA,gBAAoB,MAAO,CACzCjP,UAAW,GAAGyG,OAAOgM,EAAkB,kBACzB,gBAAoB,MAAO,CACzCzS,UAAW,GAAGyG,OAAOgM,EAAkB,UACtCZ,OAAsBxQ,IAAhB1D,EAAMgP,MAAsB,KAAoB,gBAAoB,OAAQ,CACnF3M,UAAW,GAAGyG,OAAOgM,EAAkB,WACtC9U,EAAMgP,OAAqB,gBAAoB,MAAO,CACvD3M,UAAW,GAAGyG,OAAOgM,EAAkB,aACtC9U,EAAMoV,UAAwB,gBAAoB,MAAO,CAC1D/S,UAAW,GAAGyG,OAAOgM,EAAkB,UACtCI,EAA2B,gBAAoB,EAAc,CAC9DzK,KAAMoK,EACNlB,SAAUS,EACVR,WAAYnG,EACZ8F,UAA+B,OAApByB,EACXtB,YAAaa,EACb3F,UAAW,GAAG9F,OAAO6L,EAAe,SACnCL,O,oCCjFD,EAAY,SAAmBe,EAAM1L,GACvC,IAAI6C,EAAa6I,EAAK7I,WAClB8I,EAASD,EAAKC,OAEdnC,EAAkB,YAAe,GACjCC,EAAmB,IAAeD,EAAiB,GACnD7H,EAAU8H,EAAiB,GAC3BmC,EAAanC,EAAiB,GAE9BoC,EAAmB,WAAeF,GAClCG,EAAmB,IAAeD,EAAkB,GACpDE,EAAcD,EAAiB,GAC/BE,EAAiBF,EAAiB,GAElCG,EAAoB,aAAiB,KACrClB,EAAYkB,EAAkBlB,UAC9BmB,EAAeD,EAAkBC,aAEjCjH,EAAYiH,EAAa,SACzBlB,EAAgBkB,IAEpB,SAASpI,IACP8H,GAAW,GAab,OAVA,sBAA0B5L,GAAK,WAC7B,MAAO,CACLmM,QAASrI,EACTsI,OAAQ,SAAgBC,GACtBL,GAAe,SAAUM,GACvB,OAAO,IAAS,IAAS,GAAIA,GAAeD,WAKhC,gBAAoBE,EAAA,EAAgB,CACtDC,cAAe,QACfC,cAAe,IAAcC,QAC5B,SAAUC,GACX,OAAoB,gBAAoB,EAAe,IAAS,CAC9D1H,UAAWA,EACX+F,cAAeA,GACde,EAAa,CACdjI,MAAOA,EACPnC,QAASA,EACTkB,WAAYA,EACZ8H,OAAQoB,EAAYpB,SAAWoB,EAAYX,SAAWuB,EAAYhC,OAASgC,EAAYC,YACvF7B,UAAWA,EACXF,WAAYkB,EAAYlB,YAAc8B,EAAY9B,kBAK5B,eAAiB,G,oFC1DzC,EAAgB,IAAS,GAAI,IAAc6B,OASxC,SAASG,IACd,OAAO,ECXT,IAAIC,GAAgC,SAAUtT,EAAGzE,GAC/C,IAAIgY,EAAI,GAER,IAAK,IAAIpT,KAAKH,EACRT,OAAO3D,UAAUqE,eAAeR,KAAKO,EAAGG,IAAM5E,EAAEiY,QAAQrT,GAAK,IAAGoT,EAAEpT,GAAKH,EAAEG,IAG/E,GAAS,MAALH,GAAqD,mBAAjCT,OAAOkU,sBAA2C,KAAI1V,EAAI,EAAb,IAAgBoC,EAAIZ,OAAOkU,sBAAsBzT,GAAIjC,EAAIoC,EAAE7C,OAAQS,IAClIxC,EAAEiY,QAAQrT,EAAEpC,IAAM,GAAKwB,OAAO3D,UAAU8X,qBAAqBjU,KAAKO,EAAGG,EAAEpC,MAAKwV,EAAEpT,EAAEpC,IAAMiC,EAAEG,EAAEpC,KAEhG,OAAOwV,GAYLI,GAAuB,MAE3B,SAASC,KACP,OAAOD,GAGM,SAAS,GAAQxB,GAC9B,IAAI0B,EAAMhL,SAAStC,cAAc,OACjCsC,SAASE,KAAK+K,YAAYD,GAE1B,IAAIE,EAAgB,IAAS,IAAS,GAAI5B,GAAS,CACjD7H,MAAOA,EACPnC,SAAS,IAGX,SAASwK,IACP,IAAIqB,EAAgB,yBAAgCH,GAEhDG,GAAiBH,EAAIrE,YACvBqE,EAAIrE,WAAWyE,YAAYJ,GAG7B,IAAK,IAAIK,EAAOrR,UAAUvF,OAAQ6W,EAAO,IAAIC,MAAMF,GAAOG,EAAO,EAAGA,EAAOH,EAAMG,IAC/EF,EAAKE,GAAQxR,UAAUwR,GAGzB,IAAIrC,EAAgBmC,EAAKG,MAAK,SAAUC,GACtC,OAAOA,GAASA,EAAMvC,iBAGpBG,EAAOnB,UAAYgB,GACrBG,EAAOnB,SAASpO,MAAMuP,EAAQgC,GAGhC,IAAK,IAAIpW,EAAI,EAAGA,EAAIyW,GAAWlX,OAAQS,IAAK,CAC1C,IAAI0W,EAAKD,GAAWzW,GAEpB,GAAI0W,IAAOnK,EAAO,CAChBkK,GAAWE,OAAO3W,EAAG,GACrB,QAKN,SAAS4W,EAAOC,GACd,IAAIzD,EAASyD,EAAGzD,OACZE,EAAauD,EAAGvD,WAChB5F,EAAYmJ,EAAGnJ,UACf5O,EAAQyW,GAAOsB,EAAI,CAAC,SAAU,aAAc,cAOhDjW,YAAW,WACT,IAAIkW,EAAgBxB,IACpB,SAA8B,gBAAoB,EAAe,IAAS,GAAIxW,EAAO,CACnF4O,UAAWA,GAAa,GAAG9F,OAAOiO,KAAoB,UACtDpC,cAAeoC,KACfzC,OAAQA,IAAWtU,EAAM+U,SAAWiD,EAAc1D,OAAS0D,EAAczB,YACzE/B,WAAYA,GAAcwD,EAAcxD,cACrCwC,MAIT,SAASvJ,IACP,IAAK,IAAIwK,EAAQjS,UAAUvF,OAAQ6W,EAAO,IAAIC,MAAMU,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACpFZ,EAAKY,GAASlS,UAAUkS,GAO1BJ,EAJAZ,EAAgB,IAAS,IAAS,GAAIA,GAAgB,CACpD5L,SAAS,EACTkB,WAAYsJ,EAAQvL,KAAKxE,MAAM+P,EAAS,CAAClQ,MAAMkD,OAAOwO,OAY1D,OAFAQ,EAAOZ,GACPS,GAAWhY,KAAK8N,GACT,CACLqI,QAASrI,EACTsI,OATF,SAAgBC,GAEd8B,EADAZ,EAAgB,IAAS,IAAS,GAAIA,GAAgBlB,MAWnD,SAASmC,GAASnY,GACvB,OAAO,IAAS,CACdyK,KAAM,UACNyJ,KAAmB,gBAAoB,IAA2B,MAClEa,UAAU,GACT/U,GAEE,SAASoY,GAASpY,GACvB,OAAO,IAAS,CACdyK,KAAM,OACNyJ,KAAmB,gBAAoB,IAAoB,MAC3Da,UAAU,GACT/U,GAEE,SAASqY,GAAYrY,GAC1B,OAAO,IAAS,CACdyK,KAAM,UACNyJ,KAAmB,gBAAoB,IAAqB,MAC5Da,UAAU,GACT/U,GAEE,SAASsY,GAAUtY,GACxB,OAAO,IAAS,CACdyK,KAAM,QACNyJ,KAAmB,gBAAoB,IAAqB,MAC5Da,UAAU,GACT/U,GAEE,SAASuY,GAAYvY,GAC1B,OAAO,IAAS,CACdyK,KAAM,UACNyJ,KAAmB,gBAAoB,IAA2B,MAClEa,UAAU,GACT/U,GC9IL,IAAI,GAAO,ECFX,IAwBI,GAxBA,GAAgC,SAAUmD,EAAGzE,GAC/C,IAAIgY,EAAI,GAER,IAAK,IAAIpT,KAAKH,EACRT,OAAO3D,UAAUqE,eAAeR,KAAKO,EAAGG,IAAM5E,EAAEiY,QAAQrT,GAAK,IAAGoT,EAAEpT,GAAKH,EAAEG,IAG/E,GAAS,MAALH,GAAqD,mBAAjCT,OAAOkU,sBAA2C,KAAI1V,EAAI,EAAb,IAAgBoC,EAAIZ,OAAOkU,sBAAsBzT,GAAIjC,EAAIoC,EAAE7C,OAAQS,IAClIxC,EAAEiY,QAAQrT,EAAEpC,IAAM,GAAKwB,OAAO3D,UAAU8X,qBAAqBjU,KAAKO,EAAGG,EAAEpC,MAAKwV,EAAEpT,EAAEpC,IAAMiC,EAAEG,EAAEpC,KAEhG,OAAOwV,GAeEiB,GAAa,GAgBF,oBAAX3W,QAA0BA,OAAOgL,UAAYhL,OAAOgL,SAASC,iBACtE,OAAAtN,EAAA,GAAiBqN,SAASC,gBAAiB,SAftB,SAA0BvN,GAC/C,GAAgB,CACd4T,EAAG5T,EAAE8Z,MACLjG,EAAG7T,EAAE+Z,OAKP3W,YAAW,WACT,GAAgB,OACf,QAQL,IAAI,GAAQ,SAAe9B,GACzB,IAAI0Y,EAEA9C,EAAoB,aAAiB,KACrC+C,EAA2B/C,EAAkBgD,kBAC7C/C,EAAeD,EAAkBC,aACjCnB,EAAYkB,EAAkBlB,UAE9BmE,EAAe,SAAsBna,GACvC,IAAIyV,EAAWnU,EAAMmU,SAEjBA,GACFA,EAASzV,IAIToa,EAAW,SAAkBpa,GAC/B,IAAI0V,EAAOpU,EAAMoU,KAEbA,GACFA,EAAK1V,IAILqa,EAAe,SAAsBC,GACvC,IAAI1E,EAAStU,EAAMsU,OACfO,EAAS7U,EAAM6U,OACfL,EAAaxU,EAAMwU,WACnByE,EAAiBjZ,EAAMiZ,eAC3B,OAAoB,gBAAoB,WAAgB,KAAmB,gBAAoB,IAAQ,IAAS,CAC9GxJ,QAASoJ,GACR7Y,EAAMyU,mBAAoBD,GAAcwE,EAAOxE,YAA0B,gBAAoB,IAAQ,IAAS,GAAI,YAAmBK,GAAS,CAC/IxB,QAAS4F,EACTxJ,QAASqJ,GACR9Y,EAAMuU,eAAgBD,GAAU0E,EAAO1E,UAGxC4E,EAAqBlZ,EAAM4O,UAC3BG,EAAS/O,EAAM+O,OACfzD,EAAUtL,EAAMsL,QAChBwH,EAAgB9S,EAAM8S,cACtBuB,EAAWrU,EAAMqU,SACjB/C,EAAetR,EAAMsR,aACrBrC,EAAYjP,EAAMiP,UAClBzD,EAAY,GAAOxL,EAAO,CAAC,YAAa,SAAU,UAAW,gBAAiB,WAAY,eAAgB,cAE1G4O,EAAYiH,EAAa,QAASqD,GAClCC,EAA6B,gBAAoBjD,EAAA,EAAgB,CACnEC,cAAe,QACfC,cAAeI,KACduC,GACCK,EAAiC,gBAAoB,OAAQ,CAC/D/W,UAAW,GAAGyG,OAAO8F,EAAW,aAC/BK,GAA0B,gBAAoB,IAAe,CAC9D5M,UAAW,GAAGyG,OAAO8F,EAAW,kBAE9ByK,EAAwB,IAAWvG,GAAgB4F,EAAc,GAAI,IAAgBA,EAAa,GAAG5P,OAAO8F,EAAW,eAAgByF,GAAW,IAAgBqE,EAAa,GAAG5P,OAAO8F,EAAW,aAA4B,QAAd8F,GAAsBgE,IAC5O,OAAoB,gBAAoB,EAAQ,IAAS,GAAIlN,EAAW,CACtE8F,kBAA+B5N,IAAjB4N,EAA6BqH,EAA2BrH,EACtE1C,UAAWA,EACXkE,cAAeuG,EACftK,YAAmBrL,IAAXqL,EAAuBoK,EAAgBpK,EAC/CzD,QAASA,EACTsG,cAAe,GACfR,QAASyH,EACT5J,UAAWmK,MAIf,GAAME,SD/GS,WACb,IAAIC,EEJS,WACb,IAAIpG,EAAkB,WAAe,IACjCC,EAAmB,IAAeD,EAAiB,GACnDqG,EAAWpG,EAAiB,GAC5BqG,EAAcrG,EAAiB,GAkBnC,MAAO,CAACoG,EAhBR,SAAsBE,GAOpB,OALAD,GAAY,SAAUE,GACpB,MAAO,GAAG7Q,OAAO,IAAmB6Q,GAAiB,CAACD,OAIjD,WACLD,GAAY,SAAUE,GACpB,OAAOA,EAAe5R,QAAO,SAAU6R,GACrC,OAAOA,IAAQF,WFZAG,GACnBC,EAAoB,IAAeP,EAAkB,GACrDC,EAAWM,EAAkB,GAC7BC,EAAeD,EAAkB,GAErC,SAASE,EAAeC,GACtB,OAAO,SAAqB3E,GAC1B,IAAQ,EACR,IACI4E,EADAC,EAAwB,cAExBC,EAAqB,gBAAoB,EAAW,CACtDva,IAAK,SAASiJ,OAAO,IACrBwM,OAAQ2E,EAAS3E,GACjB3L,IAAKwQ,EACL3N,WAAY,WACV0N,OAIJ,OADAA,EAAYH,EAAaK,GAClB,CACLtE,QAAS,WACHqE,EAAS1G,SACX0G,EAAS1G,QAAQqC,WAGrBC,OAAQ,SAAgBC,GAClBmE,EAAS1G,SACX0G,EAAS1G,QAAQsC,OAAOC,MAOlC,MAAO,CAAC,CACNqE,KAAML,EAAe5B,IACrBkC,QAASN,EAAe3B,IACxBrE,MAAOgG,EAAe1B,IACtBiC,QAASP,EAAe7B,IACxBqC,QAASR,EAAezB,KACV,gBAAoB,WAAgB,KAAMiB,KCuE5D,GAAMzP,aAAe,CACnB8E,MAAO,IACP3M,eAAgB,OAChB8O,mBAAoB,OACpBiI,gBAAgB,EAChB3N,SAAS,EACTuJ,OAAQ,WAEK,UE3Hf,SAAS4F,GAAUza,GACjB,OAAO,GAAQmY,GAASnY,IAG1B,IAAI,GAAQ,GAEZ,GAAMqa,KAAO,SAAgBra,GAC3B,OAAO,GAAQoY,GAASpY,KAG1B,GAAMsa,QAAU,SAAmBta,GACjC,OAAO,GAAQqY,GAAYrY,KAG7B,GAAMgU,MAAQ,SAAiBhU,GAC7B,OAAO,GAAQsY,GAAUtY,KAG3B,GAAMua,QAAUE,GAChB,GAAMC,KAAOD,GAEb,GAAMD,QAAU,SAAmBxa,GACjC,OAAO,GAAQuY,GAAYvY,KAG7B,GAAM2a,WAAa,WACjB,KAAOhD,GAAWlX,QAAQ,CACxB,IAAIgN,EAAQkK,GAAWiD,MAEnBnN,GACFA,MAKN,GAAM6H,OJ+GC,SAAsBD,GAC3B,IAAIV,EAAgBU,EAAKV,cAErBA,IACFmC,GAAuBnC,IIlHZ,U,kHCbTkG,GAAgB,CACpB,CACE,mFACA,8HAEF,CACE,kGACA,4DAEF,CACE,6CACA,gEAIEC,GAAoB,CACxB,CACE,2BACA,kEAEF,CACE,sBACA,6EAEF,CACE,8CACA,kEAEF,CACE,oBACA,sGAEF,CACE,oCACA,yFAIEC,GAAgB,CACpB,CACE,cACA,8CAEF,CACE,cACA,0DAEF,CACE,cACA,sEAEF,CACE,cACA,2DAIEC,GAAqB,CAAH,iJAsBlBC,GAAc,SAAC,GAAD,IAAGjM,EAAH,EAAGA,MAAOkM,EAAV,EAAUA,MAAV,OAClB,sBAAK7Y,UAAU,gBACb,yBAAK2M,GACL,qBACEmM,KAAK,QACLC,UAAQ,EACRC,WAAYH,EACZI,WAAY,gBAAEC,EAAF,KAAQC,EAAR,YACV,oBAAMC,KAAN,KACE,oBAAGD,KAAMA,EAAMpd,OAAO,SAASsd,IAAI,cAChCH,SAQPI,GAAY,WAAM,MACQC,oBAAS,GAAhCC,EADe,KACJC,EADI,OAEQF,mBAAS,MAAhCG,EAFe,KAENC,EAFM,OAGYJ,mBAAS,MAApCK,EAHe,KAGJC,EAHI,KAIhBC,EAAc,WAClBL,GAAS,GACTE,EAAW,MACXE,EAAa,OAEf,OACE,eAAC,KAAD,KACE,sBAAK7Z,UAAU,eACb,eAAC,KAAD,CAAK2M,MAAM,cACX,sBAAKoN,IAAKpB,IACR,8BACE,qBAAI3Y,UAAU,SAAd,aACA,+LAIG,IACD,oBAAGmZ,KAAK,8DAAR,2BAGC,IARH,eAYF,0BAASnZ,UAAU,SACjB,qBAAKga,OAAQ,IACX,qBAAKC,GAAI,GAAIC,GAAI,GAAIC,GAAI,IACvB,eAAC,GAAD,CAAaxN,MAAM,mBAAmBkM,MAAOL,MAE/C,qBAAKyB,GAAI,GAAIC,GAAI,GAAIC,GAAI,IACvB,eAAC,GAAD,CAAaxN,MAAM,eAAekM,MAAOJ,QAI/C,0BAASzY,UAAU,UACjB,mBACE2M,MAAOiN,EACP3Q,QAASuQ,EACTzH,KAAM+H,EACNhI,SAAUgI,EACVtN,MAAO,IACPE,OAAQ,CACN,oBAAQlP,IAAI,OAAO4P,QAAS0M,GAA5B,WAKF,yBACEtN,MAAM,MACNC,OAAO,MACP2N,IAAG,kCAAoC1B,GAAcgB,IAAYhB,GAAcgB,GAAS,IACxFW,YAAY,IACZC,MAAM,0EACNC,iBAAe,KAGnB,mCACA,wBACG7B,GAActR,KAAI,WAAcoT,GAAd,IAAEtN,EAAF,KAAMP,EAAN,YACjB,mBAAM8N,KAAN,KACE,sBACE9M,KAAK,SACLP,QAAS,WACPqM,GAAS,GACTE,EAAWa,GACXX,EAAalN,KAGf,yBAAKA,GACL,sBACEH,MAAM,OACNkO,IAAI,cACJN,IAAG,6BAA+BlN,EAA/B,kCAaVoM,kB","file":"component---src-pages-resources-tsx-9abe65d25dbd7d51658b.js","sourcesContent":["import ReactDOM from 'react-dom';\nexport default function addEventListenerWrap(target, eventType, cb, option) {\n /* eslint camelcase: 2 */\n var callback = ReactDOM.unstable_batchedUpdates ? function run(e) {\n ReactDOM.unstable_batchedUpdates(cb, e);\n } : cb;\n\n if (target.addEventListener) {\n target.addEventListener(eventType, callback, option);\n }\n\n return {\n remove: function remove() {\n if (target.removeEventListener) {\n target.removeEventListener(eventType, callback);\n }\n }\n };\n}","import React from 'react';\n\nvar unsafeLifecyclesPolyfill = function unsafeLifecyclesPolyfill(Component) {\n var prototype = Component.prototype;\n\n if (!prototype || !prototype.isReactComponent) {\n throw new Error('Can only polyfill class components');\n } // only handle componentWillReceiveProps\n\n\n if (typeof prototype.componentWillReceiveProps !== 'function') {\n return Component;\n } // In React 16.9, React.Profiler was introduced together with UNSAFE_componentWillReceiveProps\n // https://reactjs.org/blog/2019/08/08/react-v16.9.0.html#performance-measurements-with-reactprofiler\n\n\n if (!React.Profiler) {\n return Component;\n } // Here polyfill get started\n\n\n prototype.UNSAFE_componentWillReceiveProps = prototype.componentWillReceiveProps;\n delete prototype.componentWillReceiveProps;\n return Component;\n};\n\nexport default unsafeLifecyclesPolyfill;","import React from 'react';\nexport function toArrayChildren(children) {\n var ret = [];\n React.Children.forEach(children, function (child) {\n ret.push(child);\n });\n return ret;\n}\nexport function findChildInChildrenByKey(children, key) {\n var ret = null;\n\n if (children) {\n children.forEach(function (child) {\n if (ret) {\n return;\n }\n\n if (child && child.key === key) {\n ret = child;\n }\n });\n }\n\n return ret;\n}\nexport function findShownChildInChildrenByKey(children, key, showProp) {\n var ret = null;\n\n if (children) {\n children.forEach(function (child) {\n if (child && child.key === key && child.props[showProp]) {\n if (ret) {\n throw new Error('two child with same key for <rc-animate> children');\n }\n\n ret = child;\n }\n });\n }\n\n return ret;\n}\nexport function findHiddenChildInChildrenByKey(children, key, showProp) {\n var found = 0;\n\n if (children) {\n children.forEach(function (child) {\n if (found) {\n return;\n }\n\n found = child && child.key === key && !child.props[showProp];\n });\n }\n\n return found;\n}\nexport function isSameChildren(c1, c2, showProp) {\n var same = c1.length === c2.length;\n\n if (same) {\n c1.forEach(function (child, index) {\n var child2 = c2[index];\n\n if (child && child2) {\n if (child && !child2 || !child && child2) {\n same = false;\n } else if (child.key !== child2.key) {\n same = false;\n } else if (showProp && child.props[showProp] !== child2.props[showProp]) {\n same = false;\n }\n }\n });\n }\n\n return same;\n}\nexport function mergeChildren(prev, next) {\n var ret = []; // For each key of `next`, the list of keys to insert before that key in\n // the combined list\n\n var nextChildrenPending = {};\n var pendingChildren = [];\n prev.forEach(function (child) {\n if (child && findChildInChildrenByKey(next, child.key)) {\n if (pendingChildren.length) {\n nextChildrenPending[child.key] = pendingChildren;\n pendingChildren = [];\n }\n } else {\n pendingChildren.push(child);\n }\n });\n next.forEach(function (child) {\n if (child && Object.prototype.hasOwnProperty.call(nextChildrenPending, child.key)) {\n ret = ret.concat(nextChildrenPending[child.key]);\n }\n\n ret.push(child);\n });\n ret = ret.concat(pendingChildren);\n return ret;\n}","var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\n\nimport Event from './Event';\nvar isCssAnimationSupported = Event.endEvents.length !== 0;\nvar capitalPrefixes = ['Webkit', 'Moz', 'O', // ms is special .... !\n'ms'];\nvar prefixes = ['-webkit-', '-moz-', '-o-', 'ms-', ''];\n\nfunction getStyleProperty(node, name) {\n // old ff need null, https://developer.mozilla.org/en-US/docs/Web/API/Window/getComputedStyle\n var style = window.getComputedStyle(node, null);\n var ret = '';\n\n for (var i = 0; i < prefixes.length; i++) {\n ret = style.getPropertyValue(prefixes[i] + name);\n\n if (ret) {\n break;\n }\n }\n\n return ret;\n}\n\nfunction fixBrowserByTimeout(node) {\n if (isCssAnimationSupported) {\n var transitionDelay = parseFloat(getStyleProperty(node, 'transition-delay')) || 0;\n var transitionDuration = parseFloat(getStyleProperty(node, 'transition-duration')) || 0;\n var animationDelay = parseFloat(getStyleProperty(node, 'animation-delay')) || 0;\n var animationDuration = parseFloat(getStyleProperty(node, 'animation-duration')) || 0;\n var time = Math.max(transitionDuration + transitionDelay, animationDuration + animationDelay); // sometimes, browser bug\n\n node.rcEndAnimTimeout = setTimeout(function () {\n node.rcEndAnimTimeout = null;\n\n if (node.rcEndListener) {\n node.rcEndListener();\n }\n }, time * 1000 + 200);\n }\n}\n\nfunction clearBrowserBugTimeout(node) {\n if (node.rcEndAnimTimeout) {\n clearTimeout(node.rcEndAnimTimeout);\n node.rcEndAnimTimeout = null;\n }\n}\n\nvar cssAnimation = function cssAnimation(node, transitionName, endCallback) {\n var nameIsObj = (typeof transitionName === 'undefined' ? 'undefined' : _typeof(transitionName)) === 'object';\n var className = nameIsObj ? transitionName.name : transitionName;\n var activeClassName = nameIsObj ? transitionName.active : transitionName + '-active';\n var end = endCallback;\n var start = void 0;\n var active = void 0;\n\n if (endCallback && Object.prototype.toString.call(endCallback) === '[object Object]') {\n end = endCallback.end;\n start = endCallback.start;\n active = endCallback.active;\n }\n\n if (node.rcEndListener) {\n node.rcEndListener();\n }\n\n node.rcEndListener = function (e) {\n if (e && e.target !== node) {\n return;\n }\n\n if (node.rcAnimTimeout) {\n clearTimeout(node.rcAnimTimeout);\n node.rcAnimTimeout = null;\n }\n\n clearBrowserBugTimeout(node);\n node.classList.remove(className);\n node.classList.remove(activeClassName);\n Event.removeEndEventListener(node, node.rcEndListener);\n node.rcEndListener = null; // Usually this optional end is used for informing an owner of\n // a leave animation and telling it to remove the child.\n\n if (end) {\n end();\n }\n };\n\n Event.addEndEventListener(node, node.rcEndListener);\n\n if (start) {\n start();\n }\n\n node.classList.add(className);\n node.rcAnimTimeout = setTimeout(function () {\n node.rcAnimTimeout = null;\n node.classList.add(activeClassName);\n\n if (active) {\n active();\n }\n\n fixBrowserByTimeout(node);\n }, 0);\n return {\n stop: function stop() {\n if (node.rcEndListener) {\n node.rcEndListener();\n }\n }\n };\n};\n\ncssAnimation.style = function (node, style, callback) {\n if (node.rcEndListener) {\n node.rcEndListener();\n }\n\n node.rcEndListener = function (e) {\n if (e && e.target !== node) {\n return;\n }\n\n if (node.rcAnimTimeout) {\n clearTimeout(node.rcAnimTimeout);\n node.rcAnimTimeout = null;\n }\n\n clearBrowserBugTimeout(node);\n Event.removeEndEventListener(node, node.rcEndListener);\n node.rcEndListener = null; // Usually this optional callback is used for informing an owner of\n // a leave animation and telling it to remove the child.\n\n if (callback) {\n callback();\n }\n };\n\n Event.addEndEventListener(node, node.rcEndListener);\n node.rcAnimTimeout = setTimeout(function () {\n for (var s in style) {\n if (style.hasOwnProperty(s)) {\n node.style[s] = style[s];\n }\n }\n\n node.rcAnimTimeout = null;\n fixBrowserByTimeout(node);\n }, 0);\n};\n\ncssAnimation.setTransition = function (node, p, value) {\n var property = p;\n var v = value;\n\n if (value === undefined) {\n v = property;\n property = '';\n }\n\n property = property || '';\n capitalPrefixes.forEach(function (prefix) {\n node.style[prefix + 'Transition' + property] = v;\n });\n};\n\ncssAnimation.isCssAnimationSupported = isCssAnimationSupported;\nexport { isCssAnimationSupported };\nexport default cssAnimation;","var util = {\n isAppearSupported: function isAppearSupported(props) {\n return props.transitionName && props.transitionAppear || props.animation.appear;\n },\n isEnterSupported: function isEnterSupported(props) {\n return props.transitionName && props.transitionEnter || props.animation.enter;\n },\n isLeaveSupported: function isLeaveSupported(props) {\n return props.transitionName && props.transitionLeave || props.animation.leave;\n },\n allowAppearCallback: function allowAppearCallback(props) {\n return props.transitionAppear || props.animation.appear;\n },\n allowEnterCallback: function allowEnterCallback(props) {\n return props.transitionEnter || props.animation.enter;\n },\n allowLeaveCallback: function allowLeaveCallback(props) {\n return props.transitionLeave || props.animation.leave;\n }\n};\nexport default util;","var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n/* eslint react/prop-types: 0 */\n\n\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport cssAnimate, { isCssAnimationSupported } from '@ant-design/css-animation';\nimport animUtil from './util/animate';\nvar transitionMap = {\n enter: 'transitionEnter',\n appear: 'transitionAppear',\n leave: 'transitionLeave'\n};\n\nvar AnimateChild = function (_React$Component) {\n _inherits(AnimateChild, _React$Component);\n\n function AnimateChild() {\n _classCallCheck(this, AnimateChild);\n\n return _possibleConstructorReturn(this, (AnimateChild.__proto__ || Object.getPrototypeOf(AnimateChild)).apply(this, arguments));\n }\n\n _createClass(AnimateChild, [{\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n this.stop();\n }\n }, {\n key: 'componentWillEnter',\n value: function componentWillEnter(done) {\n if (animUtil.isEnterSupported(this.props)) {\n this.transition('enter', done);\n } else {\n done();\n }\n }\n }, {\n key: 'componentWillAppear',\n value: function componentWillAppear(done) {\n if (animUtil.isAppearSupported(this.props)) {\n this.transition('appear', done);\n } else {\n done();\n }\n }\n }, {\n key: 'componentWillLeave',\n value: function componentWillLeave(done) {\n if (animUtil.isLeaveSupported(this.props)) {\n this.transition('leave', done);\n } else {\n // always sync, do not interupt with react component life cycle\n // update hidden -> animate hidden ->\n // didUpdate -> animate leave -> unmount (if animate is none)\n done();\n }\n }\n }, {\n key: 'transition',\n value: function transition(animationType, finishCallback) {\n var _this2 = this;\n\n var node = ReactDOM.findDOMNode(this);\n var props = this.props;\n var transitionName = props.transitionName;\n var nameIsObj = typeof transitionName === 'object';\n this.stop();\n\n var end = function end() {\n _this2.stopper = null;\n finishCallback();\n };\n\n if ((isCssAnimationSupported || !props.animation[animationType]) && transitionName && props[transitionMap[animationType]]) {\n var name = nameIsObj ? transitionName[animationType] : transitionName + '-' + animationType;\n var activeName = name + '-active';\n\n if (nameIsObj && transitionName[animationType + 'Active']) {\n activeName = transitionName[animationType + 'Active'];\n }\n\n this.stopper = cssAnimate(node, {\n name: name,\n active: activeName\n }, end);\n } else {\n this.stopper = props.animation[animationType](node, end);\n }\n }\n }, {\n key: 'stop',\n value: function stop() {\n var stopper = this.stopper;\n\n if (stopper) {\n this.stopper = null;\n stopper.stop();\n }\n }\n }, {\n key: 'render',\n value: function render() {\n return this.props.children;\n }\n }]);\n\n return AnimateChild;\n}(React.Component);\n\nexport default AnimateChild;","var _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n/* eslint react/prop-types: 0 */\n\n\nimport React from 'react';\nimport unsafeLifecyclesPolyfill from 'rc-util/es/unsafeLifecyclesPolyfill';\nimport { toArrayChildren, mergeChildren, findShownChildInChildrenByKey, findChildInChildrenByKey, isSameChildren } from './ChildrenUtils';\nimport AnimateChild from './AnimateChild';\nimport animUtil from './util/animate';\nvar defaultKey = 'rc_animate_' + Date.now();\n\nfunction getChildrenFromProps(props) {\n var children = props.children;\n\n if (React.isValidElement(children)) {\n if (!children.key) {\n return React.cloneElement(children, {\n key: defaultKey\n });\n }\n }\n\n return children;\n}\n\nfunction noop() {}\n\nvar Animate = function (_React$Component) {\n _inherits(Animate, _React$Component);\n\n function Animate(props) {\n _classCallCheck(this, Animate);\n\n var _this = _possibleConstructorReturn(this, (Animate.__proto__ || Object.getPrototypeOf(Animate)).call(this, props));\n\n _initialiseProps.call(_this);\n\n _this.currentlyAnimatingKeys = {};\n _this.keysToEnter = [];\n _this.keysToLeave = [];\n _this.state = {\n children: toArrayChildren(getChildrenFromProps(props))\n };\n _this.childrenRefs = {};\n return _this;\n } // eslint-disable-line\n\n\n _createClass(Animate, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n var _this2 = this;\n\n var showProp = this.props.showProp;\n var children = this.state.children;\n\n if (showProp) {\n children = children.filter(function (child) {\n return !!child.props[showProp];\n });\n }\n\n children.forEach(function (child) {\n if (child) {\n _this2.performAppear(child.key);\n }\n });\n }\n }, {\n key: 'componentWillReceiveProps',\n value: function componentWillReceiveProps(nextProps) {\n var _this3 = this;\n\n this.nextProps = nextProps;\n var nextChildren = toArrayChildren(getChildrenFromProps(nextProps));\n var props = this.props; // exclusive needs immediate response\n\n if (props.exclusive) {\n Object.keys(this.currentlyAnimatingKeys).forEach(function (key) {\n _this3.stop(key);\n });\n }\n\n var showProp = props.showProp;\n var currentlyAnimatingKeys = this.currentlyAnimatingKeys; // last props children if exclusive\n\n var currentChildren = props.exclusive ? toArrayChildren(getChildrenFromProps(props)) : this.state.children; // in case destroy in showProp mode\n\n var newChildren = [];\n\n if (showProp) {\n currentChildren.forEach(function (currentChild) {\n var nextChild = currentChild && findChildInChildrenByKey(nextChildren, currentChild.key);\n var newChild = void 0;\n\n if ((!nextChild || !nextChild.props[showProp]) && currentChild.props[showProp]) {\n newChild = React.cloneElement(nextChild || currentChild, _defineProperty({}, showProp, true));\n } else {\n newChild = nextChild;\n }\n\n if (newChild) {\n newChildren.push(newChild);\n }\n });\n nextChildren.forEach(function (nextChild) {\n if (!nextChild || !findChildInChildrenByKey(currentChildren, nextChild.key)) {\n newChildren.push(nextChild);\n }\n });\n } else {\n newChildren = mergeChildren(currentChildren, nextChildren);\n } // need render to avoid update\n\n\n this.setState({\n children: newChildren\n });\n nextChildren.forEach(function (child) {\n var key = child && child.key;\n\n if (child && currentlyAnimatingKeys[key]) {\n return;\n }\n\n var hasPrev = child && findChildInChildrenByKey(currentChildren, key);\n\n if (showProp) {\n var showInNext = child.props[showProp];\n\n if (hasPrev) {\n var showInNow = findShownChildInChildrenByKey(currentChildren, key, showProp);\n\n if (!showInNow && showInNext) {\n _this3.keysToEnter.push(key);\n }\n } else if (showInNext) {\n _this3.keysToEnter.push(key);\n }\n } else if (!hasPrev) {\n _this3.keysToEnter.push(key);\n }\n });\n currentChildren.forEach(function (child) {\n var key = child && child.key;\n\n if (child && currentlyAnimatingKeys[key]) {\n return;\n }\n\n var hasNext = child && findChildInChildrenByKey(nextChildren, key);\n\n if (showProp) {\n var showInNow = child.props[showProp];\n\n if (hasNext) {\n var showInNext = findShownChildInChildrenByKey(nextChildren, key, showProp);\n\n if (!showInNext && showInNow) {\n _this3.keysToLeave.push(key);\n }\n } else if (showInNow) {\n _this3.keysToLeave.push(key);\n }\n } else if (!hasNext) {\n _this3.keysToLeave.push(key);\n }\n });\n }\n }, {\n key: 'componentDidUpdate',\n value: function componentDidUpdate() {\n var keysToEnter = this.keysToEnter;\n this.keysToEnter = [];\n keysToEnter.forEach(this.performEnter);\n var keysToLeave = this.keysToLeave;\n this.keysToLeave = [];\n keysToLeave.forEach(this.performLeave);\n }\n }, {\n key: 'isValidChildByKey',\n value: function isValidChildByKey(currentChildren, key) {\n var showProp = this.props.showProp;\n\n if (showProp) {\n return findShownChildInChildrenByKey(currentChildren, key, showProp);\n }\n\n return findChildInChildrenByKey(currentChildren, key);\n }\n }, {\n key: 'stop',\n value: function stop(key) {\n delete this.currentlyAnimatingKeys[key];\n var component = this.childrenRefs[key];\n\n if (component) {\n component.stop();\n }\n }\n }, {\n key: 'render',\n value: function render() {\n var _this4 = this;\n\n var props = this.props;\n this.nextProps = props;\n var stateChildren = this.state.children;\n var children = null;\n\n if (stateChildren) {\n children = stateChildren.map(function (child) {\n if (child === null || child === undefined) {\n return child;\n }\n\n if (!child.key) {\n throw new Error('must set key for <rc-animate> children');\n }\n\n return React.createElement(AnimateChild, {\n key: child.key,\n ref: function ref(node) {\n _this4.childrenRefs[child.key] = node;\n },\n animation: props.animation,\n transitionName: props.transitionName,\n transitionEnter: props.transitionEnter,\n transitionAppear: props.transitionAppear,\n transitionLeave: props.transitionLeave\n }, child);\n });\n }\n\n var Component = props.component;\n\n if (Component) {\n var passedProps = props;\n\n if (typeof Component === 'string') {\n passedProps = _extends({\n className: props.className,\n style: props.style\n }, props.componentProps);\n }\n\n return React.createElement(Component, passedProps, children);\n }\n\n return children[0] || null;\n }\n }]);\n\n return Animate;\n}(React.Component);\n\nAnimate.isAnimate = true;\nAnimate.defaultProps = {\n animation: {},\n component: 'span',\n componentProps: {},\n transitionEnter: true,\n transitionLeave: true,\n transitionAppear: false,\n onEnd: noop,\n onEnter: noop,\n onLeave: noop,\n onAppear: noop\n};\n\nvar _initialiseProps = function _initialiseProps() {\n var _this5 = this;\n\n this.performEnter = function (key) {\n // may already remove by exclusive\n if (_this5.childrenRefs[key]) {\n _this5.currentlyAnimatingKeys[key] = true;\n\n _this5.childrenRefs[key].componentWillEnter(_this5.handleDoneAdding.bind(_this5, key, 'enter'));\n }\n };\n\n this.performAppear = function (key) {\n if (_this5.childrenRefs[key]) {\n _this5.currentlyAnimatingKeys[key] = true;\n\n _this5.childrenRefs[key].componentWillAppear(_this5.handleDoneAdding.bind(_this5, key, 'appear'));\n }\n };\n\n this.handleDoneAdding = function (key, type) {\n var props = _this5.props;\n delete _this5.currentlyAnimatingKeys[key]; // if update on exclusive mode, skip check\n\n if (props.exclusive && props !== _this5.nextProps) {\n return;\n }\n\n var currentChildren = toArrayChildren(getChildrenFromProps(props));\n\n if (!_this5.isValidChildByKey(currentChildren, key)) {\n // exclusive will not need this\n _this5.performLeave(key);\n } else if (type === 'appear') {\n if (animUtil.allowAppearCallback(props)) {\n props.onAppear(key);\n props.onEnd(key, true);\n }\n } else if (animUtil.allowEnterCallback(props)) {\n props.onEnter(key);\n props.onEnd(key, true);\n }\n };\n\n this.performLeave = function (key) {\n // may already remove by exclusive\n if (_this5.childrenRefs[key]) {\n _this5.currentlyAnimatingKeys[key] = true;\n\n _this5.childrenRefs[key].componentWillLeave(_this5.handleDoneLeaving.bind(_this5, key));\n }\n };\n\n this.handleDoneLeaving = function (key) {\n var props = _this5.props;\n delete _this5.currentlyAnimatingKeys[key]; // if update on exclusive mode, skip check\n\n if (props.exclusive && props !== _this5.nextProps) {\n return;\n }\n\n var currentChildren = toArrayChildren(getChildrenFromProps(props)); // in case state change is too fast\n\n if (_this5.isValidChildByKey(currentChildren, key)) {\n _this5.performEnter(key);\n } else {\n var end = function end() {\n if (animUtil.allowLeaveCallback(props)) {\n props.onLeave(key);\n props.onEnd(key, false);\n }\n };\n\n if (!isSameChildren(_this5.state.children, currentChildren, props.showProp)) {\n _this5.setState({\n children: currentChildren\n }, end);\n } else {\n end();\n }\n }\n };\n};\n\nexport default unsafeLifecyclesPolyfill(Animate);","import _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport * as React from 'react';\n\nvar LazyRenderBox = /*#__PURE__*/function (_React$Component) {\n _inherits(LazyRenderBox, _React$Component);\n\n var _super = _createSuper(LazyRenderBox);\n\n function LazyRenderBox() {\n _classCallCheck(this, LazyRenderBox);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(LazyRenderBox, [{\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate(nextProps) {\n if (nextProps.forceRender) {\n return true;\n }\n\n return !!nextProps.hiddenClassName || !!nextProps.visible;\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n className = _this$props.className,\n hiddenClassName = _this$props.hiddenClassName,\n visible = _this$props.visible,\n forceRender = _this$props.forceRender,\n restProps = _objectWithoutProperties(_this$props, [\"className\", \"hiddenClassName\", \"visible\", \"forceRender\"]);\n\n var useClassName = className;\n\n if (!!hiddenClassName && !visible) {\n useClassName += \" \".concat(hiddenClassName);\n }\n\n return React.createElement(\"div\", Object.assign({}, restProps, {\n className: useClassName\n }));\n }\n }]);\n\n return LazyRenderBox;\n}(React.Component);\n\nexport { LazyRenderBox as default };","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport contains from \"rc-util/es/Dom/contains\";\nimport Animate from 'rc-animate';\nimport LazyRenderBox from './LazyRenderBox';\nvar uuid = 0;\n/* eslint react/no-is-mounted:0 */\n\nfunction getScroll(w, top) {\n var ret = w[\"page\".concat(top ? 'Y' : 'X', \"Offset\")];\n var method = \"scroll\".concat(top ? 'Top' : 'Left');\n\n if (typeof ret !== 'number') {\n var d = w.document;\n ret = d.documentElement[method];\n\n if (typeof ret !== 'number') {\n ret = d.body[method];\n }\n }\n\n return ret;\n}\n\nfunction setTransformOrigin(node, value) {\n var style = node.style;\n ['Webkit', 'Moz', 'Ms', 'ms'].forEach(function (prefix) {\n style[\"\".concat(prefix, \"TransformOrigin\")] = value;\n });\n style.transformOrigin = value;\n}\n\nfunction offset(el) {\n var rect = el.getBoundingClientRect();\n var pos = {\n left: rect.left,\n top: rect.top\n };\n var doc = el.ownerDocument;\n var w = doc.defaultView || doc.parentWindow;\n pos.left += getScroll(w);\n pos.top += getScroll(w, true);\n return pos;\n}\n\nvar Dialog = /*#__PURE__*/function (_React$Component) {\n _inherits(Dialog, _React$Component);\n\n var _super = _createSuper(Dialog);\n\n function Dialog(props) {\n var _this;\n\n _classCallCheck(this, Dialog);\n\n _this = _super.call(this, props);\n _this.inTransition = false;\n\n _this.onAnimateLeave = function () {\n var _this$props = _this.props,\n afterClose = _this$props.afterClose,\n getOpenCount = _this$props.getOpenCount,\n focusTriggerAfterClose = _this$props.focusTriggerAfterClose,\n mask = _this$props.mask; // need demo?\n // https://github.com/react-component/dialog/pull/28\n\n if (_this.wrap) {\n _this.wrap.style.display = 'none';\n }\n\n _this.inTransition = false; // 如果没有打开的状态,则清除 effect 和 overflow: hidden;\n // https://github.com/ant-design/ant-design/issues/21539\n\n if (!getOpenCount()) {\n _this.switchScrollingEffect();\n }\n\n if (mask && _this.lastOutSideFocusNode && focusTriggerAfterClose) {\n try {\n _this.lastOutSideFocusNode.focus({\n preventScroll: true\n });\n } catch (e) {\n _this.lastOutSideFocusNode = null;\n }\n\n _this.lastOutSideFocusNode = null;\n }\n\n if (afterClose) {\n afterClose();\n }\n };\n\n _this.onDialogMouseDown = function () {\n _this.dialogMouseDown = true;\n };\n\n _this.onMaskMouseUp = function () {\n if (_this.dialogMouseDown) {\n _this.timeoutId = setTimeout(function () {\n _this.dialogMouseDown = false;\n }, 0);\n }\n };\n\n _this.onMaskClick = function (e) {\n // android trigger click on open (fastclick??)\n if (Date.now() - _this.openTime < 300) {\n return;\n }\n\n if (e.target === e.currentTarget && !_this.dialogMouseDown) {\n _this.close(e);\n }\n };\n\n _this.onKeyDown = function (e) {\n var _this$props2 = _this.props,\n keyboard = _this$props2.keyboard,\n visible = _this$props2.visible;\n\n if (keyboard && e.keyCode === KeyCode.ESC) {\n e.stopPropagation();\n\n _this.close(e);\n\n return;\n } // keep focus inside dialog\n\n\n if (visible) {\n if (e.keyCode === KeyCode.TAB) {\n var _document = document,\n activeElement = _document.activeElement;\n\n if (e.shiftKey) {\n if (activeElement === _this.sentinelStart) {\n _this.sentinelEnd.focus();\n }\n } else if (activeElement === _this.sentinelEnd) {\n _this.sentinelStart.focus();\n }\n }\n }\n };\n\n _this.getDialogElement = function () {\n var _this$props3 = _this.props,\n closable = _this$props3.closable,\n prefixCls = _this$props3.prefixCls,\n width = _this$props3.width,\n height = _this$props3.height,\n footer = _this$props3.footer,\n title = _this$props3.title,\n closeIcon = _this$props3.closeIcon,\n style = _this$props3.style,\n className = _this$props3.className,\n visible = _this$props3.visible,\n forceRender = _this$props3.forceRender,\n bodyStyle = _this$props3.bodyStyle,\n bodyProps = _this$props3.bodyProps,\n children = _this$props3.children,\n destroyOnClose = _this$props3.destroyOnClose;\n var dest = {};\n\n if (width !== undefined) {\n dest.width = width;\n }\n\n if (height !== undefined) {\n dest.height = height;\n }\n\n var footerNode;\n\n if (footer) {\n footerNode = React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-footer\"),\n ref: _this.saveRef('footer')\n }, footer);\n }\n\n var headerNode;\n\n if (title) {\n headerNode = React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-header\"),\n ref: _this.saveRef('header')\n }, React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-title\"),\n id: _this.titleId\n }, title));\n }\n\n var closer;\n\n if (closable) {\n closer = React.createElement(\"button\", {\n type: \"button\",\n onClick: _this.close,\n \"aria-label\": \"Close\",\n className: \"\".concat(prefixCls, \"-close\")\n }, closeIcon || React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-close-x\")\n }));\n }\n\n var styleBox = _objectSpread(_objectSpread({}, style), dest);\n\n var sentinelStyle = {\n width: 0,\n height: 0,\n overflow: 'hidden',\n outline: 'none'\n };\n\n var transitionName = _this.getTransitionName();\n\n var dialogElement = React.createElement(LazyRenderBox, {\n key: \"dialog-element\",\n role: \"document\",\n ref: _this.saveRef('dialog'),\n style: styleBox,\n className: \"\".concat(prefixCls, \" \").concat(className || ''),\n visible: visible,\n forceRender: forceRender,\n onMouseDown: _this.onDialogMouseDown\n }, React.createElement(\"div\", {\n tabIndex: 0,\n ref: _this.saveRef('sentinelStart'),\n style: sentinelStyle,\n \"aria-hidden\": \"true\"\n }), React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-content\")\n }, closer, headerNode, React.createElement(\"div\", Object.assign({\n className: \"\".concat(prefixCls, \"-body\"),\n style: bodyStyle,\n ref: _this.saveRef('body')\n }, bodyProps), children), footerNode), React.createElement(\"div\", {\n tabIndex: 0,\n ref: _this.saveRef('sentinelEnd'),\n style: sentinelStyle,\n \"aria-hidden\": \"true\"\n }));\n return React.createElement(Animate, {\n key: \"dialog\",\n showProp: \"visible\",\n onLeave: _this.onAnimateLeave,\n transitionName: transitionName,\n component: \"\",\n transitionAppear: true\n }, visible || !destroyOnClose ? dialogElement : null);\n };\n\n _this.getZIndexStyle = function () {\n var style = {};\n var zIndex = _this.props.zIndex;\n\n if (zIndex !== undefined) {\n style.zIndex = zIndex;\n }\n\n return style;\n };\n\n _this.getWrapStyle = function () {\n return _objectSpread(_objectSpread({}, _this.getZIndexStyle()), _this.props.wrapStyle);\n };\n\n _this.getMaskStyle = function () {\n return _objectSpread(_objectSpread({}, _this.getZIndexStyle()), _this.props.maskStyle);\n };\n\n _this.getMaskElement = function () {\n var _this$props4 = _this.props,\n mask = _this$props4.mask,\n prefixCls = _this$props4.prefixCls,\n visible = _this$props4.visible,\n maskProps = _this$props4.maskProps;\n var maskElement;\n\n if (mask) {\n var maskTransition = _this.getMaskTransitionName();\n\n maskElement = React.createElement(LazyRenderBox, Object.assign({\n style: _this.getMaskStyle(),\n key: \"mask\",\n className: \"\".concat(prefixCls, \"-mask\"),\n hiddenClassName: \"\".concat(prefixCls, \"-mask-hidden\"),\n visible: visible\n }, maskProps));\n\n if (maskTransition) {\n maskElement = React.createElement(Animate, {\n key: \"mask\",\n showProp: \"visible\",\n transitionAppear: true,\n component: \"\",\n transitionName: maskTransition\n }, maskElement);\n }\n }\n\n return maskElement;\n };\n\n _this.getMaskTransitionName = function () {\n var _this$props5 = _this.props,\n maskTransitionName = _this$props5.maskTransitionName,\n maskAnimation = _this$props5.maskAnimation,\n prefixCls = _this$props5.prefixCls;\n var transitionName = maskTransitionName;\n var animation = maskAnimation;\n\n if (!transitionName && animation) {\n transitionName = \"\".concat(prefixCls, \"-\").concat(animation);\n }\n\n return transitionName;\n };\n\n _this.getTransitionName = function () {\n var _this$props6 = _this.props,\n transitionName = _this$props6.transitionName,\n animation = _this$props6.animation,\n prefixCls = _this$props6.prefixCls;\n var transitionNameResult = transitionName;\n\n if (!transitionName && animation) {\n transitionNameResult = \"\".concat(prefixCls, \"-\").concat(animation);\n }\n\n return transitionNameResult;\n };\n\n _this.close = function (e) {\n var onClose = _this.props.onClose;\n\n if (onClose) {\n onClose(e);\n }\n };\n\n _this.saveRef = function (name) {\n return function (node) {\n _this[name] = node;\n };\n };\n\n _this.titleId = \"rcDialogTitle\".concat(uuid);\n uuid += 1;\n\n _this.switchScrollingEffect = props.switchScrollingEffect || function () {};\n\n return _this;\n }\n\n _createClass(Dialog, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.componentDidUpdate({}); // if forceRender is true, set element style display to be none;\n\n if (this.props.forceRender && this.props.visible) {\n return;\n }\n\n if ((this.props.forceRender || this.props.getContainer === false && !this.props.visible) && this.wrap) {\n this.wrap.style.display = 'none';\n }\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var visible = this.props.visible;\n var mousePosition = this.props.mousePosition;\n\n if (visible) {\n // first show\n if (!prevProps.visible) {\n this.openTime = Date.now();\n this.switchScrollingEffect();\n this.tryFocus(); // eslint-disable-next-line react/no-find-dom-node\n\n var dialogNode = ReactDOM.findDOMNode(this.dialog);\n\n if (mousePosition) {\n var elOffset = offset(dialogNode);\n setTransformOrigin(dialogNode, \"\".concat(mousePosition.x - elOffset.left, \"px \").concat(mousePosition.y - elOffset.top, \"px\"));\n } else {\n setTransformOrigin(dialogNode, '');\n }\n }\n } else if (prevProps.visible) {\n this.inTransition = true;\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n var _this$props7 = this.props,\n visible = _this$props7.visible,\n getOpenCount = _this$props7.getOpenCount;\n\n if ((visible || this.inTransition) && !getOpenCount()) {\n this.switchScrollingEffect();\n }\n\n clearTimeout(this.timeoutId);\n }\n }, {\n key: \"tryFocus\",\n value: function tryFocus() {\n if (!contains(this.wrap, document.activeElement)) {\n this.lastOutSideFocusNode = document.activeElement;\n this.sentinelStart.focus();\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var props = this.props;\n var prefixCls = props.prefixCls,\n maskClosable = props.maskClosable;\n var style = this.getWrapStyle(); // clear hide display\n // and only set display after async anim, not here for hide\n\n if (props.visible) {\n style.display = null;\n }\n\n return React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-root\")\n }, this.getMaskElement(), React.createElement(\"div\", Object.assign({\n tabIndex: -1,\n onKeyDown: this.onKeyDown,\n className: \"\".concat(prefixCls, \"-wrap \").concat(props.wrapClassName || ''),\n ref: this.saveRef('wrap'),\n onClick: maskClosable ? this.onMaskClick : null,\n onMouseUp: maskClosable ? this.onMaskMouseUp : null,\n role: \"dialog\",\n \"aria-labelledby\": props.title ? this.titleId : null,\n style: style\n }, props.wrapProps), this.getDialogElement()));\n }\n }]);\n\n return Dialog;\n}(React.Component);\n\nexport { Dialog as default };\nDialog.defaultProps = {\n className: '',\n mask: true,\n visible: false,\n keyboard: true,\n closable: true,\n maskClosable: true,\n destroyOnClose: false,\n prefixCls: 'rc-dialog',\n focusTriggerAfterClose: true\n};","export default function contains(root, n) {\n var node = n;\n\n while (node) {\n if (node === root) {\n return true;\n }\n\n node = node.parentNode;\n }\n\n return false;\n}","import * as React from 'react';\nimport Portal from \"rc-util/es/PortalWrapper\";\nimport Dialog from './Dialog'; // fix issue #10656\n\n/*\n * getContainer remarks\n * Custom container should not be return, because in the Portal component, it will remove the\n * return container element here, if the custom container is the only child of it's component,\n * like issue #10656, It will has a conflict with removeChild method in react-dom.\n * So here should add a child (div element) to custom container.\n * */\n\nexport default (function (props) {\n var visible = props.visible,\n getContainer = props.getContainer,\n forceRender = props.forceRender; // 渲染在当前 dom 里;\n\n if (getContainer === false) {\n return React.createElement(Dialog, Object.assign({}, props, {\n getOpenCount: function getOpenCount() {\n return 2;\n }\n }));\n }\n\n return React.createElement(Portal, {\n visible: visible,\n forceRender: forceRender,\n getContainer: getContainer\n }, function (childProps) {\n return React.createElement(Dialog, Object.assign({}, props, childProps));\n });\n});","import DialogWrap from './DialogWrap';\nexport default DialogWrap;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport * as React from 'react';\nimport Button from '../button';\nimport { convertLegacyProps } from '../button/button';\n\nvar ActionButton = function ActionButton(props) {\n var clickedRef = React.useRef(false);\n var ref = React.useRef();\n\n var _React$useState = React.useState(false),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n loading = _React$useState2[0],\n setLoading = _React$useState2[1];\n\n React.useEffect(function () {\n var timeoutId;\n\n if (props.autoFocus) {\n var $this = ref.current;\n timeoutId = setTimeout(function () {\n return $this.focus();\n });\n }\n\n return function () {\n if (timeoutId) {\n clearTimeout(timeoutId);\n }\n };\n }, []);\n\n var handlePromiseOnOk = function handlePromiseOnOk(returnValueOfOnOk) {\n var closeModal = props.closeModal;\n\n if (!returnValueOfOnOk || !returnValueOfOnOk.then) {\n return;\n }\n\n setLoading(true);\n returnValueOfOnOk.then(function () {\n // It's unnecessary to set loading=false, for the Modal will be unmounted after close.\n // setState({ loading: false });\n closeModal.apply(void 0, arguments);\n }, function (e) {\n // Emit error when catch promise reject\n // eslint-disable-next-line no-console\n console.error(e); // See: https://github.com/ant-design/ant-design/issues/6183\n\n setLoading(false);\n clickedRef.current = false;\n });\n };\n\n var onClick = function onClick() {\n var actionFn = props.actionFn,\n closeModal = props.closeModal;\n\n if (clickedRef.current) {\n return;\n }\n\n clickedRef.current = true;\n\n if (!actionFn) {\n closeModal();\n return;\n }\n\n var returnValueOfOnOk;\n\n if (actionFn.length) {\n returnValueOfOnOk = actionFn(closeModal); // https://github.com/ant-design/ant-design/issues/23358\n\n clickedRef.current = false;\n } else {\n returnValueOfOnOk = actionFn();\n\n if (!returnValueOfOnOk) {\n closeModal();\n return;\n }\n }\n\n handlePromiseOnOk(returnValueOfOnOk);\n };\n\n var type = props.type,\n children = props.children,\n prefixCls = props.prefixCls,\n buttonProps = props.buttonProps;\n return /*#__PURE__*/React.createElement(Button, _extends({}, convertLegacyProps(type), {\n onClick: onClick,\n loading: loading,\n prefixCls: prefixCls\n }, buttonProps, {\n ref: ref\n }), children);\n};\n\nexport default ActionButton;","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport Dialog from './Modal';\nimport ActionButton from './ActionButton';\nimport devWarning from '../_util/devWarning';\n\nvar ConfirmDialog = function ConfirmDialog(props) {\n var icon = props.icon,\n onCancel = props.onCancel,\n onOk = props.onOk,\n close = props.close,\n zIndex = props.zIndex,\n afterClose = props.afterClose,\n visible = props.visible,\n keyboard = props.keyboard,\n centered = props.centered,\n getContainer = props.getContainer,\n maskStyle = props.maskStyle,\n okText = props.okText,\n okButtonProps = props.okButtonProps,\n cancelText = props.cancelText,\n cancelButtonProps = props.cancelButtonProps,\n direction = props.direction,\n prefixCls = props.prefixCls,\n rootPrefixCls = props.rootPrefixCls;\n devWarning(!(typeof icon === 'string' && icon.length > 2), 'Modal', \"`icon` is using ReactNode instead of string naming in v4. Please check `\".concat(icon, \"` at https://ant.design/components/icon\")); // 支持传入{ icon: null }来隐藏`Modal.confirm`默认的Icon\n\n var okType = props.okType || 'primary';\n var contentPrefixCls = \"\".concat(prefixCls, \"-confirm\"); // 默认为 true,保持向下兼容\n\n var okCancel = 'okCancel' in props ? props.okCancel : true;\n var width = props.width || 416;\n var style = props.style || {};\n var mask = props.mask === undefined ? true : props.mask; // 默认为 false,保持旧版默认行为\n\n var maskClosable = props.maskClosable === undefined ? false : props.maskClosable;\n var autoFocusButton = props.autoFocusButton === null ? false : props.autoFocusButton || 'ok';\n var transitionName = props.transitionName || 'zoom';\n var maskTransitionName = props.maskTransitionName || 'fade';\n var classString = classNames(contentPrefixCls, \"\".concat(contentPrefixCls, \"-\").concat(props.type), _defineProperty({}, \"\".concat(contentPrefixCls, \"-rtl\"), direction === 'rtl'), props.className);\n var cancelButton = okCancel && /*#__PURE__*/React.createElement(ActionButton, {\n actionFn: onCancel,\n closeModal: close,\n autoFocus: autoFocusButton === 'cancel',\n buttonProps: cancelButtonProps,\n prefixCls: \"\".concat(rootPrefixCls, \"-btn\")\n }, cancelText);\n return /*#__PURE__*/React.createElement(Dialog, {\n prefixCls: prefixCls,\n className: classString,\n wrapClassName: classNames(_defineProperty({}, \"\".concat(contentPrefixCls, \"-centered\"), !!props.centered)),\n onCancel: function onCancel() {\n return close({\n triggerCancel: true\n });\n },\n visible: visible,\n title: \"\",\n transitionName: transitionName,\n footer: \"\",\n maskTransitionName: maskTransitionName,\n mask: mask,\n maskClosable: maskClosable,\n maskStyle: maskStyle,\n style: style,\n width: width,\n zIndex: zIndex,\n afterClose: afterClose,\n keyboard: keyboard,\n centered: centered,\n getContainer: getContainer\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(contentPrefixCls, \"-body-wrapper\")\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(contentPrefixCls, \"-body\")\n }, icon, props.title === undefined ? null : /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(contentPrefixCls, \"-title\")\n }, props.title), /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(contentPrefixCls, \"-content\")\n }, props.content)), /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(contentPrefixCls, \"-btns\")\n }, cancelButton, /*#__PURE__*/React.createElement(ActionButton, {\n type: okType,\n actionFn: onOk,\n closeModal: close,\n autoFocus: autoFocusButton === 'ok',\n buttonProps: okButtonProps,\n prefixCls: \"\".concat(rootPrefixCls, \"-btn\")\n }, okText))));\n};\n\nexport default ConfirmDialog;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport * as React from 'react';\nimport ConfirmDialog from '../ConfirmDialog';\nimport defaultLocale from '../../locale/default';\nimport LocaleReceiver from '../../locale-provider/LocaleReceiver';\nimport { ConfigContext } from '../../config-provider';\n\nvar HookModal = function HookModal(_ref, ref) {\n var afterClose = _ref.afterClose,\n config = _ref.config;\n\n var _React$useState = React.useState(true),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n visible = _React$useState2[0],\n setVisible = _React$useState2[1];\n\n var _React$useState3 = React.useState(config),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n innerConfig = _React$useState4[0],\n setInnerConfig = _React$useState4[1];\n\n var _React$useContext = React.useContext(ConfigContext),\n direction = _React$useContext.direction,\n getPrefixCls = _React$useContext.getPrefixCls;\n\n var prefixCls = getPrefixCls('modal');\n var rootPrefixCls = getPrefixCls();\n\n function close() {\n setVisible(false);\n }\n\n React.useImperativeHandle(ref, function () {\n return {\n destroy: close,\n update: function update(newConfig) {\n setInnerConfig(function (originConfig) {\n return _extends(_extends({}, originConfig), newConfig);\n });\n }\n };\n });\n return /*#__PURE__*/React.createElement(LocaleReceiver, {\n componentName: \"Modal\",\n defaultLocale: defaultLocale.Modal\n }, function (modalLocale) {\n return /*#__PURE__*/React.createElement(ConfirmDialog, _extends({\n prefixCls: prefixCls,\n rootPrefixCls: rootPrefixCls\n }, innerConfig, {\n close: close,\n visible: visible,\n afterClose: afterClose,\n okText: innerConfig.okText || (innerConfig.okCancel ? modalLocale.okText : modalLocale.justOkText),\n direction: direction,\n cancelText: innerConfig.cancelText || modalLocale.cancelText\n }));\n });\n};\n\nexport default /*#__PURE__*/React.forwardRef(HookModal);","import _extends from \"@babel/runtime/helpers/extends\";\nimport defaultLocale from '../locale/default';\n\nvar runtimeLocale = _extends({}, defaultLocale.Modal);\n\nexport function changeConfirmLocale(newLocale) {\n if (newLocale) {\n runtimeLocale = _extends(_extends({}, runtimeLocale), newLocale);\n } else {\n runtimeLocale = _extends({}, defaultLocale.Modal);\n }\n}\nexport function getConfirmLocale() {\n return runtimeLocale;\n}","import _extends from \"@babel/runtime/helpers/extends\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nimport * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport InfoCircleOutlined from '@ant-design/icons/InfoCircleOutlined';\nimport CheckCircleOutlined from '@ant-design/icons/CheckCircleOutlined';\nimport CloseCircleOutlined from '@ant-design/icons/CloseCircleOutlined';\nimport ExclamationCircleOutlined from '@ant-design/icons/ExclamationCircleOutlined';\nimport { getConfirmLocale } from './locale';\nimport { destroyFns } from './Modal';\nimport ConfirmDialog from './ConfirmDialog';\nvar defaultRootPrefixCls = 'ant';\n\nfunction getRootPrefixCls() {\n return defaultRootPrefixCls;\n}\n\nexport default function confirm(config) {\n var div = document.createElement('div');\n document.body.appendChild(div); // eslint-disable-next-line @typescript-eslint/no-use-before-define\n\n var currentConfig = _extends(_extends({}, config), {\n close: close,\n visible: true\n });\n\n function destroy() {\n var unmountResult = ReactDOM.unmountComponentAtNode(div);\n\n if (unmountResult && div.parentNode) {\n div.parentNode.removeChild(div);\n }\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var triggerCancel = args.some(function (param) {\n return param && param.triggerCancel;\n });\n\n if (config.onCancel && triggerCancel) {\n config.onCancel.apply(config, args);\n }\n\n for (var i = 0; i < destroyFns.length; i++) {\n var fn = destroyFns[i]; // eslint-disable-next-line @typescript-eslint/no-use-before-define\n\n if (fn === close) {\n destroyFns.splice(i, 1);\n break;\n }\n }\n }\n\n function render(_a) {\n var okText = _a.okText,\n cancelText = _a.cancelText,\n prefixCls = _a.prefixCls,\n props = __rest(_a, [\"okText\", \"cancelText\", \"prefixCls\"]);\n /**\n * https://github.com/ant-design/ant-design/issues/23623\n * Sync render blocks React event. Let's make this async.\n */\n\n\n setTimeout(function () {\n var runtimeLocale = getConfirmLocale();\n ReactDOM.render( /*#__PURE__*/React.createElement(ConfirmDialog, _extends({}, props, {\n prefixCls: prefixCls || \"\".concat(getRootPrefixCls(), \"-modal\"),\n rootPrefixCls: getRootPrefixCls(),\n okText: okText || (props.okCancel ? runtimeLocale.okText : runtimeLocale.justOkText),\n cancelText: cancelText || runtimeLocale.cancelText\n })), div);\n });\n }\n\n function close() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n currentConfig = _extends(_extends({}, currentConfig), {\n visible: false,\n afterClose: destroy.bind.apply(destroy, [this].concat(args))\n });\n render(currentConfig);\n }\n\n function update(newConfig) {\n currentConfig = _extends(_extends({}, currentConfig), newConfig);\n render(currentConfig);\n }\n\n render(currentConfig);\n destroyFns.push(close);\n return {\n destroy: close,\n update: update\n };\n}\nexport function withWarn(props) {\n return _extends({\n type: 'warning',\n icon: /*#__PURE__*/React.createElement(ExclamationCircleOutlined, null),\n okCancel: false\n }, props);\n}\nexport function withInfo(props) {\n return _extends({\n type: 'info',\n icon: /*#__PURE__*/React.createElement(InfoCircleOutlined, null),\n okCancel: false\n }, props);\n}\nexport function withSuccess(props) {\n return _extends({\n type: 'success',\n icon: /*#__PURE__*/React.createElement(CheckCircleOutlined, null),\n okCancel: false\n }, props);\n}\nexport function withError(props) {\n return _extends({\n type: 'error',\n icon: /*#__PURE__*/React.createElement(CloseCircleOutlined, null),\n okCancel: false\n }, props);\n}\nexport function withConfirm(props) {\n return _extends({\n type: 'confirm',\n icon: /*#__PURE__*/React.createElement(ExclamationCircleOutlined, null),\n okCancel: true\n }, props);\n}\nexport function globalConfig(_ref) {\n var rootPrefixCls = _ref.rootPrefixCls;\n\n if (rootPrefixCls) {\n defaultRootPrefixCls = rootPrefixCls;\n }\n}","import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport * as React from 'react';\nimport usePatchElement from '../../_util/hooks/usePatchElement';\nimport HookModal from './HookModal';\nimport { withConfirm, withInfo, withSuccess, withError, withWarn } from '../confirm';\nvar uuid = 0;\nexport default function useModal() {\n var _usePatchElement = usePatchElement(),\n _usePatchElement2 = _slicedToArray(_usePatchElement, 2),\n elements = _usePatchElement2[0],\n patchElement = _usePatchElement2[1];\n\n function getConfirmFunc(withFunc) {\n return function hookConfirm(config) {\n uuid += 1;\n var modalRef = /*#__PURE__*/React.createRef();\n var closeFunc;\n var modal = /*#__PURE__*/React.createElement(HookModal, {\n key: \"modal-\".concat(uuid),\n config: withFunc(config),\n ref: modalRef,\n afterClose: function afterClose() {\n closeFunc();\n }\n });\n closeFunc = patchElement(modal);\n return {\n destroy: function destroy() {\n if (modalRef.current) {\n modalRef.current.destroy();\n }\n },\n update: function update(newConfig) {\n if (modalRef.current) {\n modalRef.current.update(newConfig);\n }\n }\n };\n };\n }\n\n return [{\n info: getConfirmFunc(withInfo),\n success: getConfirmFunc(withSuccess),\n error: getConfirmFunc(withError),\n warning: getConfirmFunc(withWarn),\n confirm: getConfirmFunc(withConfirm)\n }, /*#__PURE__*/React.createElement(React.Fragment, null, elements)];\n}","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/extends\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nimport * as React from 'react';\nimport Dialog from 'rc-dialog';\nimport classNames from 'classnames';\nimport addEventListener from \"rc-util/es/Dom/addEventListener\";\nimport CloseOutlined from '@ant-design/icons/CloseOutlined';\nimport useModal from './useModal';\nimport { getConfirmLocale } from './locale';\nimport Button from '../button';\nimport { convertLegacyProps } from '../button/button';\nimport LocaleReceiver from '../locale-provider/LocaleReceiver';\nimport { ConfigContext } from '../config-provider';\nvar mousePosition;\nexport var destroyFns = []; // ref: https://github.com/ant-design/ant-design/issues/15795\n\nvar getClickPosition = function getClickPosition(e) {\n mousePosition = {\n x: e.pageX,\n y: e.pageY\n }; // 100ms 内发生过点击事件,则从点击位置动画展示\n // 否则直接 zoom 展示\n // 这样可以兼容非点击方式展开\n\n setTimeout(function () {\n mousePosition = null;\n }, 100);\n}; // 只有点击事件支持从鼠标位置动画展开\n\n\nif (typeof window !== 'undefined' && window.document && window.document.documentElement) {\n addEventListener(document.documentElement, 'click', getClickPosition);\n}\n\nvar Modal = function Modal(props) {\n var _classNames;\n\n var _React$useContext = React.useContext(ConfigContext),\n getContextPopupContainer = _React$useContext.getPopupContainer,\n getPrefixCls = _React$useContext.getPrefixCls,\n direction = _React$useContext.direction;\n\n var handleCancel = function handleCancel(e) {\n var onCancel = props.onCancel;\n\n if (onCancel) {\n onCancel(e);\n }\n };\n\n var handleOk = function handleOk(e) {\n var onOk = props.onOk;\n\n if (onOk) {\n onOk(e);\n }\n };\n\n var renderFooter = function renderFooter(locale) {\n var okText = props.okText,\n okType = props.okType,\n cancelText = props.cancelText,\n confirmLoading = props.confirmLoading;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Button, _extends({\n onClick: handleCancel\n }, props.cancelButtonProps), cancelText || locale.cancelText), /*#__PURE__*/React.createElement(Button, _extends({}, convertLegacyProps(okType), {\n loading: confirmLoading,\n onClick: handleOk\n }, props.okButtonProps), okText || locale.okText));\n };\n\n var customizePrefixCls = props.prefixCls,\n footer = props.footer,\n visible = props.visible,\n wrapClassName = props.wrapClassName,\n centered = props.centered,\n getContainer = props.getContainer,\n closeIcon = props.closeIcon,\n restProps = __rest(props, [\"prefixCls\", \"footer\", \"visible\", \"wrapClassName\", \"centered\", \"getContainer\", \"closeIcon\"]);\n\n var prefixCls = getPrefixCls('modal', customizePrefixCls);\n var defaultFooter = /*#__PURE__*/React.createElement(LocaleReceiver, {\n componentName: \"Modal\",\n defaultLocale: getConfirmLocale()\n }, renderFooter);\n var closeIconToRender = /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-close-x\")\n }, closeIcon || /*#__PURE__*/React.createElement(CloseOutlined, {\n className: \"\".concat(prefixCls, \"-close-icon\")\n }));\n var wrapClassNameExtended = classNames(wrapClassName, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-centered\"), !!centered), _defineProperty(_classNames, \"\".concat(prefixCls, \"-wrap-rtl\"), direction === 'rtl'), _classNames));\n return /*#__PURE__*/React.createElement(Dialog, _extends({}, restProps, {\n getContainer: getContainer === undefined ? getContextPopupContainer : getContainer,\n prefixCls: prefixCls,\n wrapClassName: wrapClassNameExtended,\n footer: footer === undefined ? defaultFooter : footer,\n visible: visible,\n mousePosition: mousePosition,\n onClose: handleCancel,\n closeIcon: closeIconToRender\n }));\n};\n\nModal.useModal = useModal;\nModal.defaultProps = {\n width: 520,\n transitionName: 'zoom',\n maskTransitionName: 'fade',\n confirmLoading: false,\n visible: false,\n okType: 'primary'\n};\nexport default Modal;","import _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport * as React from 'react';\nexport default function usePatchElement() {\n var _React$useState = React.useState([]),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n elements = _React$useState2[0],\n setElements = _React$useState2[1];\n\n function patchElement(element) {\n // append a new element to elements (and create a new ref)\n setElements(function (originElements) {\n return [].concat(_toConsumableArray(originElements), [element]);\n }); // return a function that removes the new element out of elements (and create a new ref)\n // it works a little like useEffect\n\n return function () {\n setElements(function (originElements) {\n return originElements.filter(function (ele) {\n return ele !== element;\n });\n });\n };\n }\n\n return [elements, patchElement];\n}","import OriginModal, { destroyFns } from './Modal';\nimport confirm, { withWarn, withInfo, withSuccess, withError, withConfirm, globalConfig } from './confirm';\n\nfunction modalWarn(props) {\n return confirm(withWarn(props));\n}\n\nvar Modal = OriginModal;\n\nModal.info = function infoFn(props) {\n return confirm(withInfo(props));\n};\n\nModal.success = function successFn(props) {\n return confirm(withSuccess(props));\n};\n\nModal.error = function errorFn(props) {\n return confirm(withError(props));\n};\n\nModal.warning = modalWarn;\nModal.warn = modalWarn;\n\nModal.confirm = function confirmFn(props) {\n return confirm(withConfirm(props));\n};\n\nModal.destroyAll = function destroyAllFn() {\n while (destroyFns.length) {\n var close = destroyFns.pop();\n\n if (close) {\n close();\n }\n }\n};\n\nModal.config = globalConfig;\nexport default Modal;","/**\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\nimport React, { useState } from 'react';\nimport { css } from '@emotion/core';\nimport {\n Card, Row, Col, List, Modal, Button,\n} from 'antd';\nimport SEO from '../components/seo';\nimport Layout from '../components/layout';\n\nconst learningLinks = [\n [\n \"O'Reilly Live Training: Rapid Data Exploration and Analysis with Apache Superset\",\n 'https://learning.oreilly.com/live-training/courses/rapid-data-exploration-and-analysis-with-apache-superset/0636920457251/',\n ],\n [\n 'Unlocking Advanced Data Analytics on The Data Lake Using Apache Superset and Dremio from Dremio',\n 'https://www.dremio.com/tutorials/dremio-apache-superset/',\n ],\n [\n 'Test-driving Apache Superset from SmartCat',\n 'https://blog.smartcat.io/2018/test-driving-apache-superset/',\n ],\n];\n\nconst installationLinks = [\n [\n 'Official Apache releases',\n 'https://dist.apache.org/repos/dist/release/incubator/superset/',\n ],\n [\n 'Locally with Docker',\n 'https://superset.incubator.apache.org/installation.html#start-with-docker',\n ],\n [\n 'Superset on the Python Package Index (PyPI)',\n 'https://dist.apache.org/repos/dist/release/incubator/superset/',\n ],\n [\n 'Install on CentOS',\n 'https://aichamp.wordpress.com/2019/11/20/installing-apache-superset-into-centos-7-with-python-3-7/',\n ],\n [\n 'Build Apache Superset from source',\n 'https://hackernoon.com/a-better-guide-to-build-apache-superset-from-source-6f2ki32n0',\n ],\n];\n\nconst youtubeVideos = [\n [\n '24XDOkGJrEY',\n 'The history and anatomy of Apache Superset',\n ],\n [\n 'AqousXQ7YHw',\n 'Apache Superset for visualization and for data science',\n ],\n [\n 'JGeIHrQYhIs',\n 'Apache Superset- Interactive Multi Tab Multiple Dashboards Samples',\n ],\n [\n 'z350Gbi463I',\n 'Apache Superset - Interactive Sales Dashboard (Demo 1)',\n ],\n];\n\nconst resourcesContainer = css`\n .link-section {\n margin-bottom: 24px;\n a {\n display: block;\n }\n }\n .links {\n .videos {\n margin-top: 50px;\n text-align: left;\n iframe {\n margin: 15px;\n }\n }\n }\n`;\n\ninterface featureProps {\n title: string,\n links: string[][],\n}\nconst LinkSection = ({ title, links }: featureProps) => (\n <div className=\"link-section\">\n <h3>{title}</h3>\n <List\n size=\"small\"\n bordered\n dataSource={links}\n renderItem={([link, href]) => (\n <List.Item>\n <a href={href} target=\"_blank\" rel=\"noreferrer\">\n {link}\n </a>\n </List.Item>\n )}\n />\n </div>\n);\n\nconst Resources = () => {\n const [showModal, setModal] = useState(false);\n const [videoId, setVideoId] = useState(null);\n const [cardTitle, setCardTitle] = useState(null);\n const handleClose = () => {\n setModal(false);\n setVideoId(null);\n setCardTitle(null);\n };\n return (\n <Layout>\n <div className=\"contentPage\">\n <SEO title=\"Resources\" />\n <div css={resourcesContainer}>\n <section>\n <h1 className=\"title\">Resources</h1>\n <span>\n Here’s a collection of resources and blogs about Apache Superset\n from around the Internet. For a more more extensive and dynamic\n list of resources, check out the\n {' '}\n <a href=\"https://github.com/apache-superset/awesome-apache-superset\">\n Awesome Apache Superset\n </a>\n {' '}\n repository\n </span>\n </section>\n <section className=\"links\">\n <Row gutter={24}>\n <Col md={12} sm={24} xs={24}>\n <LinkSection title=\"Learning Content\" links={learningLinks} />\n </Col>\n <Col md={12} sm={24} xs={24}>\n <LinkSection title=\"Installation\" links={installationLinks} />\n </Col>\n </Row>\n </section>\n <section className=\"videos\">\n <Modal\n title={cardTitle}\n visible={showModal}\n onOk={handleClose}\n onCancel={handleClose}\n width={610}\n footer={[\n <Button key=\"back\" onClick={handleClose}>\n Close\n </Button>,\n ]}\n >\n <iframe\n width=\"560\"\n height=\"315\"\n src={`https://www.youtube.com/embed/${(youtubeVideos[videoId] && youtubeVideos[videoId][0])}`}\n frameBorder=\"0\"\n allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\"\n allowFullScreen\n />\n </Modal>\n <h2>Videos</h2>\n <Card>\n {youtubeVideos.map(([id, title], idx) => (\n <Card.Grid>\n <div\n role=\"button\"\n onClick={() => {\n setModal(true);\n setVideoId(idx);\n setCardTitle(title);\n }}\n >\n <h4>{title}</h4>\n <img\n width=\"100%\"\n alt=\"youtube vid\"\n src={`http://img.youtube.com/vi/${id}/maxresdefault.jpg`}\n />\n </div>\n </Card.Grid>\n ))}\n </Card>\n </section>\n </div>\n </div>\n </Layout>\n );\n};\n\nexport default Resources;\n"],"sourceRoot":""}