{"version":3,"sources":["bundles/siterra/images/Siterra-Logo.png","bundles/siterra/images/siterraBg1.jpg","bundles/siterra/images/siterraBg2.jpg","bundles/siterra/images/siterraBg3.jpg","bundles/siterra/images/siterraBg4.jpg","bundles/siterra/images/kevin-fitzgerald-479720.jpg","bundles/test/images/landscape.jpg","bundles/test/images/landscape2.jpg","bundles/test/images/landscape3.jpg","bundles/test/images/Siterra-Logo.png","registerServiceWorker.js","Components/Button.js","Components/IconSpan.js","Components/Inputs/TextBox.js","Components/Inputs/TextBoxWithIcon.js","Components/ErrorMessage.js","Components/InfoMessage.js","constants/constants.js","requestManager.js","stores/appActions.js","bundles/siterra/constants.js","bundles/siterra/siterra.actions.js","bundles/siterra/siterraUserReducer.js","bundles/siterra/images/index.js","bundles/test/constants.js","bundles/test/dummyApi.js","bundles/test/testUserReducer.js","bundles/helpers.js","bundles/test/test.actions.js","bundles/test/images/index.js","bundles/index.js","config/index.js","Layouts/BasicPage.js","Components/Inputs/TextArea.js","Pages/DomainOnly.js","Components/Inputs/Password.js","Components/Inputs/PasswordWithIcon.js","Components/NavLink.js","Pages/Login.js","Pages/ForgotPassword.js","Components/Label.js","Pages/ForgotPasswordStep2.js","Pages/Blank.js","Pages/LockedAccount.js","Components/Inputs/Dropdown.js","Pages/AccountApplication.js","Pages/ResetPassword.js","Pages/Splash.js","images/index.js","stores/formActions.js","Layouts/OffsetPanelLayout.js","Layouts/MiddlePanelLayout.js","Layouts/SplashLayout.js","Components/BgSlideShow.js","Components/BgProvider.js","Layouts/LayoutProvider.js","PageContainer.js","reducers/appReducer.js","reducers/index.js","index.js","stores/store.js","images/AccruentLogo.png"],"names":["module","exports","__webpack_require__","p","Boolean","window","location","hostname","match","Button","props","react_default","a","createElement","type","className","onClick","disabled","name","children","IconSpan","iClass","iconClass","concat","id","aria-hidden","TextBox","placeholder","value","defaultValue","onBlur","onChange","onFocus","onInput","required","TextBoxWithIcon","Components_IconSpan","Inputs_TextBox","ErrorMessage","message","InfoMessage","SET_FORGOT_PASSWORD_PAGE","SET_LOGIN_PAGE","SET_LOCKED_ACCOUNT_PAGE","SET_MESSAGE","SET_LOGO","SET_BACKGROUND","SET_BG_CYCLE_TIME","SET_TOGGLES","INFO","ERROR","FORM_FAILURE","CHANGE_PAGE","SET_SHOW_HINTS","SET_IS_PROCESSING","SET_IS_LOADING_INITIAL_STATE","START_PROCESSING","STOP_PROCESSING","SUBMIT_DOMAIN_FORM","SUBMIT_DOMAIN_FORM_SUCCESS","SUBMIT_DOMAIN_FORM_FAILURE","SUBMIT_LOGIN_FORM","SUBMIT_LOGIN_FORM_FAILURE","SUBMIT_LOGIN_SUCCESS_EXPIRED_PASSWORD","SUBMIT_LOGIN_SUCCESS_EXPIRED_OR_LOCKED_ACCOUNT","SUBMIT_LOGIN_FORM_SUCCESS","SUBMIT_RESET_PASSWORD_FORM","SUBMIT_RESET_PASSWORD_FORM_FAILURE","SUBMIT_RESET_PASSWORD_FORM_SUCCESS","SUBMIT_LOCKED_ACCOUNT_FORM","SUBMIT_LOCKED_ACCOUNT_FORM_FAILURE","SUBMIT_LOCKED_ACCOUNT_FORM_SUCCESS","SUBMIT_FORGOT_PASSWORD_FORM","SUBMIT_FORGOT_PASSWORD_FORM_FAILURE","SUBMIT_FORGOT_PASSWORD_FORM_SUCCESS","SUBMIT_FORGOT_PASSWORD_STEP_2_FORM","SUBMIT_FORGOT_PASSWORD_STEP_2_FORM_FAILURE","SUBMIT_FORGOT_PASSWORD_STEP_2_FORM_SUCCESS","SUBMIT_ACCOUNT_APPLICATION_FORM","SUBMIT_ACCOUNT_APPLICATION_FORM_FAILURE","SUBMIT_ACCOUNT_APPLICATION_FORM_SUCCESS","RECEIVE_SESSION","environmentLevelLists","key","requestManager","tokenUrl","getEntity","url","request","method","responseType","postEntity","uri","data","patchEntity","setInfo","info","actionTypes","setErrors","errors","setIsLoadingInitialState","isLoadingInitialState","formFailure","setHintsFlag","showHints","setIsProcessing","isProcessing","changePage","page","setMessage","setLogo","logo","REQUEST_DOMAIN_SUCCESS","SET_COUNTRY_OPTIONS","SET_STATE_OPTIONS","SET_SPLASH","SET_REDIRECT_URL","SET_DOMAIN_LOGO","SET_SSO_LOGIN","SET_JUMPTO_URL","SET_ERROR_FIELDS","BASE_URL","config","urls","base","validateFields","toggles","fieldList","state","filter","x","map","fieldName","split","slice","toUpperCase","length","toLowerCase","join","validateFieldsBasic","validateEmailAddress_pvSP_47149","email","test","validateEmailAddress","camelize","str","replace","index","setSplash","splash","siterraActionTypes","setRedirectUrl","redirectUrl","setErrorFields","errorFields","setToggles","toggle","getErrors","code","Array","isArray","Errors","getDomainFromUrl","potentialDomain","host","getCookie","document","cookie","RegExp","setCookie","cookieName","cookieValue","getDomainData","_x","_getDomainData","apply","this","arguments","_callee10","domainName","domainResponse","regenerator_default","wrap","_context10","prev","next","encodeURIComponent","sent","abrupt","t0","error","stop","featureToggleService","ToggleService","getToggles","_callee11","_context11","console","requestDomainDataSuccess","dispatch","Name","DomainId","ImagePrefix","LoginUrlPrefix","IsSsoBtnVisible","AuthUrl","DefaultSsoLoginUrl","urlBits","newUrl","href","ssoBtnVisible","ssoAuthUrl","defaultSsoUrl","domain","domainId","imagePrefix","imagePath","setDomainLogo","appActions","domainPageLoad","_ref","Object","asyncToGenerator","mark","_callee","_ref2","_context","search","jumpToUrl","_x2","requestDomain","_ref3","_callee2","_ref4","_context2","response","status","_x3","getQueryParams","qParams","substring","forEach","pair","decodeURIComponent","submitLoginForm","_ref5","_callee3","getState","fieldsToValidate","errs","mappedData","env","delegation","returnUrl","salt","sig","res","_res$data","IsSplashNeeded","SplashContent","RedirectUrl","Token","bits","_error$data","AccountStatus","AreHintsNeeded","_Token","_context3","$$dataStore","get","toJS","submitLoginForm_sp45939","ssoLogin","apimLogin","Username","username","Password","password","DomainName","objectSpread","Environment","Delegation","ReturnUrl","Salt","Signature","submitLoginFormSuccess","IsMfa","submitLoginSuccessWithExpiredPassword","submitLoginSuccessWithExpiredOrLockedAccount","_x4","_x5","token","submitForgotPasswordForm","_ref6","_callee4","_errs","_res$data2","SecurityQuestionText","SuccessMessage","_context4","getToggle","element","indexOf","push","LastName","lastName","EmailAddress","hintQuestion","_x6","_x7","submitForgotPasswordStep2Form","_ref7","_callee5","_context5","hintAnswer","SecurityAnswer","LoginUrl","_x8","_x9","submitLockedAccountForm","_ref8","_callee6","_context6","IsSuccess","_x10","_x11","submitResetPasswordForm","_ref9","_callee7","hintsRequired","_context7","$$appStore","confirmPassword","UserName","NewPassword1","NewPassword2","PasswordHintQuestion","PasswordHintAnswer","_x12","_x13","accountApplicationPageLoad","then","countryOptions","Locations","Id","label","Value","accountApplicationCountryInput","country","stateOptions","submitAccountApplicationForm","_ref10","_callee8","errsFlds","errsMsgs","_context8","FirstName","firstName","Title","title","Company","company","MobilePhoneNumber","mobilePhone","BusinessPhoneNumber","businessPhone","CountryCode","Address1","address1","Address2","address2","City","city","StateCode","ZipCode","zipCode","Comments","comments","PropertyName","_x14","_x15","_ref11","_callee9","_res$data3","_error$data2","_Token2","_context9","_x16","_x17","$$initialState","Immutable","fromJS","accountStatus","images","Siterra-Logo.png","siterraLogo","bg1","bg2","bg3","bg4","bg5","domainIdResponse","badLoginCredsResponse","goodLoginCredsResponse","expiredPasswordResponse","expiredAccountResponse","firstTimeResponse","lockedAccountResponse","sendLockedAccountFormResponse","sendForgotPasswordFormResponse","sendForgotPasswordFormErrorResponse","sendForgotPasswordStep2FormResponse","sendResetPasswordFormResponse","sendAccountApplicationFormResponse","countriesResponse","statesResponse","apiRoutes","/domains","/session","postData","getLoginResponse","/accountrequests","/forgotpassword","/users/ResetPassword","/users/Security","/countries","/countries/1/states","/unlockrequest","RequestManager","classCallCheck","createClass","apiUrl","Promise","resolve","reject","setTimeout","val","e","testReducer","Reducer","schema","store","createStore","createReducer","bind","handlers","self","$$state","undefined","action","newState","toObject","handler","keys","schemaKey","merge","actionType","siterraActions","$$","requestDomainSuccess","catch","err","setCountryOptions","setStateOptions","submitDomainForm","submitDomainFormSuccess","$","alert","submitForgotPasswordFormSuccess","log","PhoneNumber","phone","landscape.jpg","landscape","landscape2.jpg","landscape2","landscape3.jpg","landscape3","bundles","siterra","actions","siterraConfig","reducer","siterraImages","siterraInitialState","testActions","testConfig","testImages","testInitialState","Config","activeModule","_activeModule","newModule","BasicPage","appData","size","jsx","i","Components_ErrorMessage","Components_InfoMessage","_this$props","userData","bundle","_this$props2","renderLoader","src","getLogo","alt","getInfoMessages","React","Component","TextArea","DomainOnly","_this","possibleConstructorReturn","getPrototypeOf","call","domainInputValue","envKey","handleDomainInput","assertThisInitialized","handleFormSubmit","that","fetch","headers","Content-Type","Accept","json","myJson","setState","environmentvalue","target","preventDefault","find","toggle_sp49484","Layouts_BasicPage","onSubmit","Inputs_TextBoxWithIcon","Components_Button","inputMode","autoComplete","minLength","maxLength","pattern","PasswordWithIcon","Inputs_Password","NavLink","to","text","Login","handleUsernameInput","handlePasswordInput","handleSsoBtnClick","toggle_sp45939","_this2","renderDomain","Inputs_PasswordWithIcon","renderSsoBtn","Components_NavLink","ForgotPassword","handleLastNameInput","handleEmailInput","assign","Label","htmlFor","for","ForgotPasswordStep2","handleHintAnswerInput","Blank","LockedAccount","handleUserInput","renderUsername","Dropdown","react_select_es","AccountApplication","z","defineProperty","handleCountryInput","handleStateInput","handleFormCancel","checkFieldError","formCheck","confirm","field","toArray","Components_Label","buildTextField","Inputs_Dropdown","options","handleZipCodeInput","Inputs_TextArea","handleCommentsInputs","ResetPassword","handleConfirmPasswordInput","handleHintQuestionInput","renderHintQuestion","renderHintAnswer","Splash","parser","Parser","renderSplash","handleSplashContinueClick","parse","AccruentLogo.png","AccruentLogo","formActions","OffsetPanelLayout","body","MiddlePanelLayout","SplashLayout","BgSlideShow","backgrounds","background","first_bg","Math","floor","random","bgStyle","opacity","nextBgStyle","activeImage","cycleTime","bgCycleTime","bgTimer","setInterval","cycleBgImage","nextImage","getNextBgImage","nextBackground","excludeImg","possibleCurrentImages","style","BgProvider","Components_BgSlideShow","LayoutProvider","imageRepo","layout","middle","offset","Components_BgProvider","accLogo","Date","getFullYear","rel","PageContainer","getPage","getCurrentModeActions","Pages_AccountApplication","Pages_DomainOnly","Pages_Login","Pages_ForgotPassword","Pages_ForgotPasswordStep2","Pages_LockedAccount","Pages_ResetPassword","Pages_Splash","Pages_Blank","bindActionCreators","Layouts_LayoutProvider","connect","getInitialState","currentMode","messageTitle","frontMessage","messageBody","appReducer","initialStates","getAppInitialState","querySelector","getInitialStates","mod","changeModule","combineReducers","reducers","getReducers","applyMiddleware","thunk","logger","configureStore","render","es","src_PageContainer"],"mappings":"imBAAAA,EAAAC,QAAA,ksHCAAD,EAAAC,QAAiBC,EAAAC,EAAuB,4DCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,4DCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,4DCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,4DCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,yECAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,2DCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,4DCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,0DCAxCH,EAAAC,QAAA,wgVCUoBG,QACW,cAA7BC,OAAOC,SAASC,UAEe,UAA7BF,OAAOC,SAASC,UAEhBF,OAAOC,SAASC,SAASC,MACvB,iJCSSC,EAtBA,SAAAC,GACb,OACEC,EAAAC,EAAAC,cAAA,UACMC,KAAqB,WAAfJ,EAAMI,KAAoB,SAAW,SAC/CC,UAAWL,EAAMK,UACjBC,QAASN,EAAMM,QACfC,SAAUP,EAAMO,SAChBC,KAAMR,EAAMQ,MAEXR,EAAMS,WCaEC,EAtBE,SAAAV,GACb,IAAIW,EAASX,EAAMY,UAEnB,OADGZ,EAAMK,YAAWM,GAAM,IAAAE,OAAQb,EAAMK,YAEpCJ,EAAAC,EAAAC,cAAA,QACIW,GAAId,EAAMc,GACVT,UAAWM,EACXI,cAAY,OACZT,QAASN,EAAMM,SAEdN,EAAMS,WC0BJO,EApCC,SAAAhB,GACZ,OACIC,EAAAC,EAAAC,cAAA,SACIC,KAAK,OACLU,GAAId,EAAMc,GACVP,SAAUP,EAAMO,SAChBU,YAAajB,EAAMiB,YACnBC,MAAOlB,EAAMkB,MACbC,aAAcnB,EAAMmB,aACpBC,OAAQpB,EAAMoB,OACdC,SAAUrB,EAAMqB,SAChBC,QAAStB,EAAMsB,QACfC,QAASvB,EAAMuB,QACflB,UAAWL,EAAMK,UACjBmB,SAAUxB,EAAMwB,SAChBhB,KAAMR,EAAMQ,QCCTiB,EAbS,SAAAzB,GACpB,OACIC,EAAAC,EAAAC,cAAA,OAAKE,UAAW,wBACZJ,EAAAC,EAAAC,cAACuB,EAAD,CAAUd,UAAW,cAAgBZ,EAAMY,YAC3CX,EAAAC,EAAAC,cAACwB,EAAY3B,KCMV4B,EAXM,SAAA5B,GAAK,OACtBC,EAAAC,EAAAC,cAAA,OAAKE,UAAU,mBACXJ,EAAAC,EAAAC,cAACuB,EAAD,CAAUd,UAAU,+BACnBZ,EAAM6B,UCQAC,EAXK,SAAA9B,GAAK,OACrBC,EAAAC,EAAAC,cAAA,OAAKE,UAAU,kBACXJ,EAAAC,EAAAC,cAACuB,EAAD,CAAUd,UAAU,sBACnBZ,EAAM6B,4CCNFE,EAA2B,2BAC3BC,EAAiB,iBACjBC,EAA0B,0BAE1BC,EAAc,cACdC,EAAW,WACXC,EAAiB,iBACjBC,EAAoB,oBACpBC,EAAc,cAEdC,EAAO,OACPC,EAAQ,QAERC,EAAe,eAEfC,EAAc,cAEdC,EAAiB,iBACjBC,EAAoB,oBACpBC,EAA+B,+BAE/BC,EAAmB,mBACnBC,EAAkB,kBAElBC,EAAqB,qBACrBC,EAA6B,6BAC7BC,EAA6B,6BAE7BC,EAAoB,oBACpBC,EAA4B,4BAC5BC,EAAwC,wCACxCC,GAAiD,iDACjDC,GAA4B,4BAE5BC,GAA6B,6BAC7BC,GAAqC,qCACrCC,GAAqC,oCAErCC,GAA6B,6BAC7BC,GAAqC,qCACrCC,GAAqC,oCAErCC,GAA8B,8BAC9BC,GAAsC,sCACtCC,GAAsC,sCAEtCC,GAAqC,qCACrCC,GAA6C,6CAC7CC,GAA6C,6CAE7CC,GAAkC,kCAClCC,GAA0C,0CAC1CC,GAA0C,0CAE1CC,GAAkB,kBAElBC,GAAwB,CACjC,CACEC,IAAM,SACNvD,MAAQ,MAEV,CACEuD,IAAM,OACNvD,MAAQ,OAEV,CACEuD,IAAM,OACNvD,MAAQ,OAEV,CACEuD,IAAM,OACNvD,MAAQ,OAEV,CACEuD,IAAM,MACNvD,MAAQ,OAEV,CACEuD,IAAM,WACNvD,MAAQ,MAEV,CACEuD,IAAM,OACNvD,MAAQ,QAEV,CACEuD,IAAM,SACNvD,MAAQ,UAEV,CACEuD,IAAM,SACNvD,MAAQ,UAEV,CACEuD,IAAM,QACNvD,MAAQ,SAEV,CACEuD,IAAM,SACNvD,MAAQ,MAEV,CACEuD,IAAM,SACNvD,MAAQ,MAEV,CACEuD,IAAM,QACNvD,MAAQ,MAEV,CACEuD,IAAM,SACNvD,MAAQ,MAEV,CACEuD,IAAM,WACNvD,MAAQ,MAEV,CACEuD,IAAM,WACNvD,MAAQ,MAEV,CACEuD,IAAM,WACNvD,MAAQ,MAEV,CACEuD,IAAM,UACNvD,MAAQ,MAEV,CACEuD,IAAM,UACNvD,MAAQ,MAEV,CACEuD,IAAM,UACNvD,MAAQ,MAEV,CACEuD,IAAM,aACNvD,MAAQ,MAEV,CACEuD,IAAM,KACNvD,MAAQ,MAEV,CACEuD,IAAM,MACNvD,MAAQ,4BC/ICwD,WAFEC,EAEF,CAMbC,UANa,SAMHC,GACR,OAAOC,KAAQ,CACbC,OAAQ,MACRF,IAAKA,EACLG,aAAc,UAIlBC,WAda,SAcFC,EAAKC,GACd,OAAOL,KAAQ,CACbC,OAAQ,OACRF,IAAKK,EACLF,aAAc,OACdG,KAAMA,KAIVC,YAvBa,SAuBDP,EAAKM,GACf,OAAOL,KAAQ,CACbC,OAAQ,QACRC,aAAc,OACdH,MACAM,YChCOE,GAAU,SAAAC,GACnB,MAAO,CACHlF,KAAMmF,EACND,SAIKE,GAAY,SAAAC,GACrB,MAAO,CACHrF,KAAMmF,EACNE,WAIKC,GAA2B,SAAAC,GACpC,MAAO,CACHvF,KAAMmF,EACNI,0BAIKC,GAAc,SAAAH,GACvB,MAAO,CACHrF,KAAMmF,EACNE,WAIKI,GAAe,SAAAC,GACxB,MAAO,CACH1F,KAAMmF,EACNO,cAIKC,GAAkB,SAAAC,GAC3B,MAAO,CACH5F,KAAMmF,EACNS,iBAIKC,GAAa,SAAAC,GACtB,MAAO,CACH9F,KAAMmF,EACNW,SAIKC,GAAa,SAAAtE,GACtB,MAAO,CACHzB,KAAMmF,EACN1D,YAIKuE,GAAU,SAAAC,GACnB,MAAO,CACHjG,KAAMmF,EACNc,SC5DKzD,GAAoB,oBACpBF,GAAc,cAEdM,GAAqB,qBACrBsD,GAAyB,yBACzBpD,GAA6B,6BAE7BI,GAAiD,iDACjDD,GAAuC,wCAEvCF,GAAoB,oBACpBI,GAA4B,4BAC5BH,GAA4B,4BAE5BU,GAA8B,8BAC9BE,GAAsC,sCAEtCuC,GAAsB,sBACtBC,GAAoB,oBACpBlE,GAAc,cAEdmE,GAAa,aACbC,GAAmB,mBAEnBC,GAAkB,kBAElBC,GAAgB,gBAChBC,GAAiB,iBAEjBC,GAAmB,iDCrB1BC,GAAWC,GAAOC,KAAKC,KAGvBC,IAFcH,GAAOC,KAAKG,QAET,SAACC,EAAWC,GAC/B,OAAOD,EAAUE,OAAO,SAAAC,GAAC,OAAMF,EAAME,IAAmB,KAAbF,EAAME,KAC5CC,IAAI,SAAAD,GACD,IAAIE,EAAYF,EAAEG,MAAM,KAAKF,IAAI,SAAAD,GAAC,SAAA3G,OAAO2G,EAAEI,MAAM,EAAG,GAAGC,eAArBhH,OAAqC2G,EAAEI,MAAM,EAAGJ,EAAEM,QAAQC,iBAAiBC,KAAK,KAClH,SAAAnH,OAAU6G,EAAV,yBAINO,GAAsB,SAACZ,EAAWC,GACpC,OAAOD,EAAUE,OAAO,SAAAC,GAAC,OAAMF,EAAME,IAAmB,KAAbF,EAAME,MAI/CU,GAAkC,SAACC,GAErC,MADiB,yJACCC,KAAKD,IAGrBE,GAAuB,SAACF,GAO1B,MADiB,WACCC,KAAKD,IAGrBG,GAAW,SAAAC,GACb,OAAOA,EAAIC,QAAQ,0BAA2B,SAAS1I,EAAO2I,GAC1D,OAAe,KAAV3I,EAAoB,GACT,GAAT2I,EAAa3I,EAAMiI,cAAgBjI,EAAM+H,iBA0BxD,SAASa,GAAUC,GACf,MAAO,CACHvI,KAAMwI,GACND,UAIR,SAASE,GAAeC,GACpB,MAAO,CACH1I,KAAMwI,GACNE,eAaR,SAASC,GAAeC,GACpB,MAAO,CACH5I,KAAMwI,GACNI,eAKR,SAASC,GAAYC,GACjB,MAAO,CACH9I,KAAMwI,GACNM,OAAQA,GAMhB,SAASC,GAAUhE,GAGf,OAAIA,EAAKiE,KACEjE,EAAKM,OAKR4D,MAAMC,QAAQnE,EAAKoE,QAAgBpE,EAAKoE,OAAO9B,IAAI,SAAAD,GAAC,OAAIA,EAAE5F,eACnC,kBAAhBuD,EAAKoE,OAA4B,CAACpE,EAAKoE,aAAlD,EAIR,SAASC,KACL,IACIC,EADM9J,OAAOC,SAAS8J,KACA/B,MAAM,KAAK,GACrC,MAAwB,QAApB8B,EAAkC,KACd,cAApBA,EAAwC,KACrCA,EAOJ,SAASE,GAAUnJ,GACtB,IAAIV,EAAQ8J,SAASC,OAAO/J,MAAM,IAAIgK,OAAOtJ,EAAO,aACpD,OAAIV,EAAcA,EAAM,GACjB,KAGJ,SAASiK,GAAUC,EAAYC,GAClCL,SAASC,OAAT,GAAAhJ,OAAqBmJ,EAArB,KAAAnJ,OAAmCoJ,EAAnC,YAGG,SAAeC,GAAtBC,GAAA,OAAAC,GAAAC,MAAAC,KAAAC,wDAAO,SAAAC,EAA6BC,GAA7B,IAAAvF,EAAAwF,EAAA,OAAAC,EAAAzK,EAAA0K,KAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,cACG7F,EADH,GAAArE,OACYkG,GADZ,kBAAAlG,OACqCmK,mBAAmBP,IADxDI,EAAAC,KAAA,EAAAD,EAAAE,KAAA,EAG4BrG,GAAeE,UAAUM,GAHrD,cAGKwF,EAHLG,EAAAI,KAAAJ,EAAAK,OAAA,SAIQ,CAAC/F,KAAMuF,EAAevF,OAJ9B,cAAA0F,EAAAC,KAAA,EAAAD,EAAAM,GAAAN,EAAA,SAAAA,EAAAK,OAAA,SAMQ,CAACE,MAAKP,EAAAM,KANd,yBAAAN,EAAAQ,SAAAb,EAAA,wCAUP,IAAMc,GAAuB,IAAIC,cAClBC,kFAAf,SAAAC,IAAA,IAAArE,EAAA,OAAAuD,EAAAzK,EAAA0K,KAAA,SAAAc,GAAA,cAAAA,EAAAZ,KAAAY,EAAAX,MAAA,cAAAW,EAAAZ,KAAA,EAAAY,EAAAX,KAAA,EAE8BO,GAAqBE,aAFnD,cAEcpE,EAFdsE,EAAAT,KAAAS,EAAAR,OAAA,SAGe9D,GAHf,OAAAsE,EAAAZ,KAAA,EAAAY,EAAAP,GAAAO,EAAA,SAMQC,QAAQP,MAARM,EAAAP,IANR,yBAAAO,EAAAL,SAAAI,EAAA,wCAiBO,SAASG,GAAyBzG,GACrC,OAAO,SAAA0G,GAAY,IACTC,EAA8F3G,EAA9F2G,KAAMC,EAAwF5G,EAAxF4G,SAAUC,EAA8E7G,EAA9E6G,YAAaC,EAAiE9G,EAAjE8G,eAAgBC,EAAiD/G,EAAjD+G,gBAAiBC,EAAgChH,EAAhCgH,QAASC,EAAuBjH,EAAvBiH,mBAE7E,GAAGH,EAAgB,CACf,IAAII,EAAU1M,OAAOC,SAASC,SAAS8H,MAAM,KACzC2E,EAAM,GAAAzL,OAAMoL,EAAN,KAAApL,OAAwBwL,EAAQzE,MAAM,GAAGI,KAAK,MACxD+B,GAAU,cAAepK,OAAOC,SAAS2M,KAAK/D,QAAQ7I,OAAOC,SAASC,SAAUyM,IAKpF,GAAIH,GAAWC,EAAoB,CAC/B,GAAGzC,GAAU,eAET,OAAQhK,OAAOC,SAAS2M,KAAOJ,EAI/BN,EA5GL,CACHzL,KAAMwI,GACN4D,cA0G6BN,EAzG7BO,WAyG8CN,EAxG9CO,cAwGuDN,IAGvDP,EAqDG,CACHzL,KAAMwI,GACN+D,OAvD8Bb,EAwD9Bc,SAxDoCb,IAChCC,GAAaH,EArJzB,SAAuBgB,GACnB,IAAMC,EAAS,YAAAjM,OAAegM,EAAf,aACf,MAAO,CACHzM,KAAMwI,GACNvC,KAAMyG,GAiJoBC,CAAcf,IACxCH,EAASmB,GAAsB,WAIhC,SAASC,KACZ,sBAAAC,EAAAC,OAAAC,EAAA,EAAAD,CAAAxC,EAAAzK,EAAAmN,KAAO,SAAAC,EAAMzB,GAAN,IAAA3C,EAAAO,EAAA8D,EAAApI,EAAA,OAAAwF,EAAAzK,EAAA0K,KAAA,SAAA4C,GAAA,cAAAA,EAAA1C,KAAA0C,EAAAzC,MAAA,cAEHc,EAASmB,IAAoC,IAC7CjD,GAAU,cAAepK,OAAOC,SAAS2M,MAEtC5M,OAAOC,SAAS6N,OAAO1F,cAAc0F,OAAO,UAAY,GACvD5B,GA1CU6B,EA0CW,YAAA7M,OAAalB,OAAOC,SAAS6N,QAzCnD,CACHrN,KAAMwI,GACN8E,eAiCGF,EAAAzC,KAAA,EASkBS,KATlB,UASGtC,EATHsE,EAAAvC,KAUHY,EAAS5C,GAAWC,IAIhBO,EAAkBD,KAdnB,CAAAgE,EAAAzC,KAAA,gBAAAyC,EAAAtC,OAAA,SAeyBW,EAASmB,GAAsB,YAfxD,eAAAQ,EAAAzC,KAAA,GAiBkBb,GAAcT,GAjBhC,WAAA8D,EAAAC,EAAAvC,KAiBG9F,EAjBHoI,EAiBGpI,KAjBH,CAAAqI,EAAAzC,KAAA,gBAAAyC,EAAAtC,OAAA,SAkBcW,EAASmB,GAAsB,YAlB7C,QAoBHnB,EAASD,GAAyBzG,IApB/B,yBAAAqI,EAAAnC,OApCX,IAAsBqC,GAoCXJ,MAAP,gBAAAK,GAAA,OAAAT,EAAA7C,MAAAC,KAAAC,YAAA,GAwBG,SAASqD,GAAcnD,GAC1B,sBAAAoD,EAAAV,OAAAC,EAAA,EAAAD,CAAAxC,EAAAzK,EAAAmN,KAAO,SAAAS,EAAMjC,GAAN,IAAAkC,EAAA5I,EAAAiG,EAAA,OAAAT,EAAAzK,EAAA0K,KAAA,SAAAoD,GAAA,cAAAA,EAAAlD,KAAAkD,EAAAjD,MAAA,UACEN,GAA6B,KAAfA,EADhB,CAAAuD,EAAAjD,KAAA,eAAAiD,EAAA9C,OAAA,SAEQW,EAASmB,GAAuB,CAAC,8BAFzC,cAAAgB,EAAAjD,KAAA,EAKyBb,GAAcO,GALvC,UAAAsD,EAAAC,EAAA/C,KAKG9F,EALH4I,EAKG5I,KAAMiG,EALT2C,EAKS3C,OACTjG,EANA,CAAA6I,EAAAjD,KAAA,SAOCc,EAASD,GAAyBzG,IAPnC6I,EAAAjD,KAAA,oBASKK,EAAM6C,SATX,CAAAD,EAAAjD,KAAA,gBAAAiD,EAAA9C,OAAA,SAS4BW,EAASmB,GAAuB,+BAT5D,QAU8B,MAA1B5B,EAAM6C,SAASC,OACdrC,EAASmB,GAAuB,sBAGhCnB,EAASmB,GAAuB7D,GAAUiC,EAAM6C,SAAS9I,QAd9D,yBAAA6I,EAAA3C,SAAAyC,MAAP,gBAAAK,GAAA,OAAAN,EAAAxD,MAAAC,KAAAC,YAAA,GAkCJ,SAAS6D,KACL,IAAIC,EAAU,GAKd,OAJA1O,OAAOC,SAAS6N,OAAOa,UAAU,GAAG3G,MAAM,KAAK4G,QAAQ,SAACC,GACpDA,EAAOA,EAAK7G,MAAM,KAClB0G,EAAQG,EAAK,IAAMC,mBAAmBD,EAAK,IAAM,MAE9CH,EAMJ,SAASK,GAAgBvJ,GAC5B,sBAAAwJ,EAAAxB,OAAAC,EAAA,EAAAD,CAAAxC,EAAAzK,EAAAmN,KAAO,SAAAuB,EAAO/C,EAAUgD,GAAjB,IAAAR,EAAAS,EAAAC,EAAA7J,EAAA8J,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAjC,EAAAkC,EAAAxE,EAAAyE,EAAAC,EAAAC,EAAAC,EAAA,OAAArF,EAAAzK,EAAA0K,KAAA,SAAAqF,GAAA,cAAAA,EAAAnF,KAAAmF,EAAAlF,MAAA,UAGkB8D,IAAWqB,YAAYC,IAAI,UAAUC,OAArC,SAHlB,CAAAH,EAAAlF,KAAA,eAAAkF,EAAA/E,OAAA,SAIwBW,EAASwE,GAAwBlL,KAJzD,UAMGkJ,EAAUD,MAGbjJ,EAAKmL,UAAajC,EAAQkC,UAT1B,CAAAN,EAAAlF,KAAA,eAAAkF,EAAA/E,OAAA,SAUSvL,OAAOC,SAAS2M,KAAOsC,IAAWqB,YAAYC,IAAI,eAV3D,UAcCrB,EAAmB,CAAC,YACpBD,IAAWqB,YAAYC,IAAI,YAAWrB,EAAmBA,EAAiBjO,OAAO,CAAC,eAClFkO,EAAO5H,GAAe2H,EAAkB3J,IACnC2C,OAAS,GAjBf,CAAAmI,EAAAlF,KAAA,gBAAAkF,EAAA/E,OAAA,SAkBQW,EAASmB,GAAuB+B,KAlBxC,eAqBC7J,EArBD,GAAArE,OAqBUkG,GArBV,YAsBCiI,EAAa,CACbwB,SAAUrL,EAAKsL,SACfC,SAAUvL,EAAKwL,SACfC,WAAY/B,IAAWqB,YAAYC,IAAI,WAAahL,EAAKwH,QAI1D0B,EAAQkC,WAAmC,MAAtBlC,EAAQkC,YACpBtB,EAA0CZ,EAA1CY,IAAKC,EAAqCb,EAArCa,WAAYC,EAAyBd,EAAzBc,UAAWC,EAAcf,EAAde,KAAMC,EAAQhB,EAARgB,IAE1CnK,EAAG,GAAArE,OAAMqE,EAAN,SACH8J,EAAU7B,OAAA0D,EAAA,EAAA1D,CAAA,GAAQ6B,EAAR,CAAoB8B,YAAa7B,EAAK8B,WAAY7B,EAAY8B,UAAW7B,EAAW8B,KAAM7B,EAAM8B,UAAW7B,KAjCtHY,EAAAnF,KAAA,GAAAmF,EAAAlF,KAAA,GAqCmBrG,GAAeO,WAAWC,EAAK8J,GArClD,YAqCOM,EArCPW,EAAAhF,MAsCU9F,KAtCV,CAAA8K,EAAAlF,KAAA,gBAAAkF,EAAA/E,OAAA,SAsCuBW,EAASmB,GAAuB,8BAtCvD,WAwCCnB,EAASsF,MAxCV5B,EA0CoED,EAAInK,KAAjEqK,EA1CPD,EA0COC,eAAgBC,EA1CvBF,EA0CuBE,cAAeC,EA1CtCH,EA0CsCG,YAAaC,EA1CnDJ,EA0CmDI,OA1CnDJ,EA0C0D6B,MA1C1D,CAAAnB,EAAAlF,KAAA,YA6CU2E,EA7CV,CAAAO,EAAAlF,KAAA,gBAAAkF,EAAA/E,OAAA,SA8CgBW,EAASmB,GAAuB,8BA9ChD,eAAAiD,EAAA/E,OAAA,SAgDavL,OAAOC,SAAS2M,KAAOmD,GAhDpC,QAmDOhC,EAAYmB,IAAWqB,YAAYC,IAAI,aAC7CpG,GAAU,eAAgB4F,GAGtBH,GAAkBC,GAClB5D,EAAShD,GAAe6E,GAAagC,IACrC7D,EAASnD,GAAU+G,IACnB5D,EAASmB,GAAsB,aAI5BqB,EAAQkC,aACHX,EAAOF,EAAY/H,MAAM,WACrBG,OAAS,IACb8H,EAAK,GAAK5E,mBAAmB4E,EAAK,KAEtCF,EAAcE,EAAK5H,KAAK,WAE5BrI,OAAOC,SAAS2M,KAAOmB,GAAagC,GArEzCO,EAAAlF,KAAA,oBAAAkF,EAAAnF,KAAA,GAAAmF,EAAA9E,GAAA8E,EAAA,WAyEO7E,EAAQ6E,EAAA9E,GAAI8C,WACJ7C,EAAMjG,KA1ErB,CAAA8K,EAAAlF,KAAA,gBAAAkF,EAAA/E,OAAA,SA0EkCW,EAASmB,GAAuB,+BA1ElE,WAAA6C,EA4E0DzE,EAAMjG,KAAvD2K,EA5ETD,EA4ESC,cAAeC,EA5ExBF,EA4EwBE,eA5ExBF,EA4EwCtG,OAAQoG,EA5EhDE,EA4EgDF,MAGzB,qBAAlBG,EA/EL,CAAAG,EAAAlF,KAAA,SAgFKc,EAASmB,GAAwB+C,IAEjClE,EAASwF,GAAsClM,EAAKsL,SAAUd,IAC9D9D,EAASmB,GAAsB,kBAC/BnB,EAASmB,GAAqB7D,GAAUiC,EAAMjG,QApFnD8K,EAAAlF,KAAA,oBAwF4B,oBAAlB+E,GAAyD,WAAlBA,EAxFjD,CAAAG,EAAAlF,KAAA,SAyFKc,EAASyF,GAA6CnM,EAAKsL,WAC3D5E,EAASmB,GAAsB,kBAC/BnB,EAASmB,GAAqB7D,GAAUiC,EAAMjG,QA3FnD8K,EAAAlF,KAAA,oBA+F4B,gBAAlB+E,IAAmCjB,IAAWqB,YAAYC,IAAI,iBA/FxE,CAAAF,EAAAlF,KAAA,gBAAAkF,EAAA/E,OAAA,SAgGavL,OAAOC,SAAS2M,KAAOsC,IAAWqB,YAAYC,IAAI,kBAhG/D,QAqGKtE,EAASmB,GAAuB7D,GAAUiC,EAAMjG,QArGrD,yBAAA8K,EAAA5E,SAAAuD,EAAA,mBAAP,gBAAA2C,EAAAC,GAAA,OAAA7C,EAAAtE,MAAAC,KAAAC,YAAA,GA2GJ,SAAS4G,KACL,MAAO,CACH/Q,KAAMmF,IAId,SAAS8L,GAAuCZ,EAAUgB,GACtD,MAAO,CACHrR,KAAMmF,EACNkL,WACAgB,SAIR,SAASH,GAA8Cb,GACnD,MAAO,CACHrQ,KAAMmF,GACNkL,YAQD,SAASiB,GAAyBvM,GACrC,sBAAAwM,EAAAxE,OAAAC,EAAA,EAAAD,CAAAxC,EAAAzK,EAAAmN,KAAO,SAAAuE,EAAO/F,EAAUgD,GAAjB,IAAAhK,EAAAkK,EAAA8C,EAAA7C,EAAAM,EAAAwC,EAAAC,EAAAC,EAAA5G,EAAA,OAAAT,EAAAzK,EAAA0K,KAAA,SAAAqH,GAAA,cAAAA,EAAAnH,KAAAmH,EAAAlH,MAAA,cACGlG,EADH,GAAAhE,OACYkG,GADZ,mBAAAkL,EAAAlH,KAAA,EAEuBO,GAAqB4G,UAAU,YAFtD,WAAAD,EAAAhH,KAAA,CAAAgH,EAAAlH,KAAA,YAKqE,IADhEgE,EAAO5H,GAAe,CAAC,WAAY,SAAWhC,IACzCoC,OAAO,SAAA4K,GAAO,OAAIA,EAAQC,QAAQ,UAAY,IAAGtK,OAL3D,CAAAmK,EAAAlH,KAAA,gBAAAkH,EAAAlH,KAAA,EAMsCO,GAAqB4G,UAAU,YANrE,OAAAD,EAAAhH,KASc5C,GAAqBlD,EAAKgD,QAC3B4G,EAAKsD,KAAK,+BAGTnK,GAAgC/C,EAAKgD,QAAQ4G,EAAKsD,KAAK,+BAbrE,aAgBKtD,EAAKjH,OAAS,GAhBnB,CAAAmK,EAAAlH,KAAA,gBAAAkH,EAAA/G,OAAA,SAiBYW,EAASmB,GAAuB+B,KAjB5C,QAAAkD,EAAAlH,KAAA,uBAoBKgE,EAAO5H,GAAe,CAAC,WAAY,SAAWhC,IACzC2C,OAAS,GArBnB,CAAAmK,EAAAlH,KAAA,gBAAAkH,EAAA/G,OAAA,SAsBYW,EAASmB,GAAuB+B,KAtB5C,eA0BCC,EAAa,CACbjD,SAAU8C,IAAWqB,YAAYC,IAAI,YACrCmC,SAAUnN,EAAKoN,SACfC,aAAcrN,EAAKgD,OA7BpB8J,EAAAnH,KAAA,GAAAmH,EAAAlH,KAAA,GAiCmBrG,GAAeO,WAAWJ,EAAKmK,GAjClD,YAiCOM,EAjCP2C,EAAAhH,MAkCU9F,KAlCV,CAAA8M,EAAAlH,KAAA,gBAAAkH,EAAA/G,OAAA,SAkCuBW,EAASmB,GAAuB,8BAlCvD,QAAA8E,EAoCkDxC,EAAInK,KAA7C4M,EApCTD,EAoCSC,qBAAsBC,EApC/BF,EAoC+BE,eAE9BnG,GAa6B0G,EAbYpN,EAAKoN,SAaPpK,EAbiBhD,EAAKgD,MAc9D,CACH/H,KAAMmF,GACNgN,WACApK,QACAsK,aAlBwEV,KACpElG,EAASmB,GAAsB,wBAC/BnB,EAASmB,GAAmB,CAACgF,KAxC9BC,EAAAlH,KAAA,oBAAAkH,EAAAnH,KAAA,GAAAmH,EAAA9G,GAAA8G,EAAA,WA2CK7G,EAAQ6G,EAAA9G,GAAI8C,WACD7C,EAAMjG,KA5CtB,CAAA8M,EAAAlH,KAAA,gBAAAkH,EAAA/G,OAAA,SA4CmCW,EAASmB,GAAuB,8BA5CnE,QA8CCnB,EAASmB,GAAuB7D,GAAU8I,EAAA9G,GAAI8C,SAAS9I,QA9CxD,yBAAA8M,EAAA5G,OAmDX,IAAyCkH,EAAUpK,GAnDxCyJ,EAAA,mBAAP,gBAAAc,EAAAC,GAAA,OAAAhB,EAAAtH,MAAAC,KAAAC,YAAA,GA+DG,SAASqI,GAA8BzN,GAC1C,sBAAA0N,EAAA1F,OAAAC,EAAA,EAAAD,CAAAxC,EAAAzK,EAAAmN,KAAO,SAAAyF,EAAOjH,EAAUgD,GAAjB,IAAAhK,EAAAmK,EAAAM,EAAAlE,EAAA,OAAAT,EAAAzK,EAAA0K,KAAA,SAAAmI,GAAA,cAAAA,EAAAjI,KAAAiI,EAAAhI,MAAA,UACGlG,EADH,GAAAhE,OACYkG,GADZ,wBAEC5B,EAAK6N,YAAkC,KAApB7N,EAAK6N,WAFzB,CAAAD,EAAAhI,KAAA,eAAAgI,EAAA7H,OAAA,SAEmDW,EAASmB,GAAuB,kCAFnF,cAICgC,EAAa,CACbjD,SAAU8C,IAAWqB,YAAYC,IAAI,YACrCmC,SAAUzD,IAAWqB,YAAYC,IAAI,YACrCqC,aAAc3D,IAAWqB,YAAYC,IAAI,SACzC8C,eAAgB9N,EAAK6N,WACrBE,SAAUvT,OAAOC,SAAS2M,MAT3BwG,EAAAjI,KAAA,EAAAiI,EAAAhI,KAAA,EAamBrG,GAAeO,WAAWJ,EAAKmK,GAblD,WAaOM,EAbPyD,EAAA9H,MAcU9F,KAdV,CAAA4N,EAAAhI,KAAA,gBAAAgI,EAAA7H,OAAA,SAcuBW,EAASmB,GAAuB,8BAdvD,QAgBCnB,EAASmB,GAAsB,UAC/BnB,EAASmB,GAAmBsC,EAAInK,KAAK6M,iBAjBtCe,EAAAhI,KAAA,oBAAAgI,EAAAjI,KAAA,GAAAiI,EAAA5H,GAAA4H,EAAA,UAoBO3H,EAAQ2H,EAAA5H,GAAI8C,WACH7C,EAAMjG,KArBtB,CAAA4N,EAAAhI,KAAA,gBAAAgI,EAAA7H,OAAA,SAqBmCW,EAASmB,GAAuB,8BArBnE,QAuBCnB,EAASmB,GAAuB7D,GAAUiC,EAAMjG,QAvBjD,yBAAA4N,EAAA1H,SAAAyH,EAAA,kBAAP,gBAAAK,EAAAC,GAAA,OAAAP,EAAAxI,MAAAC,KAAAC,YAAA,GA+BG,SAAS8I,GAAwBlO,GACpC,sBAAAmO,EAAAnG,OAAAC,EAAA,EAAAD,CAAAxC,EAAAzK,EAAAmN,KAAO,SAAAkG,EAAO1H,EAAUgD,GAAjB,IAAAhK,EAAAiK,EAAAC,EAAAC,EAAAM,EAAAlE,EAAA,OAAAT,EAAAzK,EAAA0K,KAAA,SAAA4I,GAAA,cAAAA,EAAA1I,KAAA0I,EAAAzI,MAAA,UACGlG,EADH,GAAAhE,OACYkG,GADZ,kBAGC+H,EAAmB,GAElBD,IAAWqB,YAAYC,IAAI,aAAarB,EAAiBuD,KAAK,eAE/DtD,EAAO5H,GAAe2H,EAAkB3J,IACnC2C,OAAS,GARf,CAAA0L,EAAAzI,KAAA,eAAAyI,EAAAtI,OAAA,SASQW,EAASmB,GAAuB+B,KATxC,cAeHC,GADA7J,EAAKwL,SACQ,CACTH,SAAU3B,IAAWqB,YAAYC,IAAI,aAAehL,EAAKsL,SACzDG,WAAY/B,IAAWqB,YAAYC,IAAI,YAjBxCqD,EAAA1I,KAAA,EAAA0I,EAAAzI,KAAA,GAyBmBrG,GAAeO,WAAWJ,EAAKmK,GAzBlD,YAyBOM,EAzBPkE,EAAAvI,MA0BU9F,KA1BV,CAAAqO,EAAAzI,KAAA,gBAAAyI,EAAAtI,OAAA,SA0BuBW,EAASmB,GAAuB,8BA1BvD,QA4BCnB,EAASmB,GAAsB,UAC/BnB,EAASmB,GAAmBsC,EAAInK,KAAK6M,iBA7BtCwB,EAAAzI,KAAA,oBAAAyI,EAAA1I,KAAA,GAAA0I,EAAArI,GAAAqI,EAAA,UAgCOpI,EAAQoI,EAAArI,GAAI8C,WACH7C,EAAMjG,KAjCtB,CAAAqO,EAAAzI,KAAA,gBAAAyI,EAAAtI,OAAA,SAiCmCW,EAASmB,GAAuB,8BAjCnE,WAmCM5B,EAAMjG,KAAKsO,UAnCjB,CAAAD,EAAAzI,KAAA,gBAAAyI,EAAAtI,OAAA,SAmCmCW,EAASmB,GAAuB7D,GAAUiC,EAAMjG,SAnCnF,yBAAAqO,EAAAnI,SAAAkI,EAAA,kBAAP,gBAAAG,EAAAC,GAAA,OAAAL,EAAAjJ,MAAAC,KAAAC,YAAA,GA4CG,SAASqJ,GAAwBzO,GACpC,sBAAA0O,EAAA1G,OAAAC,EAAA,EAAAD,CAAAxC,EAAAzK,EAAAmN,KAAO,SAAAyG,EAAOjI,EAAUgD,GAAjB,IAAAhK,EAAAkP,EAAAjF,EAAAC,EAAAC,EAAAM,EAAAlE,EAAA,OAAAT,EAAAzK,EAAA0K,KAAA,SAAAoJ,GAAA,cAAAA,EAAAlJ,KAAAkJ,EAAAjJ,MAAA,UACGlG,EADH,GAAAhE,OACYkG,GADZ,mBAEGgN,EAAgBlF,IAAWoF,WAAW9D,IAAI,aAE5CrB,EAAmB,CAAC,WAAY,mBAEhCiF,GAAejF,EAAiBuD,KAAK,eAAgB,cAErDtD,EAAO5H,GAAe2H,EAAkB3J,GACxCA,EAAKwL,WAAaxL,EAAK+O,iBAAiBnF,EAAKsD,KAAK,+CAClDtD,EAAKjH,OAAS,GAVf,CAAAkM,EAAAjJ,KAAA,eAAAiJ,EAAA9I,OAAA,SAUyBW,EAASmB,GAAuB+B,KAVzD,cAYCC,EAAa,CACbmF,SAAUtF,IAAWqB,YAAYC,IAAI,YACrCpE,SAAU8C,IAAWqB,YAAYC,IAAI,YACrCiE,aAAcjP,EAAKwL,SACnB0D,aAAclP,EAAK+O,iBAGnBH,IACA/E,EAAWsF,qBAAuBnP,EAAKsN,aACvCzD,EAAWuF,mBAAqBpP,EAAK6N,YArBtCgB,EAAAlJ,KAAA,GAAAkJ,EAAAjJ,KAAA,GAyBmBrG,GAAeU,YAAYP,EAAKmK,GAzBnD,YAyBOM,EAzBP0E,EAAA/I,MA0BU9F,KA1BV,CAAA6O,EAAAjJ,KAAA,gBAAAiJ,EAAA9I,OAAA,SA0BuBW,EAASmB,GAAuB,8BA1BvD,QA4BKsC,EAAInK,KAAKsO,YACT5H,EAASmB,GAAsB,UAC/BnB,EAASmB,GAAmB,4EA9BjCgH,EAAAjJ,KAAA,oBAAAiJ,EAAAlJ,KAAA,GAAAkJ,EAAA7I,GAAA6I,EAAA,WAkCO5I,EAAQ4I,EAAA7I,GAAI8C,WACH7C,EAAMjG,KAnCtB,CAAA6O,EAAAjJ,KAAA,gBAAAiJ,EAAA9I,OAAA,SAmCmCW,EAASmB,GAAuB,8BAnCnE,QAqCCnB,EAASmB,GAAuB7D,GAAUiC,EAAMjG,QArCjD,yBAAA6O,EAAA3I,SAAAyI,EAAA,mBAAP,gBAAAU,EAAAC,GAAA,OAAAZ,EAAAxJ,MAAAC,KAAAC,YAAA,GA8CG,SAASmK,KACZ,OAAO,SAAC7I,EAAUgD,GACdhD,EAAS9C,GAAe,KACxB,IAAI6D,EAAWiC,IAAWqB,YAAYC,IAAI,YACpCtL,EAAG,GAAAhE,OAAMkG,GAAN,wBAAAlG,OAAqC+L,GAE9ClI,GAAeE,UAAUC,GACpB8P,KAAK,SAAArF,GAliBlB,IAA2BsF,EAmiBX/I,GAniBW+I,EAmiBgBtF,EAAInK,KAAK0P,UAAUpN,IAAI,SAAAD,GAAO,MAAO,CAACtG,MAAOsG,EAAEsN,GAAIC,MAAOvN,EAAEwN,SAliB5F,CACH5U,KAAMwI,GACNgM,uBAsiBD,SAASK,GAA+BC,GAC3C,OAAO,SAACrJ,EAAUgD,GACd,IAAIjC,EAAWiC,IAAWqB,YAAYC,IAAI,YACpCtL,EAAG,GAAAhE,OAAMkG,GAAN,eAAAlG,OAA4BqU,EAAQhU,MAApC,qBAAAL,OAA6D+L,GACtElI,GAAeE,UAAUC,GACpB8P,KAAK,SAAArF,GAviBlB,IAAyB6F,EAwiBTtJ,GAxiBSsJ,EAwiBgB7F,EAAInK,KAAK0P,UAAUpN,IAAI,SAAAD,GAAO,MAAO,CAACtG,MAAOsG,EAAEsN,GAAIC,MAAOvN,EAAEwN,SAviB1F,CACH5U,KAAMwI,GACNuM,qBA2iBD,SAASC,GAA6BjQ,GACzC,sBAAAkQ,EAAAlI,OAAAC,EAAA,EAAAD,CAAAxC,EAAAzK,EAAAmN,KAAO,SAAAiI,EAAOzJ,EAAUgD,GAAjB,IAAAhK,EAAAiK,EAAAyG,EAAAC,EAAAzG,EAAAC,EAAAM,EAAAlE,EAAApC,EAAA,OAAA2B,EAAAzK,EAAA0K,KAAA,SAAA6K,GAAA,cAAAA,EAAA3K,KAAA2K,EAAA1K,MAAA,cACGlG,EADH,GAAAhE,OACYkG,GADZ,oBAGC+H,EAAmB,CAAC,YAAa,WAAY,QAAS,gBAAiB,QAAS,WAHjF2G,EAAA1K,KAAA,EAKuBO,GAAqB4G,UAAU,YALtD,WAAAuD,EAAAxK,KAAA,CAAAwK,EAAA1K,KAAA,YAOKwK,EAAWtN,GAAoB6G,EAAkB3J,GACjDqQ,EAAUD,EAAS9N,IAAI,SAAAD,GAAC,SAAA3G,OAAO2G,EAAEI,MAAM,EAAG,GAAGC,eAArBhH,OAAqC2G,EAAEI,MAAM,EAAGJ,EAAEM,QAAlD,yBACxByN,EAASnD,QAAQ,SAAW,GATjC,CAAAqD,EAAA1K,KAAA,gBAAA0K,EAAA1K,KAAA,GAUsCO,GAAqB4G,UAAU,YAVrE,QAAAuD,EAAAxK,KAac5C,GAAqBlD,EAAKgD,SAC3BqN,EAASnD,KAAK,+BACdkD,EAASlD,KAAK,UAGbnK,GAAgC/C,EAAKgD,SACtCqN,EAASnD,KAAK,+BACdkD,EAASlD,KAAK,UApB3B,aAwBKkD,EAASzN,OAAS,GAxBvB,CAAA2N,EAAA1K,KAAA,gBAyBKc,EAASmB,GAAuBwI,IAzBrCC,EAAAvK,OAAA,SA0BYW,EAAS9C,GAAewM,KA1BpC,QA4BK1J,EAAS9C,GAAe,KA5B7B,QAAA0M,EAAA1K,KAAA,uBA+BKgE,EAAO9G,GAAoB6G,EAAkB3J,IACxC2C,OAAS,GAhCnB,CAAA2N,EAAA1K,KAAA,gBAiCKc,EAASmB,GAAuB+B,EAAKtH,IAAI,SAAAD,GAAC,SAAA3G,OAAO2G,EAAEI,MAAM,EAAG,GAAGC,eAArBhH,OAAqC2G,EAAEI,MAAM,EAAGJ,EAAEM,QAAlD,yBAjC/C2N,EAAAvK,OAAA,SAkCYW,EAAS9C,GAAegG,KAlCpC,QAoCKlD,EAAS9C,GAAe,KApC7B,eAwCCiG,EAAa,CACbjD,SAAU8C,IAAWqB,YAAYC,IAAI,YACrCuF,UAAWvQ,EAAKwQ,UAChBrD,SAAUnN,EAAKoN,SACfqD,MAAOzQ,EAAK0Q,MACZC,QAAS3Q,EAAK4Q,QACdvD,aAAcrN,EAAKgD,MACnB6N,kBAAmB7Q,EAAK8Q,YACxBC,oBAAqB/Q,EAAKgR,cAC1BC,YAAajR,EAAK+P,QAAU/P,EAAK+P,QAAQhU,MAAQ,KACjDmV,SAAUlR,EAAKmR,SACfC,SAAUpR,EAAKqR,SACfC,KAAMtR,EAAKuR,KACXC,UAAWxR,EAAKmC,MAAQnC,EAAKmC,MAAMpG,MAAQ,KAC3C0V,QAASzR,EAAK0R,QACdC,SAAU3R,EAAK4R,UAvDhBtB,EAAA3K,KAAA,GAAA2K,EAAA1K,KAAA,GA2DmBrG,GAAeO,WAAWJ,EAAKmK,GA3DlD,YA2DOM,EA3DPmG,EAAAxK,MA4DU9F,KA5DV,CAAAsQ,EAAA1K,KAAA,gBAAA0K,EAAAvK,OAAA,SA4DuBW,EAASmB,GAAuB,8BA5DvD,QA8DKsC,EAAInK,KAAK6M,iBACTnG,EAASmB,GAAsB,UAC/BnB,EAASmB,GAAmBsC,EAAInK,KAAK6M,kBAhE1CyD,EAAA1K,KAAA,oBAAA0K,EAAA3K,KAAA,GAAA2K,EAAAtK,GAAAsK,EAAA,WAsEOrK,EAAQqK,EAAAtK,GAAI8C,WACH7C,EAAMjG,KAvEtB,CAAAsQ,EAAA1K,KAAA,gBAAA0K,EAAAvK,OAAA,SAuEmCW,EAASmB,GAAuB,8BAvEnE,QA0ECnB,EAASmB,GAAuB7D,GAAUiC,EAAMjG,SAC5C6D,EAAcoC,EAAMjG,KAAKoE,OAAOhC,OAAO,SAAAC,GAAC,OAAIA,EAAEwP,cAAmC,KAAnBxP,EAAEwP,eAAqBvP,IAAI,SAAAD,GAAC,OAAIc,GAASd,EAAEwP,iBAC9FlP,OAAS,GAAG+D,EAAS9C,GAAeC,IA5EpD,yBAAAyM,EAAApK,SAAAiK,EAAA,mBAAP,gBAAA2B,EAAAC,GAAA,OAAA7B,EAAAhL,MAAAC,KAAAC,YAAA,GAiFG,SAAS8F,GAAwBlL,GACpC,sBAAAgS,EAAAhK,OAAAC,EAAA,EAAAD,CAAAxC,EAAAzK,EAAAmN,KAAO,SAAA+J,EAAOvL,EAAUgD,GAAjB,IAAA3J,EAAA4J,EAAAC,EAAAC,EAAAM,EAAA+H,EAAA7H,EAAAC,EAAAC,EAAAC,EAAAjC,EAAAtC,EAAAkM,EAAAxH,EAAAC,EAAAwH,EAAA,OAAA5M,EAAAzK,EAAA0K,KAAA,SAAA4M,GAAA,cAAAA,EAAA1M,KAAA0M,EAAAzM,MAAA,WAGA5F,EAAKmL,UAAanL,EAAKoL,UAHvB,CAAAiH,EAAAzM,KAAA,eAAAyM,EAAAtM,OAAA,SAISvL,OAAOC,SAAS2M,KAAOsC,IAAWqB,YAAYC,IAAI,eAJ3D,UAOGjL,EAPH,GAAArE,OAOYkG,GAPZ,YAAAlG,QAOkD,IAAnBsE,EAAKoL,UAAqB,QAAU,IAClEzB,EAAmB,CAAC,WAAY,YAChCD,IAAWqB,YAAYC,IAAI,YAAWrB,EAAmBA,EAAiBjO,OAAO,CAAC,eAClFkO,EAAO5H,GAAe2H,EAAkB3J,IACnC2C,OAAS,GAXf,CAAA0P,EAAAzM,KAAA,eAAAyM,EAAAtM,OAAA,SAYQW,EAASmB,GAAuB+B,KAZxC,cAeCC,EAfD7B,OAAA0D,EAAA,EAAA1D,CAAA,CAgBCqD,SAAUrL,EAAKsL,SACfC,SAAUvL,EAAKwL,SACfC,WAAY/B,IAAWqB,YAAYC,IAAI,WAAahL,EAAKwH,QACrDxH,EAAK8J,KAAO,CAAC6B,YAAa3L,EAAK8J,KAC/B9J,EAAK+J,YAAc,CAAC6B,WAAY5L,EAAK+J,aApB1CsI,EAAA1M,KAAA,EAAA0M,EAAAzM,KAAA,GAwBmBrG,GAAeO,WAAWC,EAAK8J,GAxBlD,YAwBOM,EAxBPkI,EAAAvM,MAyBU9F,KAzBV,CAAAqS,EAAAzM,KAAA,gBAAAyM,EAAAtM,OAAA,SAyBuBW,EAASmB,GAAuB,8BAzBvD,QA2BCnB,EAASsF,MA3BVkG,EA6B+D/H,EAAInK,KAA1DqK,EA7BT6H,EA6BS7H,eAAgBC,EA7BzB4H,EA6ByB5H,cAAeC,EA7BxC2H,EA6BwC3H,YAAaC,EA7BrD0H,EA6BqD1H,MAC9CjC,EAAYmB,IAAWqB,YAAYC,IAAI,aAC7CpG,GAAU,eAAgB4F,GAGtBH,GAAkBC,GAClB5D,EAAShD,GAAe6E,GAAagC,IACrC7D,EAASnD,GAAU+G,IACnB5D,EAASmB,GAAsB,YAI/BrN,OAAOC,SAAS2M,KAAOmB,GAAagC,EAzCzC8H,EAAAzM,KAAA,oBAAAyM,EAAA1M,KAAA,GAAA0M,EAAArM,GAAAqM,EAAA,UA6COpM,EAAQoM,EAAArM,GAAI8C,WACJ7C,EAAMjG,KA9CrB,CAAAqS,EAAAzM,KAAA,gBAAAyM,EAAAtM,OAAA,SA8CkCW,EAASmB,GAAuB,+BA9ClE,WAAAsK,EAgD0DlM,EAAMjG,KAAvD2K,EAhDTwH,EAgDSxH,cAAeC,EAhDxBuH,EAgDwBvH,eAhDxBuH,EAgDwC/N,OAAQoG,EAhDhD2H,EAgDgD3H,MAGzB,qBAAlBG,EAnDL,CAAA0H,EAAAzM,KAAA,SAoDKc,EAASmB,GAAwB+C,IAEjClE,EAASwF,GAAsClM,EAAKsL,SAAUd,IAC9D9D,EAASmB,GAAsB,kBAC/BnB,EAASmB,GAAqB7D,GAAUiC,EAAMjG,QAxDnDqS,EAAAzM,KAAA,oBA4D4B,oBAAlB+E,GAAyD,WAAlBA,EA5DjD,CAAA0H,EAAAzM,KAAA,SA6DKc,EAASyF,GAA6CnM,EAAKsL,WAC3D5E,EAASmB,GAAsB,kBAC/BnB,EAASmB,GAAqB7D,GAAUiC,EAAMjG,QA/DnDqS,EAAAzM,KAAA,oBAmE4B,gBAAlB+E,IAAmCjB,IAAWqB,YAAYC,IAAI,iBAnExE,CAAAqH,EAAAzM,KAAA,gBAAAyM,EAAAtM,OAAA,SAoEavL,OAAOC,SAAS2M,KAAOsC,IAAWqB,YAAYC,IAAI,kBApE/D,QAyEKtE,EAASmB,GAAuB7D,GAAUiC,EAAMjG,QAzErD,yBAAAqS,EAAAnM,SAAA+L,EAAA,kBAAP,gBAAAK,EAAAC,GAAA,OAAAP,EAAA9M,MAAAC,KAAAC,YAAA,2BC3rBSoN,GAAiBC,KAAUC,OAAO,CAC5CpH,SAAU,KACV9D,OAAQ,KACRC,SAAU,KACVvG,KAAM,KACNsK,SAAU,KACVc,MAAO,KACPqG,cAAe,KACf3C,aAAc,GACdP,eAAgB,GAChBjM,OAAQ,KACRG,YAAa,KACb2J,aAAc,KACdF,SAAU,KACVpK,MAAO,KACPqE,eAAe,EACfC,WAAY,KACZC,cAAe,KACfgB,UAAW,KACX1E,YAAa,GACb5B,QAAS,yICjBC2Q,GAAS,CAClBC,mBAAoBC,KACpBC,IAAOA,KACPC,IAAOA,KACPC,IAAOA,KACPC,IAAOA,KACPC,IAAOA,MCZE1V,GAAoB,oBACpBF,GAAc,cAEdM,GAAqB,qBACrBsD,GAAyB,yBACzBpD,GAA6B,6BAE7BI,GAAiD,iDACjDD,GAAuC,wCAEvCF,GAAoB,oBACpBI,GAA4B,4BAC5BH,GAA4B,4BAE5BU,GAA8B,8BAC9BE,GAAsC,sCAEtCuC,GAAsB,sBACtBC,GAAoB,oBAEpBC,GAAa,aACbC,GAAmB,mBAEnBC,GAAkB,kBCxBzB4R,GAAmB,CACrBpT,KAAM,CACF4G,SAAY,QACZD,KAAQ,UACRE,YAAe,YAIjBwM,GAAwB,CAC1BrT,KAAM,CACFuK,YAAe,KACfI,cAAiB,KACjBC,gBAAkB,EAClBP,gBAAkB,EAClBC,cAAiB,KACjBgE,WAAa,EACblK,OAAU,CACN,CACIyN,aAAgB,KAChBpV,aAAgB,oCAM1B6W,GAAyB,CAC3BtT,KAAM,CACFuK,YAAe,kEACfI,cAAiB,SACjBC,gBAAkB,EAClBP,gBAAkB,EAClBC,cAAiB,udACjBgE,WAAa,EACblK,OAAU,KAIZmP,GAA0B,CAC5BvT,KAAM,CACFuK,YAAe,KACfI,cAAiB,mBACjBC,gBAAkB,EAClBP,gBAAkB,EAClBC,cAAiB,KACjBgE,WAAa,EACblK,OAAU,CACN,CACIyN,aAAgB,KAChBpV,aAAgB,oCAM1B+W,GAAyB,CAC3BxT,KAAM,CACFuK,YAAe,KACfI,cAAiB,kBACjBC,gBAAkB,EAClBP,gBAAkB,EAClBC,cAAiB,KACjBgE,WAAa,EACblK,OAAU,CACN,CACIyN,aAAgB,KAChBpV,aAAgB,+BAM1BgX,GAAoB,CACtBzT,KAAM,CACFuK,YAAe,KACfI,cAAiB,mBACjBC,gBAAkB,EAClBP,gBAAkB,EAClBC,cAAiB,KACjBgE,WAAa,EACblK,OAAU,CACN,CACIyN,aAAgB,KAChBpV,aAAgB,oCAM1BiX,GAAwB,CAC1B1T,KAAM,CACFuK,YAAe,KACfI,cAAiB,SACjBC,gBAAkB,EAClBP,gBAAkB,EAClBC,cAAiB,KACjBgE,WAAa,EACblK,OAAU,CACN,CACIyN,aAAgB,KAChBpV,aAAgB,oCAM1BkX,GAAgC,CAClC3T,KAAM,CACFsO,WAAa,EACbzB,eAAkB,2DAIpB+G,GAAiC,CACnC5T,KAAM,CACFsO,WAAa,EACbzB,eAAkB,uDAClBD,qBAAwB,iCAI1BiH,GAAsC,CACxC7T,KAAM,CACFsO,WAAa,EACblK,OAAU,CACN,CAAE3H,aAAgB,sEAKxBqX,GAAsC,CACxC9T,KAAM,CACFsO,WAAa,EACbzB,eAAkB,qDAIpBkH,GAAgC,CAClC/T,KAAM,CACFsO,WAAa,EACbzB,eAAkB,kCAIpBmH,GAAqC,CACvChU,KAAM,CACFsO,WAAa,EACbzB,eAAkB,uLAIpBoH,GAAoB,CACtBjU,KAAM,CACF0P,UAAW,CACP,CAACC,GAAI,EAAGE,MAAO,mBAKrBqE,GAAiB,CACnBlU,KAAM,CACF0P,UAAW,CACP,CAACC,GAAI,EAAGE,MAAO,gBACf,CAACF,GAAI,EAAGE,MAAO,mBAiBrBsE,GAAY,CACdC,WAAY,WACR,OAAOhB,IAEXiB,WAAY,SAAAC,GACR,OAhBiB,SAAAhJ,GACrB,OAAOA,GACH,IAAK,OAAQ,OAAOgI,GACpB,IAAK,kBAAmB,OAAOC,GAC/B,IAAK,iBAAkB,OAAOC,GAC9B,IAAK,YAAa,OAAOC,GACzB,IAAK,gBAAiB,OAAOC,GAC7B,QAAS,OAAOL,IASTkB,CAAiBD,EAASjJ,WAErCmJ,mBAAoB,SAAAF,GAChB,OAAON,IAEXS,kBAAmB,SAAAH,GACf,MAAyB,YAAtBA,EAASnH,SAA+B0G,GACpCD,IAEXc,uBAAwB,SAAAJ,GACpB,OAAOR,IAEXa,kBAAmB,SAAAL,GACf,OAAOP,IAEXa,aAAc,WACV,OAAOX,IAEXY,sBAAuB,WACnB,OAAOX,IAEXY,iBAAkB,WACd,OAAOnB,KAIFoB,GAAb,oBAAAA,IAAA/M,OAAAgN,EAAA,EAAAhN,CAAA7C,KAAA4P,GAAA,OAAA/M,OAAAiN,EAAA,EAAAjN,CAAA+M,EAAA,OAAAzV,IAAA,YAAAvD,MAAA,SACqB2D,GACb,IAAIwV,EAASxV,EAAI8C,MAAM,KAAK,GAC5B,OAAO,IAAI2S,QAAQ,SAACC,EAASC,GACzBC,WAAW,WACP,IAAIC,EACJ,IACIA,EAAMpB,GAAUe,KAClB,MAAMM,GACJH,EAAO,CAACvM,SAAU0M,IAEtBJ,EAAQG,IACT,SAZf,CAAAjW,IAAA,aAAAvD,MAAA,SAgBsB2D,EAAKM,GACnB,IAAIkV,EAASxV,EAAI8C,MAAM,KAAK,GAC5B,OAAO,IAAI2S,QAAQ,SAACC,EAASC,GACzBC,WAAW,WACP,IAAIC,EACJ,IAEI,KADAA,EAAMpB,GAAUe,GAAQlV,IAChBA,KAAKsO,UAAW,MAAMiH,EAChC,MAAMC,GACJH,EAAO,CAACvM,SAAU0M,IAEtBJ,EAAQG,IACT,WA5BfR,EAAA,GC3LMU,GAAc,ICrBpB,WACI,SAAAC,EAAYC,EAAQvV,GAAc4H,OAAAgN,EAAA,EAAAhN,CAAA7C,KAAAuQ,GAC9BvQ,KAAKwQ,OAASA,EACdxQ,KAAK/E,YAAcA,EAGnB+E,KAAKyQ,MAAQzQ,KAAK0Q,YAAYF,GAC9BxQ,KAAK2Q,cAAgB3Q,KAAK2Q,cAAcC,KAAK5Q,MAC7CA,KAAK0Q,YAAc1Q,KAAK0Q,YAAYE,KAAK5Q,MACzCA,KAAK6Q,SAAW,GATxB,OAAAhO,OAAAiN,EAAA,EAAAjN,CAAA0N,EAAA,EAAApW,IAAA,cAAAvD,MAAA,WAaQ,OAAO0W,KAAUC,OAAOvN,KAAKwQ,UAbrC,CAAArW,IAAA,gBAAAvD,MAAA,WAiBQ,IAAIka,EAAO9Q,KACX,OAAO,WAAoD,IAAnC+Q,EAAmC9Q,UAAAzC,OAAA,QAAAwT,IAAA/Q,UAAA,GAAAA,UAAA,GAAzB6Q,EAAKL,MAAOQ,EAAahR,UAAAzC,OAAA,QAAAwT,IAAA/Q,UAAA,GAAAA,UAAA,GAAN,KAEjD,GAAG6Q,EAAK7V,YAAY6M,QAAQmJ,EAAOnb,MAAQ,EAAG,OAAOib,EAIrD,IAAIG,EAAQrO,OAAA0D,EAAA,EAAA1D,CAAA,GAAOkO,EAAQI,YACvBN,EAAWC,EAAKD,SAAS5T,OAAO,SAAAC,GAAC,OAAI6B,MAAMC,QAAQ9B,EAAEpH,MAAQoH,EAAEpH,KAAKgS,QAAQmJ,EAAOnb,OAAS,EAAIoH,IAAM+T,EAAOnb,OAajH,OAZG+a,EAASrT,OAAS,EAEjBqT,EAAS5M,QAAQ,SAAA/G,GAAC,OAAIgU,EAAQrO,OAAA0D,EAAA,EAAA1D,CAAA,GAAOqO,EAAahU,EAAEkU,QAAQF,EAAUD,MAEtEpO,OAAOwO,KAAKP,EAAKN,QAAQvM,QAAQ,SAAAqN,GAC1BL,EAAOK,KACNJ,EAASI,GAAaL,EAAOK,MAKzCR,EAAKL,MAAQM,EAAQQ,MAAML,GACpBJ,EAAKL,SAtCxB,CAAAtW,IAAA,gBAAAvD,MAAA,SA0CkB4a,GAEV,OADAxR,KAAK/E,YAAY8M,KAAKyJ,GACfxR,OA5Cf,CAAA7F,IAAA,mBAAAvD,MAAA,SA+CqB4a,EAAYJ,GAEzB,OADApR,KAAK6Q,SAAS9I,KAAK,CAACjS,KAAM0b,EAAYJ,YAC/BpR,OAjDf,CAAA7F,IAAA,sBAAAvD,MAAA,SAoDwB4a,EAAYJ,GAC5BpR,KAAK6Q,SAAW7Q,KAAK6Q,SAAS5T,OAAO,SAAAC,GAAC,OAAIA,EAAEpH,OAAS0b,GAActU,EAAEkU,UAAYA,QArDzFb,EAAA,GDqBoB,CAnBA,CAChBpK,SAAU,KACV9D,OAAQ,KACRC,SAAU,KACVvG,KAAM,KACNsK,SAAU,KACVc,MAAO,KACPqG,cAAe,KACf3C,aAAc,GACdP,eAAgB,GAChBjM,OAAQ,KACRG,YAAa,KACb2J,aAAc,KACdF,SAAU,KACVpK,MAAO,MAGWgF,OAAOwO,KAAKpW,GAAa1E,OAAOsM,OAAOwO,KAAKI,KAIrDpE,GAAiBiD,GAAYG,MAE3BH,MAAYK,0BEpBrB9T,GAAiB,SAACE,EAAWC,GAC/B,OAAOD,EAAUE,OAAO,SAAAC,GAAC,OAAMF,EAAME,IAAmB,KAAbF,EAAME,KAC5CC,IAAI,SAAAD,GACD,IAAIE,EAAYF,EAAEG,MAAM,KAAKF,IAAI,SAAAD,GAAC,SAAA3G,OAAO2G,EAAEI,MAAM,EAAG,GAAGC,eAArBhH,OAAqC2G,EAAEI,MAAM,EAAGJ,EAAEM,QAAQC,iBAAiBC,KAAK,KAClH,SAAAnH,OAAU6G,EAAV,wBAIL,SAASuF,KAEZ,IACIxD,EADM9J,OAAOC,SAAS8J,KACA/B,MAAM,KAAK,GACrC,GAAuB,OAAnB8B,EAAJ,CAEA,IAAMvE,EAAG,iBAAArE,OAAoB4I,GAE7B,OAAO,SAAAoC,GACHA,EAASmQ,IAA4B,IAErC9B,GAAetV,UAAUM,GACpByP,KAAK,SAAArF,GACFzD,EAASoQ,GAAqB3M,EAAInK,KAAK2G,KAAMwD,EAAInK,KAAK4G,WAClDuD,EAAInK,KAAK6G,aAAaH,EAASkB,GAAcuC,EAAInK,KAAK6G,cAC1DH,EAASmQ,GAAc,YAE1BE,MAAM,SAAAC,GACHtQ,EAASmQ,GAAc,eAKhC,SAASC,GAAqBtP,EAAQC,GACzC,MAAO,CACHxM,KAAM2b,GACNpP,SACAC,YAID,SAASG,GAAcF,GAC1B,IAAMC,EAAS,YAAAjM,OAAegM,EAAf,aACf,MAAO,CACHzM,KAAM2b,GACN1V,KAAMyG,GAIP,SAASsP,GAAkBxH,GAC9B,MAAO,CACHxU,KAAM2b,GACNnH,kBAID,SAASyH,GAAgBlH,GAC5B,MAAO,CACH/U,KAAM2b,GACN5G,gBAID,SAASzM,GAAUC,GACtB,MAAO,CACHvI,KAAM2b,GACNpT,UAID,SAASE,GAAeC,GAC3B,MAAO,CACH1I,KAAM2b,GACNjT,eAIR,SAASK,GAAU1D,GACf,OAAOA,EAAOgC,IAAI,SAAAD,GAAC,OAAIA,EAAE5F,eAKtB,SAAS0a,GAAiB7R,GAC7B,IAAMvF,EAAG,iBAAArE,OAAoB4J,GAE7B,OAAIA,GAA6B,KAAfA,EAEX,SAAAoB,GACHqO,GAAetV,UAAUM,GACpByP,KAAK,SAAArF,GACFzD,EAASoQ,GAAqBxR,EAAY6E,EAAInK,KAAK4G,WAC/CuD,EAAInK,KAAK6G,aAAaH,EAASkB,GAAcuC,EAAInK,KAAK6G,cAE1DH,EAASmQ,GAAc,aARS,SAAAnQ,GAAQ,OAAIA,EAASmQ,GAAe,CAAC,8BAa9E,SAASO,GAAwB5P,EAAQC,GAC5C,MAAO,CACHxM,KAAMoc,EACN7P,SACAC,YAID,SAAS8B,GAAgBvJ,GAC5B,OAAO,SAAC0G,EAAUgD,GACd,IAAIE,EAAO5H,GAAe,CAAC,WAAY,YAAYtG,OAAQgO,IAAWqB,YAAYC,IAAI,UAAyB,GAAb,CAAC,WAAiBhL,GAEpH,GAAG4J,EAAKjH,OAAS,EACb,OAAO+D,EAASmQ,GAAejN,IAGnC,IAAI0K,EAAW,CACXjJ,SAAYrL,EAAKsL,SACjBC,SAAYvL,EAAKwL,SACjBC,WAAczL,EAAKwH,QAGvBuN,GAAejV,WAAW,WAAYwU,GACjC9E,KAAK,SAAArF,GACFzD,EAASsF,MADA,IAAA5B,EAE4CD,EAAInK,KAAnDqK,EAFGD,EAEHC,eAAgBC,EAFbF,EAEaE,cAAeC,EAF5BH,EAE4BG,YAClCF,GAAkBC,GACjB5D,EAAShD,GAAe6G,IACxB7D,EAASnD,GAAU+G,IACnB5D,EAASmQ,GAAc,YAIvBS,MAAM,wBAGbP,MAAM,SAAAC,GACH,IAAI/Q,EAAQ+Q,EAAIlO,SAChB,IAAI7C,EAAO,OAAOS,EAASmQ,GAAe,8BAFhC,IAAAnM,EAI6CzE,EAAMjG,KAAvD2K,EAJID,EAIJC,cAAeC,EAJXF,EAIWE,eAAgBxG,EAJ3BsG,EAI2BtG,OAAQoG,EAJnCE,EAImCF,MAEvB,qBAAlBG,GACIC,GAAgBlE,EAASmQ,IAAgB,IAE7CnQ,EAASwF,GAAsClM,EAAKsL,SAAUd,IAC9D9D,EAASmQ,GAAc,kBACvBnQ,EAASmQ,GAAa7S,GAAUI,MAIT,oBAAlBuG,GAAyD,WAAlBA,GAC5CjE,EAASyF,GAA6CnM,EAAKsL,WAC3D5E,EAASmQ,GAAc,kBACvBnQ,EAASmQ,GAAa7S,GAAUI,MAKhCsC,EAASmQ,GAAe7S,GAAUI,QAO/C,SAAS4H,GAAuBhM,EAAMe,GACzC,MAAO,CACH9F,KAAMoc,GACNrX,QAID,SAASkM,GAAuCZ,EAAUgB,GAC7D,MAAO,CACHrR,KAAMoc,EACN/L,WACAgB,SAID,SAASH,GAA8Cb,GAC1D,MAAO,CACHrQ,KAAMoc,GACN/L,YAID,SAASiB,GAAyBvM,GACrC,IAAI4J,EAAO5H,GAAe,CAAC,WAAY,SAAUhC,GACjD,OAAG4J,EAAKjH,OAAS,EAAU,SAAA+D,GAAQ,OAAIA,EAASmQ,GAAejN,KACxD,SAAAlD,GACH,IAAI4N,EAAW,CAAE1N,SAAU5G,EAAKyH,SAAU0F,SAAUnN,EAAKoN,SAAUC,aAAcrN,EAAKgD,OACtF+R,GAAejV,WAAW,kBAAmBwU,GACxC9E,KAAK,SAAArF,GAAO,IAAAwC,EACsCxC,EAAInK,KAA7C4M,EADGD,EACHC,qBAAsBC,EADnBF,EACmBE,eAC5BnG,EAAS6Q,GAAgCvX,EAAKoN,SAAUpN,EAAKgD,MAAO4J,IACpElG,EAASmQ,GAAc,wBACvBnQ,EAASmQ,GAAW,CAAChK,OAExBkK,MAAM,SAAAC,GAEH,IADYA,EAAIlO,SACJ,OAAOpC,EAASmQ,GAAe,6BAE3CnQ,EAASmQ,GAAe7S,GAAUgT,EAAIlO,SAAS9I,KAAKoE,aAK7D,SAASmT,GAAgCnK,EAAUpK,EAAOsK,GAC7D,MAAO,CACHrS,KAAMoc,GACNjK,WACApK,QACAsK,gBAID,SAASG,GAA8BzN,GAE1C,OAAIA,EAAK6N,YAAkC,KAApB7N,EAAK6N,WAErB,SAACnH,EAAUgD,GACd,IAAIG,EAAa,CACbjD,SAAY8C,IAAWqB,YAAYC,IAAI,YACvCmC,SAAYzD,IAAWqB,YAAYC,IAAI,YACvCqC,aAAgB3D,IAAWqB,YAAYC,IAAI,SAC3C8C,eAAkB9N,EAAK6N,WACvBE,SAAYvT,OAAOC,SAAS2M,MAEhC2N,GAAejV,WAXV,uBAW0B+J,GAC1B2F,KAAK,SAAArF,GAAO,IACH0C,EAAmB1C,EAAInK,KAAvB6M,eACNnG,EAASmQ,GAAc,UACvBnQ,EAASmQ,GAAWhK,MAEvBkK,MAAM,SAAAC,GACH,IAAIA,EAAIlO,SAAU,OAAOpC,EAASmQ,GAAe,6BAEjDnQ,EAASmQ,GAAe7S,GAAUgT,EAAIlO,SAAS9I,KAAKoE,aAnBV,SAAAsC,GAAQ,OAAIA,EAASmQ,GAAe,kCAwBvF,SAAS3I,GAAwBlO,GACpC,OAAO,SAAC0G,EAAUgD,GACd,IACIC,EAAmB,GAElBD,IAAWqB,YAAYC,IAAI,cAAarB,EAAmB,CAAC,aAEjE,IAAIC,EAAO5H,GAAe2H,EAAkB3J,GAC5C,GAAI4J,EAAKjH,OAAS,EACd,OAAO+D,EAASmQ,GAAejN,IAGnCmL,GAAejV,WAVN,iBAUsBE,GAC1BwP,KAAK,SAAArF,GACFzD,EAASmQ,GAAc,UACvBnQ,EAASmQ,GAAW1M,EAAInK,KAAK6M,mBAEhCkK,MAAM,SAAAC,GACH,IAAI/Q,EAAQ+Q,EAAIlO,SAChB,IAAK7C,EAAO,OAAOS,EAASmQ,GAAe,6BAEtC5Q,EAAMjG,KAAKsO,WACZ5H,EAASmQ,GAAe7S,GAAUgT,EAAIlO,SAAS9I,KAAKoE,aAOjE,SAASqK,GAAwBzO,GACpC,OAAO,SAAC0G,EAAUgD,GAEdlD,QAAQgR,IAAI9N,KACZ,IAAIkF,EAAgBlF,IAAWoF,WAAW9D,IAAI,aAE1CrB,EAAmB,CAAC,WAAY,mBAAmBjO,OAAOkT,EAAgB,CAAC,eAAgB,cAAgB,IAC3GhF,EAAO5H,GAAe2H,EAAkB3J,GAE5C,GADGA,EAAKwL,WAAaxL,EAAK+O,iBAAiBnF,EAAKsD,KAAK,6CAClDtD,EAAKjH,OAAS,EAAG,OAAO+D,EAASmQ,GAAejN,IAEnD,IAAIC,EAAa,CACbmF,SAAUtF,IAAWqB,YAAYC,IAAI,YACrCpE,SAAU8C,IAAWqB,YAAYC,IAAI,YACrCiE,aAAcjP,EAAKwL,SACnB0D,aAAclP,EAAK+O,iBAEpBH,IACC/E,EAAWsF,qBAAuBnP,EAAKsN,aACvCzD,EAAWuF,mBAAqBpP,EAAK6N,YAGzCkH,GAAejV,WApBN,kBAoBsB+J,GAC1B2F,KAAK,SAAArF,GACFzD,EAASmQ,GAAc,UACvBnQ,EAASmQ,GAAW1M,EAAInK,KAAK6M,mBAEhCkK,MAAM,SAAAC,GAEH,IADYA,EAAIlO,SACJ,OAAOpC,EAASmQ,GAAe,6BAE3CnQ,EAASmQ,GAAe7S,GAAUgT,EAAIhX,KAAKoE,aAMpD,SAASmL,KACZ,OAAO,SAAC7I,EAAUgD,GACd,IAAIjC,EAAWiC,IAAWqB,YAAYC,IAAI,YACpCtL,EAAG,uBAAAhE,OAA0B+L,GACnCsN,GAAetV,UAAUC,GACpB8P,KAAK,SAAArF,GACFzD,EAASuQ,GAAkB9M,EAAInK,KAAK0P,UAAUpN,IAAI,SAAAD,GAAO,MAAO,CAACtG,MAAOsG,EAAEsN,GAAIC,MAAOvN,EAAEwN,cAMhG,SAASC,GAA+BC,GAC3C,OAAO,SAACrJ,EAAUgD,GACd,IAAIjC,EAAWiC,IAAWqB,YAAYC,IAAI,YACpCtL,EAAG,cAAAhE,OAAiBqU,EAAQhU,MAAzB,qBAAAL,OAAkD+L,GAC3DsN,GAAetV,UAAUC,GACpB8P,KAAK,SAAArF,GACFzD,EAASwQ,GAAgB/M,EAAInK,KAAK0P,UAAUpN,IAAI,SAAAD,GAAO,MAAO,CAACtG,MAAOsG,EAAEsN,GAAIC,MAAOvN,EAAEwN,cAO9F,SAASI,GAA6BjQ,GACzC,OAAO,SAAC0G,EAAUgD,GACd,IAGIE,EAAO5H,GADY,CAAC,YAAa,WAAY,QAAS,QAAS,WAAY,OAAQ,UAAW,SACtDhC,GAC5C,GAAG4J,EAAKjH,OAAS,EAAG,OAAO+D,EAASmQ,GAAejN,IAEnD,IAAIC,EAAa,CACbjD,SAAY8C,IAAWqB,YAAYC,IAAI,YACvCuF,UAAavQ,EAAKwQ,UAClBrD,SAAYnN,EAAKoN,SACjBqD,MAASzQ,EAAK0Q,MACdC,QAAW3Q,EAAK4Q,QAChBvD,aAAgBrN,EAAKgD,MACrByU,YAAezX,EAAK0X,MACpBzG,YAAejR,EAAK+P,QACpBmB,SAAYlR,EAAKmR,SACjBC,SAAYpR,EAAKqR,SACjBC,KAAQtR,EAAKuR,KACbC,UAAaxR,EAAKmC,MAClBsP,QAAWzR,EAAK0R,SAGpBqD,GAAejV,WAtBN,mBAsBsB+J,GAC1B2F,KAAK,SAAArF,GACCA,EAAInK,MAAQmK,EAAInK,KAAK6M,iBACpBnG,EAASmQ,GAAc,UACvBnQ,EAASmQ,GAAW1M,EAAInK,KAAK6M,oBAGpCkK,MAAM,SAAAC,GACH,IAAIA,EAAIlO,SAAU,OAAOpC,EAASmQ,GAAe,8BAEjDnQ,EAASmQ,GAAe7S,GAAUgT,EAAIlO,SAAS9I,KAAKoE,qGChXvDwO,GAAS,CAClB+E,gBAAiBC,KACjBC,iBAAkBC,KAClBC,iBAAkBC,KAClBnF,mBAAoBC,MCGXmF,GAAU,CACnBC,QAAW,CACTC,QAASvB,EACT/U,OAAQuW,GACRC,QRgBS,WAAqE,IAAzCnC,EAAyC9Q,UAAAzC,OAAA,QAAAwT,IAAA/Q,UAAA,GAAAA,UAAA,GAA/BoN,GAAgB4D,EAAehR,UAAAzC,OAAA,QAAAwT,IAAA/Q,UAAA,GAAAA,UAAA,GAAN,KAClEnK,EAA8Mmb,EAA9Mnb,KAAMuM,EAAwM4O,EAAxM5O,OAAQC,EAAgM2O,EAAhM3O,SAAU6D,EAAsL8K,EAAtL9K,SAAUvH,EAA4KqS,EAA5KrS,OAAQuI,EAAoK8J,EAApK9J,MAAOmD,EAA6J2G,EAA7J3G,eAAgBO,EAA6IoG,EAA7IpG,aAAcxM,EAA+H4S,EAA/H5S,OAAQG,EAAuHyS,EAAvHzS,YAAa2J,EAA0G8I,EAA1G9I,aAAcF,EAA4FgJ,EAA5FhJ,SAAUpK,EAAkFoT,EAAlFpT,MAAO9B,EAA2EkV,EAA3ElV,KAAMmG,EAAqE+O,EAArE/O,cAAeC,EAAsD8O,EAAtD9O,WAAYC,EAA0C6O,EAA1C7O,cAAegB,EAA2B6N,EAA3B7N,UAAW1E,EAAgBuS,EAAhBvS,YAEtM,OAAO5I,GACH,KAAKmF,GACD,OAAO8V,EAAQQ,MAAM,CACjBlP,SACAC,aAGR,KAAKrH,GACD,OAAO8V,EAAQQ,MAAM,CACjBlP,OAAQ,KACRC,SAAU,OAIlB,KAAKrH,GACD,OAAO8V,EAAQQ,MAAM,CACjB3S,OAAQA,IAGhB,KAAK3D,GACD,OAAO8V,EAAQQ,MAAM,CACjBpK,MAAOA,IAGf,KAAKlM,GACD,OAAO8V,EAAQQ,MAAM,CACjBpL,aAGR,KAAKlL,GACD,OAAO8V,EAAQQ,MAAM,CACjBpL,WACAgB,UAGR,KAAKlM,GACD,OAAO8V,EAAQQ,MAAM,CACjBtJ,WACApK,QACAsK,iBAGR,KAAKlN,GACD,OAAO8V,EAAQQ,MAAM,CACjBjH,mBAGR,KAAKrP,GACD,OAAO8V,EAAQQ,MAAM,CACjB1G,iBAGR,KAAK5P,GACD,OAAO8V,EAAQQ,MAAM,CACjBlT,WAGR,KAAKpD,GACD,OAAO8V,EAAQQ,MAAM,CACjB/S,gBAGR,KAAKvD,GACD,OAAO8V,EAAQQ,MAAM,CACjBxV,SAGR,KAAKd,GACD,OAAO8V,EAAQQ,MAAM,CACjBrP,gBACAC,aACAC,kBAGR,KAAKnH,GACD,OAAO8V,EAAQQ,MAAM,CACjBnO,cAGR,KAAKnI,GACD,OAAO8V,EAAQQ,MAAM,CACjB7S,YAAaK,MAAMC,QAAQN,GAAeA,EAAc,CAACA,KAGjE,QACI,OAAOqS,IQvGbtD,OAAQ0F,GACR9F,eAAgB+F,IAElBtV,KAAQ,CACNkV,QAASK,EACT3W,OAAQ4W,GACRJ,QAAS5C,GACT7C,OAAQ8F,GACRlG,eAAgBmG,KCehB9W,GAAS,eAlCX,SAAA+W,EAAYC,EAAcZ,GAAUjQ,OAAAgN,EAAA,EAAAhN,CAAA7C,KAAAyT,GAChCzT,KAAK2T,cAAgBD,EACrB1T,KAAK8S,QAAUA,2DA2BNc,GACT5T,KAAK2T,cAAgBC,uCAxBrB,OAAO5T,KAAK2T,8CAIZ,OAAO3T,KAAK8S,QAAQ9S,KAAK0T,cAAcV,uCAIvC,OAAOhT,KAAK8S,QAAQ9S,KAAK0T,cAAchX,uCAIvC,OAAOsD,KAAK8S,QAAQ9S,KAAK0T,cAAcR,uCAIvC,OAAOlT,KAAK8S,QAAQ9S,KAAK0T,cAAcjG,8CAIvC,OAAOzN,KAAK8S,QAAQ9S,KAAK0T,cAAcrG,wBAQhC,CAAWqG,IAAcZ,IACzBpW,MCuBAmX,uLA1DC,IACAC,EAAY9T,KAAKtK,MAAjBoe,QAER,GAAGA,EAAQjO,IAAI,UAAUkO,KAAO,EAAG,CAC/B,IAAIC,EAAMF,EAAQjO,IAAI,UAAU1I,IAAI,SAACD,EAAG+W,GACpC,OAAOte,EAAAC,EAAAC,cAACqe,EAAD,CAAc3c,QAAS2F,EAAG/C,IAAK8Z,MAE1C,OAAOte,EAAAC,EAAAC,cAAA,OAAKE,UAAU,qBAAqBie,8CAIjC,IACNF,EAAY9T,KAAKtK,MAAjBoe,QAER,GAAIA,EAAQjO,IAAI,QAAQkO,KAAO,EAAG,CAC9B,IAAIC,EAAMF,EAAQjO,IAAI,QAAQ1I,IAAI,SAACD,EAAE+W,GACjC,OAAOte,EAAAC,EAAAC,cAACse,EAAD,CAAa5c,QAAS2F,EAAG/C,IAAK8Z,MAEzC,OAAOte,EAAAC,EAAAC,cAAA,OAAKE,UAAU,uBAAuBie,2CAOjD,GAFoBhU,KAAKtK,MAAjBoe,QAEIjO,IAAI,gBACZ,OAAOlQ,EAAAC,EAAAC,cAAA,OAAKE,UAAU,mBAAkBJ,EAAAC,EAAAC,cAAA,OAAKE,UAAU,8CAIrD,IAAAqe,EACwBpU,KAAKtK,MAA3B2e,EADFD,EACEC,SAAUP,EADZM,EACYN,QAElB,OAAIO,EAASxO,IAAI,QACNyO,GAAO7G,OAAO4G,EAASxO,IAAI,UAAYwO,EAASxO,IAAI,QAEpDyO,GAAO7G,OAAOqG,EAAQjO,IAAI,UAAYiO,EAAQjO,IAAI,yCAIzD,IAAA0O,EACiCvU,KAAKtK,MAAf6V,GADvBgJ,EACIT,QADJS,EACaF,SADbE,EACuBhJ,OAC3B,OACI5V,EAAAC,EAAAC,cAAA,OAAKW,GAAG,iBACHwJ,KAAKwU,eACN7e,EAAAC,EAAAC,cAAA,OAAKE,UAAU,kBACXJ,EAAAC,EAAAC,cAAA,OAAK4e,IAAKzU,KAAK0U,UAAWC,IAAI,UAElChf,EAAAC,EAAAC,cAAA,UAAK0V,GAEJvL,KAAK4U,kBACL5U,KAAKnB,YACLmB,KAAKtK,MAAMS,iBArDJ0e,IAAMC,WCkCfC,GApCE,SAAArf,GACb,OACIC,EAAAC,EAAAC,cAAA,YACIC,KAAK,OACLU,GAAId,EAAMc,GACVP,SAAUP,EAAMO,SAChBU,YAAajB,EAAMiB,YACnBC,MAAOlB,EAAMkB,MACbC,aAAcnB,EAAMmB,aACpBC,OAAQpB,EAAMoB,OACdC,SAAUrB,EAAMqB,SAChBC,QAAStB,EAAMsB,QACfC,QAASvB,EAAMuB,QACflB,UAAWL,EAAMK,UACjBmB,SAAUxB,EAAMwB,SAChBhB,KAAMR,EAAMQ,QCoET8e,eA5EX,SAAAA,EAAYtf,GAAO,IAAAuf,EAAApS,OAAAgN,EAAA,EAAAhN,CAAA7C,KAAAgV,IACfC,EAAApS,OAAAqS,EAAA,EAAArS,CAAA7C,KAAA6C,OAAAsS,EAAA,EAAAtS,CAAAmS,GAAAI,KAAApV,KAAMtK,KAGDsH,MAAQ,CACTqY,iBAAkB3f,EAAM2e,SAASxO,IAAI,WAAa,GAClDyP,OAAQ,IAGZL,EAAKM,kBAAoBN,EAAKM,kBAAkB3E,KAAvB/N,OAAA2S,EAAA,EAAA3S,QAAA2S,EAAA,EAAA3S,CAAAoS,KACzBA,EAAKQ,iBAAmBR,EAAKQ,iBAAiB7E,KAAtB/N,OAAA2S,EAAA,EAAA3S,QAAA2S,EAAA,EAAA3S,CAAAoS,KACxB,IAAIS,EAAI7S,OAAA2S,EAAA,EAAA3S,QAAA2S,EAAA,EAAA3S,CAAAoS,IAXO,OAYfU,MAAM,cACA,CACEC,QAAS,CACLC,eAAgB,mBAChBC,OAAU,sBAIjBzL,KAAK,SAAU1G,GACZ,OAAOA,EAASoS,SAEnB1L,KAAK,SAAU2L,GACXN,EAAKO,SAAS,CAAEX,OAAQU,EAAOE,qBAxBzBjB,iFA6BD5E,GAAKrQ,KAAKiW,SAAS,CAAEZ,iBAAkBhF,EAAE8F,OAAOvf,iDAEjDyZ,GACbA,EAAE+F,iBACkBpW,KAAKtK,MAAjBsd,QACA1P,cAActD,KAAKhD,MAAMqY,mDAG5B,IAAAjB,EAGkCpU,KAAKtK,MAApCoe,EAHHM,EAGGN,QAASO,EAHZD,EAGYC,SAAUrB,EAHtBoB,EAGsBpB,QACrBsC,EAAWtV,KAAKhD,MAAhBsY,OACF3Q,EAAM1J,GAAkCob,KAAK,SAAAzgB,GAAC,OAAIA,EAAEuE,KAAOmb,IAC3Dza,EAAO,GACP8J,IAAK9J,EAAO8J,EAAI/N,OACpBiE,EAAe,IAARA,EAAa,UAAYA,EAChC,IAAIyb,EAAiBjC,EAASxO,IAAI,UAAUC,OAAvB,SACrB,OACInQ,EAAAC,EAAAC,cAAC0gB,GAAc,CAAEzC,UAASO,WAAUrB,WAChCrd,EAAAC,EAAAC,cAAA,QAAM2gB,SAAUxW,KAAKyV,kBAChBa,GACG3gB,EAAAC,EAAAC,cAAA,OACII,SAAU6d,EAAQjO,IAAI,gBACtB9P,UAAU,oBAET8E,GAETlF,EAAAC,EAAAC,cAAC4gB,EAAD,CACIjgB,GAAG,SACHF,UAAU,iBACVK,YAAY,SACZZ,UAAU,eACVgB,SAAUiJ,KAAKuV,kBACf1e,aAAcwd,EAASxO,IAAI,YAG/BlQ,EAAAC,EAAAC,cAAC6gB,EAAD,CACI5gB,KAAK,SACLG,SAAU6d,EAAQjO,IAAI,gBACtB9P,UAAU,sBAHd,qBAnEK8e,IAAMC,WCoChB1O,GA1CE,SAAA1Q,GACb,OACIC,EAAAC,EAAAC,cAAA,SACIC,KAAK,WACLU,GAAId,EAAMc,GACVN,KAAMR,EAAMQ,KACZH,UAAWL,EAAMK,UACjBE,SAAUP,EAAMO,SAChBU,YAAajB,EAAMiB,YACnBggB,UAAWjhB,EAAMihB,UACjBzf,SAAUxB,EAAMwB,SAChB0f,aAAclhB,EAAMkhB,aACpBC,UAAWnhB,EAAMmhB,UACjBC,UAAWphB,EAAMohB,UACjBC,QAASrhB,EAAMqhB,QACfxL,MAAO7V,EAAM6V,MACb3U,MAAOlB,EAAMkB,MACbG,SAAUrB,EAAMqB,SAChBD,OAAQpB,EAAMoB,OACdE,QAAStB,EAAMsB,WCHZggB,GAbU,SAAAthB,GACrB,OACIC,EAAAC,EAAAC,cAAA,OAAKE,UAAU,wBACXJ,EAAAC,EAAAC,cAACuB,EAAD,CAAUd,UAAS,cAAAC,OAAgBb,EAAMY,aACzCX,EAAAC,EAAAC,cAACohB,GAAavhB,KCKXwhB,GAZC,SAAAxhB,GACd,OACEC,EAAAC,EAAAC,cAAA,KAAGE,UAAWL,EAAMK,UAAWC,QAAS,kBAAMN,EAAMiG,WAAWjG,EAAMyhB,MAAQzhB,EAAM0hB,MAAQ1hB,EAAMS,WC0MtFkhB,eApMb,SAAAA,EAAY3hB,GAAO,IAAAuf,EAAApS,OAAAgN,EAAA,EAAAhN,CAAA7C,KAAAqX,IACjBpC,EAAApS,OAAAqS,EAAA,EAAArS,CAAA7C,KAAA6C,OAAAsS,EAAA,EAAAtS,CAAAwU,GAAAjC,KAAApV,KAAMtK,KAEDsH,MAAQ,CACXmJ,SAAUzQ,EAAM2e,SAASxO,IAAI,aAAe,KAC5CQ,SAAU,KACViP,OAAQ,IAGVL,EAAKM,kBAAoBN,EAAKM,kBAAkB3E,KAAvB/N,OAAA2S,EAAA,EAAA3S,QAAA2S,EAAA,EAAA3S,CAAAoS,KACzBA,EAAKqC,oBAAsBrC,EAAKqC,oBAAoB1G,KAAzB/N,OAAA2S,EAAA,EAAA3S,QAAA2S,EAAA,EAAA3S,CAAAoS,KAC3BA,EAAKsC,oBAAsBtC,EAAKsC,oBAAoB3G,KAAzB/N,OAAA2S,EAAA,EAAA3S,QAAA2S,EAAA,EAAA3S,CAAAoS,KAC3BA,EAAKQ,iBAAmBR,EAAKQ,iBAAiB7E,KAAtB/N,OAAA2S,EAAA,EAAA3S,QAAA2S,EAAA,EAAA3S,CAAAoS,KACxBA,EAAKuC,kBAAoBvC,EAAKuC,kBAAkB5G,KAAvB/N,OAAA2S,EAAA,EAAA3S,QAAA2S,EAAA,EAAA3S,CAAAoS,KACzB,IAAIS,EAAI7S,OAAA2S,EAAA,EAAA3S,QAAA2S,EAAA,EAAA3S,CAAAoS,IAdS,OAgBbU,MAAM,cACA,CACEC,QAAS,CACLC,eAAgB,mBAChBC,OAAU,sBAIjBzL,KAAK,SAAU1G,GACZ,OAAOA,EAASoS,SAEnB1L,KAAK,SAAU2L,GACXN,EAAKO,SAAS,CAAEX,OAAQU,EAAOE,qBA5B3BjB,iFAgCD5E,GAChBrQ,KAAKiW,SAAS,CAAE5T,OAAQgO,EAAE8F,OAAOvf,oDAEfyZ,GAClBrQ,KAAKiW,SAAS,CAAE9P,SAAUkK,EAAE8F,OAAOvf,oDAEjByZ,GAClBrQ,KAAKiW,SAAS,CAAE5P,SAAUgK,EAAE8F,OAAOvf,iDAGpByZ,GACfA,EAAE+F,iBADgB,IAIdqB,EAFiBzX,KAAKtK,MAAlB2e,SAEsBxO,IAAI,UAAUC,OAAvB,SAEjB/B,EAAU,GACd1O,OAAOC,SAAS6N,OACba,UAAU,GACV3G,MAAM,KACN4G,QAAQ,SAACC,GACRA,EAAOA,EAAK7G,MAAM,KAClB0G,EAAQG,EAAK,IAAMC,mBAAmBD,EAAK,IAAM,MAGrD,IAAIrJ,EAAIgI,OAAA0D,EAAA,EAAA1D,CAAA,CACNR,OAAQrC,KAAKhD,MAAMqF,OACnB8D,SAAUnG,KAAKhD,MAAMmJ,SACrBE,SAAUrG,KAAKhD,MAAMqJ,WAChBoR,GACH1T,EAAQkC,WAAa,CAAEA,UAAiC,MAAtBlC,EAAQkC,YACvCwR,GAAkB1T,EAAQY,KAAO,CAAEA,IAAKZ,EAAQY,MAChD8S,GACH1T,EAAQa,YAAc,CAAEA,WAAYb,EAAQa,aAE5C5E,KAAKhD,MAAMgJ,WAAUnL,EAAKmL,SAAWhG,KAAKhD,MAAMgJ,UAChChG,KAAKtK,MAAjBsd,QACA5O,gBAAgBvJ,0CAGX,IACLwZ,EAAarU,KAAKtK,MAAlB2e,SAER,IAAKA,EAASxO,IAAI,WAAwC,KAA3BwO,EAASxO,IAAI,UAC1C,OACElQ,EAAAC,EAAAC,cAAC4gB,EAAD,CACEjgB,GAAG,SACHN,KAAK,SACLI,UAAU,iBACVK,YAAY,SACZZ,UAAU,eACVc,aAAcmJ,KAAKhD,MAAMqF,OACzBtL,SAAUiJ,KAAKuV,8DAMLlF,GAAG,IAAAqH,EAAA1X,KACnBqQ,EAAE+F,iBACFpW,KAAKiW,SAAS,CAAEjQ,UAAU,GAAQ,kBAAM0R,EAAKjC,iBAAiBpF,4CAGjD,IAAA+D,EACiBpU,KAAKtK,MAA3B2e,EADKD,EACLC,SAAUP,EADLM,EACKN,QAElB,GAAIO,EAASxO,IAAI,iBACf,OACElQ,EAAAC,EAAAC,cAAA,OAAKE,UAAU,qBACbJ,EAAAC,EAAAC,cAAA,MAAIE,UAAU,kBACdJ,EAAAC,EAAAC,cAAC6gB,EAAD,CACE5gB,KAAK,SACLG,SAAU6d,EAAQjO,IAAI,gBACtB9P,UAAU,uBACVC,QAASgK,KAAKwX,mBAJhB,iDAaC,IAAAjD,EACgCvU,KAAKtK,MAApC2e,EADDE,EACCF,SAAUP,EADXS,EACWT,QAASd,EADpBuB,EACoBvB,QACtBsC,EAAUtV,KAAKhD,MAAfsY,OACD3Q,EAAMzK,GAAsBmc,KAAK,SAAAzgB,GAAC,OAAIA,EAAEuE,KAAOmb,IAC/Cza,EAAO,GACR8J,IAAK9J,EAAO8J,EAAI/N,OACnBiE,EAAa,IAANA,EAAU,UAAYA,EAC7B,IAAIyb,EAAiBjC,EAASxO,IAAI,UAAUC,OAAvB,SAErB,OACEnQ,EAAAC,EAAAC,cAAC0gB,GAAc,CAAEzC,UAASO,WAAUrB,WAClCrd,EAAAC,EAAAC,cAAA,QAAMK,KAAK,YAAYsgB,SAAUxW,KAAKyV,kBACnCa,GACD3gB,EAAAC,EAAAC,cAAA,OACEI,SAAU6d,EAAQjO,IAAI,gBACtB9P,UAAU,oBAET8E,GAEFmF,KAAK2X,eACNhiB,EAAAC,EAAAC,cAAC4gB,EAAD,CACEjgB,GAAG,WACHF,UAAU,aACVK,YAAY,WACZZ,UAAU,eACVc,aAAcmJ,KAAKhD,MAAMmJ,SACzBpP,SAAUiJ,KAAKsX,sBAEjB3hB,EAAAC,EAAAC,cAAC+hB,GAAD,CACEphB,GAAG,WACHF,UAAU,aACVK,YAAY,WACZZ,UAAU,eACVc,aAAcmJ,KAAKhD,MAAMqJ,SACzBtP,SAAUiJ,KAAKuX,sBAEjB5hB,EAAAC,EAAAC,cAAC6gB,EAAD,CACE5gB,KAAK,SACLI,KAAK,WACLD,SAAU6d,EAAQjO,IAAI,gBACtB9P,UAAU,sBAJZ,WAQCiK,KAAK6X,gBAGRliB,EAAAC,EAAAC,cAAA,MAAIW,GAAG,aACLb,EAAAC,EAAAC,cAAA,UACEF,EAAAC,EAAAC,cAACiiB,GAAD,CACEnc,WAAYqX,EAAQrX,WACpBwb,GAAG,iBACHphB,UAAU,YAHZ,6BAQFJ,EAAAC,EAAAC,cAAA,UACEF,EAAAC,EAAAC,cAACiiB,GAAD,CACEnc,WAAYqX,EAAQrX,WACpBwb,GAAG,gBACHphB,UAAU,YAHZ,2BAQFJ,EAAAC,EAAAC,cAAA,UACEF,EAAAC,EAAAC,cAACiiB,GAAD,CACEnc,WAAYqX,EAAQrX,WACpBwb,GAAG,qBACHphB,UAAU,YAHZ,+BAvLQ8e,IAAMC,WC4DXiD,eA9DX,SAAAA,EAAYriB,GAAM,IAAAuf,EAAA,OAAApS,OAAAgN,EAAA,EAAAhN,CAAA7C,KAAA+X,IACd9C,EAAApS,OAAAqS,EAAA,EAAArS,CAAA7C,KAAA6C,OAAAsS,EAAA,EAAAtS,CAAAkV,GAAA3C,KAAApV,KAAMtK,KAEDsH,MAAQ,CACTiL,SAAU,KACVpK,MAAO,MAGXoX,EAAKQ,iBAAmBR,EAAKQ,iBAAiB7E,KAAtB/N,OAAA2S,EAAA,EAAA3S,QAAA2S,EAAA,EAAA3S,CAAAoS,KACxBA,EAAK+C,oBAAsB/C,EAAK+C,oBAAoBpH,KAAzB/N,OAAA2S,EAAA,EAAA3S,QAAA2S,EAAA,EAAA3S,CAAAoS,KAC3BA,EAAKgD,iBAAmBhD,EAAKgD,iBAAiBrH,KAAtB/N,OAAA2S,EAAA,EAAA3S,QAAA2S,EAAA,EAAA3S,CAAAoS,KAVVA,gFAaD5E,GACbA,EAAE+F,iBAEF,IAAIvb,EAAO,CACPoN,SAAUjI,KAAKhD,MAAMiL,SACrBpK,MAAOmC,KAAKhD,MAAMa,OAEtBmC,KAAKtK,MAAMsd,QAAQ5L,yBAAyBvM,+CAG5BwV,GAAKrQ,KAAKiW,SAAS,CAAEhO,SAAUoI,EAAE8F,OAAOvf,iDAC3CyZ,GAAKrQ,KAAKiW,SAAS,CAAEpY,MAAOwS,EAAE8F,OAAOvf,yCAE7C,IAAAwd,EACkCpU,KAAKtK,MAApCoe,EADHM,EACGN,QAASO,EADZD,EACYC,SAAUrB,EADtBoB,EACsBpB,QAC3B,OACIrd,EAAAC,EAAAC,cAAC0gB,GAAD1T,OAAAqV,OAAA,CAAW3M,MAAM,wBAA2B,CAAEuI,UAASO,WAAUrB,YAC7Drd,EAAAC,EAAAC,cAAA,QAAM2gB,SAAUxW,KAAKyV,kBACjB9f,EAAAC,EAAAC,cAAC4gB,EAAD,CACIjgB,GAAG,YACHF,UAAU,aACVK,YAAY,YACZZ,UAAU,eACVgB,SAAUiJ,KAAKgY,sBAEnBriB,EAAAC,EAAAC,cAAC4gB,EAAD,CACIjgB,GAAG,QACHF,UAAU,iBACVK,YAAY,QACZZ,UAAU,eACVgB,SAAUiJ,KAAKiY,mBAGnBtiB,EAAAC,EAAAC,cAAC6gB,EAAD,CACI5gB,KAAK,SACLG,SAAU6d,EAAQjO,IAAI,gBACtB9P,UAAU,sBAHd,WAQJJ,EAAAC,EAAAC,cAAA,MAAIW,GAAG,aACHb,EAAAC,EAAAC,cAAA,UAAIF,EAAAC,EAAAC,cAACiiB,GAAD,CAASnc,WAAYqX,EAAQrX,WAAYwb,GAAG,QAAQphB,UAAU,YAA9D,6BAxDK8e,IAAMC,WCapBqD,GAjBD,SAAAziB,GAAK,OACfC,EAAAC,EAAAC,cAAA,SACIW,GAAId,EAAMc,GACV4hB,QAAS1iB,EAAM2iB,IACftiB,UAAWL,EAAMK,WAEhBL,EAAMS,WCmDAmiB,eAnDX,SAAAA,EAAY5iB,GAAM,IAAAuf,EAAA,OAAApS,OAAAgN,EAAA,EAAAhN,CAAA7C,KAAAsY,IACdrD,EAAApS,OAAAqS,EAAA,EAAArS,CAAA7C,KAAA6C,OAAAsS,EAAA,EAAAtS,CAAAyV,GAAAlD,KAAApV,KAAMtK,KAEDsH,MAAQ,CACT0L,WAAY,MAGhBuM,EAAKQ,iBAAmBR,EAAKQ,iBAAiB7E,KAAtB/N,OAAA2S,EAAA,EAAA3S,QAAA2S,EAAA,EAAA3S,CAAAoS,KACxBA,EAAKsD,sBAAwBtD,EAAKsD,sBAAsB3H,KAA3B/N,OAAA2S,EAAA,EAAA3S,QAAA2S,EAAA,EAAA3S,CAAAoS,KARfA,gFAWD5E,GACbA,EAAE+F,iBAEF,IAAIvb,EAAO,CACP6N,WAAY1I,KAAKhD,MAAM0L,YAE3B1I,KAAKtK,MAAMsd,QAAQ1K,8BAA8BzN,iDAG/BwV,GAAKrQ,KAAKiW,SAAS,CAAEvN,WAAY2H,EAAE8F,OAAOvf,yCAEvD,IAAAwd,EACkCpU,KAAKtK,MAApCoe,EADHM,EACGN,QAASO,EADZD,EACYC,SAAUrB,EADtBoB,EACsBpB,QAC3B,OACIrd,EAAAC,EAAAC,cAAC0gB,GAAD1T,OAAAqV,OAAA,CAAW3M,MAAM,wBAA2B,CAAEuI,UAASO,WAAUrB,YAC7Drd,EAAAC,EAAAC,cAAA,QAAM2gB,SAAUxW,KAAKyV,kBACjB9f,EAAAC,EAAAC,cAAA,OAAKE,UAAW,gBAAiBiK,KAAKtK,MAAM2e,SAASxO,IAAI,iBACzDlQ,EAAAC,EAAAC,cAAC4gB,EAAD,CACIjgB,GAAG,aACHG,YAAY,SACZL,UAAU,aACVP,UAAU,eACVgB,SAAUiJ,KAAKuY,wBAGnB5iB,EAAAC,EAAAC,cAAC6gB,EAAD,CACI5gB,KAAK,SACLG,SAAU6d,EAAQjO,IAAI,gBACtB9P,UAAU,sBAHd,WAOJJ,EAAAC,EAAAC,cAAA,MAAIW,GAAG,aACHb,EAAAC,EAAAC,cAAA,UAAIF,EAAAC,EAAAC,cAACiiB,GAAD,CAASnc,WAAYqX,EAAQrX,WAAYwb,GAAG,QAAQphB,UAAU,YAA9D,6BA7CU8e,IAAMC,WCSzB0D,GAZD,SAAA9iB,GAAS,IACXoe,EAA+Bpe,EAA/Boe,QAASO,EAAsB3e,EAAtB2e,SAAUrB,EAAYtd,EAAZsd,QAC3B,OACIrd,EAAAC,EAAAC,cAAC0gB,GAAc,CAAEzC,UAASO,WAAUrB,WAC/Btd,EAAMS,SACPR,EAAAC,EAAAC,cAAA,MAAIW,GAAG,aACHb,EAAAC,EAAAC,cAAA,UAAIF,EAAAC,EAAAC,cAACiiB,GAAD,CAASnc,WAAYjG,EAAMsd,QAAQrX,WAAYwb,GAAG,QAAQphB,UAAU,YAApE,uBC2DL0iB,eA5DX,SAAAA,EAAY/iB,GAAM,IAAAuf,EAAA,OAAApS,OAAAgN,EAAA,EAAAhN,CAAA7C,KAAAyY,IACdxD,EAAApS,OAAAqS,EAAA,EAAArS,CAAA7C,KAAA6C,OAAAsS,EAAA,EAAAtS,CAAA4V,GAAArD,KAAApV,KAAMtK,KAEDsH,MAAQ,CACTmJ,SAAU8O,EAAKvf,MAAM2e,SAASxO,IAAI,aAAe,KACjDQ,SAAU,KACVzH,OAAQqW,EAAKvf,MAAM2e,SAASxO,IAAI,UAAUC,QAG9CmP,EAAKyD,gBAAkBzD,EAAKyD,gBAAgB9H,KAArB/N,OAAA2S,EAAA,EAAA3S,QAAA2S,EAAA,EAAA3S,CAAAoS,KACvBA,EAAKQ,iBAAmBR,EAAKQ,iBAAiB7E,KAAtB/N,OAAA2S,EAAA,EAAA3S,QAAA2S,EAAA,EAAA3S,CAAAoS,KAVVA,+EAaF5E,GAAIrQ,KAAKiW,SAAS,CAAC9P,SAAUkK,EAAE8F,OAAOvf,iDAErCyZ,GACbA,EAAE+F,iBACF,IAAIvb,EAAO,CACPsL,SAAUnG,KAAKhD,MAAMmJ,UAEzBnG,KAAKtK,MAAMsd,QAAQjK,wBAAwBlO,4CAG9B,IACLwZ,EAAarU,KAAKtK,MAAlB2e,SAER,IAAIA,EAASxO,IAAI,WAAawO,EAASxO,IAAI,YAAa,OACpDlQ,EAAAC,EAAAC,cAAC4gB,EAAD,CACIjgB,GAAG,WACHF,UAAU,aACVK,YAAY,WACZZ,UAAU,eACVc,aAAcmJ,KAAKhD,MAAMmJ,SACzBpP,SAAUiJ,KAAK0Y,mDAKlB,IAAAtE,EACkCpU,KAAKtK,MAApCoe,EADHM,EACGN,QAASO,EADZD,EACYC,SAAUrB,EADtBoB,EACsBpB,QAE3B,OACIrd,EAAAC,EAAAC,cAAC0gB,GAAD1T,OAAAqV,OAAA,CAAW3M,MAAM,gCAAmC,CAAEuI,UAASO,WAAUrB,YACrErd,EAAAC,EAAAC,cAAA,QAAM2gB,SAAUxW,KAAKyV,kBAChBzV,KAAK2Y,iBACNhjB,EAAAC,EAAAC,cAAC6gB,EAAD,CACI5gB,KAAK,SACLG,SAAU6d,EAAQjO,IAAI,gBACtB9P,UAAU,sBAHd,kCAOJJ,EAAAC,EAAAC,cAAA,MAAIW,GAAG,aACHb,EAAAC,EAAAC,cAAA,UAAIF,EAAAC,EAAAC,cAACiiB,GAAD,CAASnc,WAAYqX,EAAQrX,WAAYwb,GAAG,QAAQphB,UAAU,YAA9D,6BAtDI8e,IAAMC,8BCanB8D,WAhBE,SAAAljB,GACb,OACIC,EAAAC,EAAAC,cAACgjB,GAAA,EAAWnjB,KCoKLojB,eAlKX,SAAAA,EAAYpjB,GAAM,IAAAuf,EAAA,OAAApS,OAAAgN,EAAA,EAAAhN,CAAA7C,KAAA8Y,IACd7D,EAAApS,OAAAqS,EAAA,EAAArS,CAAA7C,KAAA6C,OAAAsS,EAAA,EAAAtS,CAAAiW,GAAA1D,KAAApV,KAAMtK,KACDsH,MAAQ,GAIbiY,EAAKpE,SAAW,GAChB,CAAC,YAAa,WAAY,QAAS,UAAW,QAAS,cAAe,gBAAiB,WAAY,WAAY,OAAQ,QAAS,UAAW,YAAY5M,QAAQ,SAAA8U,GAC3J9D,EAAKpE,SAAL,SAAAta,OAAuBwiB,EAAEzb,MAAM,EAAE,GAAGC,eAApChH,OAAoDwiB,EAAEzb,MAAM,EAAGyb,EAAEvb,QAAjE,UAAmF,SAAS6S,GAAIrQ,KAAKiW,SAALpT,OAAAmW,GAAA,EAAAnW,CAAA,GAAgBkW,EAAI1I,EAAE8F,OAAOvf,SAAUga,KAApD/N,OAAA2S,EAAA,EAAA3S,QAAA2S,EAAA,EAAA3S,CAAAoS,OAGvFA,EAAKgE,mBAAqBhE,EAAKgE,mBAAmBrI,KAAxB/N,OAAA2S,EAAA,EAAA3S,QAAA2S,EAAA,EAAA3S,CAAAoS,KAC1BA,EAAKiE,iBAAmBjE,EAAKiE,iBAAiBtI,KAAtB/N,OAAA2S,EAAA,EAAA3S,QAAA2S,EAAA,EAAA3S,CAAAoS,KACxBA,EAAKQ,iBAAmBR,EAAKQ,iBAAiB7E,KAAtB/N,OAAA2S,EAAA,EAAA3S,QAAA2S,EAAA,EAAA3S,CAAAoS,KACxBA,EAAKkE,iBAAmBlE,EAAKkE,iBAAiBvI,KAAtB/N,OAAA2S,EAAA,EAAA3S,QAAA2S,EAAA,EAAA3S,CAAAoS,KAExBA,EAAKmE,gBAAkBnE,EAAKmE,gBAAgBxI,KAArB/N,OAAA2S,EAAA,EAAA3S,QAAA2S,EAAA,EAAA3S,CAAAoS,KAhBTA,kFAmBCrK,GACf5K,KAAKiW,SAAS,CAACrL,YACf5K,KAAKtK,MAAMsd,QAAQrI,+BAA+BC,4CAErC5N,GAASgD,KAAKiW,SAAS,CAACjZ,mDAExBqT,GACbA,EAAE+F,iBAEF,IAAIiD,GAAY,EACbxW,OAAOwO,KAAKrR,KAAKhD,OAAOQ,OAAS,IAEhC6b,EAAYhkB,OAAOikB,QAAQ,8GAE5BD,GAAWrZ,KAAKtK,MAAMsd,QAAQrX,WAAW,kDAG/B0U,GACbA,EAAE+F,iBACFpW,KAAKtK,MAAMsd,QAAQlI,6BAAnBjI,OAAA0D,EAAA,EAAA1D,CAAA,GAAoD7C,KAAKhD,4CAGjD,IACA8W,EAAY9T,KAAKtK,MAAjBoe,QAER,GAAGA,EAAQjO,IAAI,UAAUkO,KAAO,EAAG,CAC/B,IAAIC,EAAMF,EAAQjO,IAAI,UAAU1I,IAAI,SAACD,EAAG+W,GACpC,OAAOte,EAAAC,EAAAC,cAACqe,EAAD,CAAc3c,QAAS2F,EAAG/C,IAAK8Z,MAE1C,OAAOte,EAAAC,EAAAC,cAAA,OAAKE,UAAU,qBAAqBie,4CAInCuF,GAAO,IACXlF,EAAarU,KAAKtK,MAAlB2e,SAER,OADkBA,EAASxO,IAAI,eAAe2T,QAAUnF,EAASxO,IAAI,eAAe2T,UAAY,IAC7E1R,QAAQyR,IAAU,+CAIrCvZ,KAAKtK,MAAMsd,QAAQ5I,oEAGRhN,EAAWqN,GACtB,OACI9U,EAAAC,EAAAC,cAAA,OAAKE,UAAW,mBACZJ,EAAAC,EAAAC,cAAC4jB,GAAD,KAAQhP,GACR9U,EAAAC,EAAAC,cAACwB,EAAD,CACIb,GAAI4G,EACJrH,UAAW,iCAAoCiK,KAAKoZ,gBAAgBhc,GAAa,sBAAwB,IACzGrG,SAAUiJ,KAAK6Q,SAAL,SAAAta,OAAuB6G,EAAUE,MAAM,EAAG,GAAGC,eAA7ChH,OAA6D6G,EAAUE,MAAM,GAA7E,8CAMjB,IAAA8W,EACwBpU,KAAKtK,MAA1Boe,EADHM,EACGN,QADHM,EACYpB,QAGjB,OACIrd,EAAAC,EAAAC,cAAA,OAAKW,GAAG,+BACJb,EAAAC,EAAAC,cAAA,OAAKE,UAAW,QACZJ,EAAAC,EAAAC,cAAA,OAAK4e,IAAKzU,KAAKtK,MAAMqG,KAAM4Y,IAAI,UAEnChf,EAAAC,EAAAC,cAAA,+BACCmK,KAAKnB,YACNlJ,EAAAC,EAAAC,cAAA,OAAKW,GAAG,mCACJb,EAAAC,EAAAC,cAAA,QAAM2gB,SAAUxW,KAAKyV,kBAChBzV,KAAK0Z,eAAe,YAAa,cACjC1Z,KAAK0Z,eAAe,WAAY,aAEhC1Z,KAAK0Z,eAAe,QAAS,SAC7B1Z,KAAK0Z,eAAe,UAAW,WAE/B1Z,KAAK0Z,eAAe,QAAS,iBAC7B1Z,KAAK0Z,eAAe,cAAe,uBAEnC1Z,KAAK0Z,eAAe,gBAAiB,yBACtC/jB,EAAAC,EAAAC,cAAA,OAAKE,UAAW,mBACZJ,EAAAC,EAAAC,cAAC4jB,GAAD,gBACA9jB,EAAAC,EAAAC,cAAC8jB,GAAD,CACInjB,GAAG,UACHT,UAAW,oBAAuBiK,KAAKoZ,gBAAgB,WAAa,gBAAkB,IACtFriB,SAAUiJ,KAAKiZ,mBACfW,QAAS5Z,KAAKtK,MAAM2e,SAASxO,IAAI,kBAAkB2T,UAAUrc,IAAI,SAAAD,GAAC,OAAIA,EAAEiU,aACxEva,MAAOoJ,KAAKhD,MAAM4N,WAIzB5K,KAAK0Z,eAAe,WAAY,aAChC1Z,KAAK0Z,eAAe,WAAY,aAEhC1Z,KAAK0Z,eAAe,OAAQ,QAC7B/jB,EAAAC,EAAAC,cAAA,OAAKE,UAAW,mBACZJ,EAAAC,EAAAC,cAAA,OAAKE,UAAW,iCACZJ,EAAAC,EAAAC,cAAC4jB,GAAD,cACA9jB,EAAAC,EAAAC,cAAC8jB,GAAD,CACInjB,GAAG,QACHT,UAAW,oBAAuBiK,KAAKoZ,gBAAgB,SAAW,gBAAkB,IACpFriB,SAAUiJ,KAAKkZ,iBACfU,QAAS5Z,KAAKtK,MAAM2e,SAASxO,IAAI,gBAAgB2T,UAAUrc,IAAI,SAAAD,GAAC,OAAIA,EAAEiU,aACtEva,MAAOoJ,KAAKhD,MAAMA,SAG1BrH,EAAAC,EAAAC,cAAA,OAAKE,UAAW,6BACZJ,EAAAC,EAAAC,cAAC4jB,GAAD,iBACA9jB,EAAAC,EAAAC,cAACwB,EAAD,CACIb,GAAG,UACHT,UAAW,iCAAoCiK,KAAKoZ,gBAAgB,WAAa,sBAAwB,IACzGriB,SAAUiJ,KAAK6Q,SAASgJ,uBAKpClkB,EAAAC,EAAAC,cAAA,WACIF,EAAAC,EAAAC,cAAC4jB,GAAD,iBACA9jB,EAAAC,EAAAC,cAACikB,GAAD,CACItjB,GAAG,WACHT,UAAU,iCACVgB,SAAUiJ,KAAK6Q,SAASkJ,wBAGhCpkB,EAAAC,EAAAC,cAAA,WACAF,EAAAC,EAAAC,cAAA,OAAKE,UAAU,0BACXJ,EAAAC,EAAAC,cAAC6gB,EAAD,CACI5gB,KAAK,SACLG,SAAU6d,EAAQjO,IAAI,gBACtB9P,UAAU,sBAHd,UAKAJ,EAAAC,EAAAC,cAAC6gB,EAAD,CACI3gB,UAAU,uBACVE,SAAU6d,EAAQjO,IAAI,gBACtB7P,QAASgK,KAAKmZ,kBAHlB,qBAtJKtE,IAAMC,WC6FxBkF,eA7FX,SAAAA,EAAYtkB,GAAM,IAAAuf,EAAA,OAAApS,OAAAgN,EAAA,EAAAhN,CAAA7C,KAAAga,IACd/E,EAAApS,OAAAqS,EAAA,EAAArS,CAAA7C,KAAA6C,OAAAsS,EAAA,EAAAtS,CAAAmX,GAAA5E,KAAApV,KAAMtK,KACDsH,MAAQ,CACTqJ,SAAU,KACVuD,gBAAiB,MAGrBqL,EAAKsC,oBAAsBtC,EAAKsC,oBAAoB3G,KAAzB/N,OAAA2S,EAAA,EAAA3S,QAAA2S,EAAA,EAAA3S,CAAAoS,KAC3BA,EAAKgF,2BAA6BhF,EAAKgF,2BAA2BrJ,KAAhC/N,OAAA2S,EAAA,EAAA3S,QAAA2S,EAAA,EAAA3S,CAAAoS,KAClCA,EAAKiF,wBAA0BjF,EAAKiF,wBAAwBtJ,KAA7B/N,OAAA2S,EAAA,EAAA3S,QAAA2S,EAAA,EAAA3S,CAAAoS,KAC/BA,EAAKsD,sBAAwBtD,EAAKsD,sBAAsB3H,KAA3B/N,OAAA2S,EAAA,EAAA3S,QAAA2S,EAAA,EAAA3S,CAAAoS,KAE7BA,EAAKQ,iBAAmBR,EAAKQ,iBAAiB7E,KAAtB/N,OAAA2S,EAAA,EAAA3S,QAAA2S,EAAA,EAAA3S,CAAAoS,KAZVA,mFAeE5E,GAAGrQ,KAAKiW,SAAS,CAAC5P,SAAUgK,EAAE8F,OAAOvf,2DAC9ByZ,GAAGrQ,KAAKiW,SAAS,CAACrM,gBAAiByG,EAAE8F,OAAOvf,wDAC/CyZ,GAAGrQ,KAAKiW,SAAS,CAAC9N,aAAckI,EAAE8F,OAAOvf,sDAC3CyZ,GAAGrQ,KAAKiW,SAAS,CAACvN,WAAY2H,EAAE8F,OAAOvf,iDAE5CyZ,GACbA,EAAE+F,iBACF,IAAIvb,EAAO,CACPwL,SAAUrG,KAAKhD,MAAMqJ,SACrBuD,gBAAiB5J,KAAKhD,MAAM4M,gBAC5BzB,aAAcnI,KAAKhD,MAAMmL,aACzBO,WAAY1I,KAAKhD,MAAM0L,YAE3B1I,KAAKtK,MAAMsd,QAAQ1J,wBAAnBzG,OAAA0D,EAAA,EAAA1D,CAAA,GAA+ChI,iDAI/C,GAAGmF,KAAKtK,MAAMoe,QAAQjO,IAAI,aACtB,OACIlQ,EAAAC,EAAAC,cAAC4gB,EAAD,CACIjgB,GAAG,eACHF,UAAU,aACVK,YAAY,yBACZZ,UAAU,eACVgB,SAAUiJ,KAAKka,qEAO3B,GAAGla,KAAKtK,MAAMoe,QAAQjO,IAAI,aACtB,OACIlQ,EAAAC,EAAAC,cAAC4gB,EAAD,CACIjgB,GAAG,aACHF,UAAU,aACVK,YAAY,uBACZZ,UAAU,eACVgB,SAAUiJ,KAAKuY,yDAMtB,IAAAnE,EACkCpU,KAAKtK,MAApCoe,EADHM,EACGN,QAASO,EADZD,EACYC,SAAUrB,EADtBoB,EACsBpB,QAE3B,OACIrd,EAAAC,EAAAC,cAAC0gB,GAAD1T,OAAAqV,OAAA,CAAW3M,MAAO,uBAA2B,CAAEuI,UAASO,WAAUrB,YAC9Drd,EAAAC,EAAAC,cAAA,QAAM2gB,SAAUxW,KAAKyV,kBACjB9f,EAAAC,EAAAC,cAAC+hB,GAAD,CACIphB,GAAG,WACHF,UAAU,aACVK,YAAY,eACZZ,UAAU,eACVgB,SAAUiJ,KAAKuX,sBAEnB5hB,EAAAC,EAAAC,cAAC+hB,GAAD,CACIphB,GAAG,kBACHF,UAAU,aACVK,YAAY,mBACZZ,UAAU,eACVgB,SAAUiJ,KAAKia,6BAElBja,KAAKma,qBACLna,KAAKoa,mBAENzkB,EAAAC,EAAAC,cAAC6gB,EAAD,CACI5gB,KAAK,SACLG,SAAU6d,EAAQjO,IAAI,gBACtB9P,UAAU,sBAHd,qBAnFQ8e,IAAMC,qBC+BnBuF,eAlCX,SAAAA,EAAY3kB,GAAO,IAAAuf,EAAA,OAAApS,OAAAgN,EAAA,EAAAhN,CAAA7C,KAAAqa,IACfpF,EAAApS,OAAAqS,EAAA,EAAArS,CAAA7C,KAAA6C,OAAAsS,EAAA,EAAAtS,CAAAwX,GAAAjF,KAAApV,KAAMtK,KAED4kB,OAAS,IAAIC,UAClBtF,EAAKuF,aAAevF,EAAKuF,aAAa5J,KAAlB/N,OAAA2S,EAAA,EAAA3S,QAAA2S,EAAA,EAAA3S,CAAAoS,KACpBA,EAAKwF,0BAA4BxF,EAAKwF,0BAA0B7J,KAA/B/N,OAAA2S,EAAA,EAAA3S,QAAA2S,EAAA,EAAA3S,CAAAoS,KALlBA,8EASf,OAAOjV,KAAKsa,OAAOI,MAAM1a,KAAKtK,MAAM2e,SAASxO,IAAI,+DAIjD7F,KAAKtK,MAAMsd,QAAQvX,iBAAgB,GACnCpG,OAAOC,SAAS2M,KAAOjC,KAAKtK,MAAM2e,SAASxO,IAAI,gDAI/C,OACIlQ,EAAAC,EAAAC,cAAA,OAAKW,GAAG,+BACJb,EAAAC,EAAAC,cAAA,OAAKE,UAAU,mBACViK,KAAKwa,eACN7kB,EAAAC,EAAAC,cAAC6gB,EAAD,CACIzgB,SAAU+J,KAAKtK,MAAMoe,QAAQjO,IAAI,gBACjC/P,KAAK,SACLE,QAASgK,KAAKya,0BACd1kB,UAAW,sBAJf,qBAvBC8e,IAAMC,+BCCdrH,GAAS,CAClBkN,mBAAoBC,MCITC,GAAA,CACXvX,cAAe,SAASzI,GAIpB,OAAO,SAAS0G,GACZA,EAAS,CAACzL,KAAMoc,EAAsBrX,SACnCyZ,GAAOtB,QAAQ1P,eACd/B,EAAS+S,GAAOtB,QAAQ1P,cAAczI,MAIlDuM,yBAA0B,SAASvM,GAC/B,OAAO,SAAS0G,GACZA,EAAS,CAACzL,KAAMoc,GAA+BrX,SAC5CyZ,GAAOtB,QAAQ5L,0BACd7F,EAAS+S,GAAOtB,QAAQ5L,yBAAyBvM,MAI7DyN,8BAA+B,SAASzN,GACpC,OAAO,SAAS0G,GACZA,EAAS,CAACzL,KAAMoc,GAAsCrX,SACnDyZ,GAAOtB,QAAQ1K,+BACd/G,EAAS+S,GAAOtB,QAAQ1K,8BAA8BzN,MAIlEkO,wBAAyB,SAASlO,GAC9B,OAAO,SAAS0G,GACZA,EAAS,CAACzL,KAAMoc,GAA8BrX,SAC3CyZ,GAAOtB,QAAQjK,yBACdxH,EAAS+S,GAAOtB,QAAQjK,wBAAwBlO,MAI5DuJ,gBAAiB,SAASvJ,GACtB,OAAO,SAAS0G,GACZA,EAAS,CAACzL,KAAMoc,EAAqBrX,SAClCyZ,GAAOtB,QAAQ5O,iBACd7C,EAAS+S,GAAOtB,QAAQ5O,gBAAgBvJ,MAIpDyO,wBAAyB,SAASzO,GAC9B,OAAO,SAAS0G,GACZA,EAAS,CAACzL,KAAMoc,GAA8BrX,SAC3CyZ,GAAOtB,QAAQ1J,yBACd/H,EAAS+S,GAAOtB,QAAQ1J,wBAAwBzO,MAI5DiQ,6BAA8B,SAASjQ,GACnC,OAAO,SAAS0G,GACZA,EAAS,CAACzL,KAAMoc,GAAmCrX,SAChDyZ,GAAOtB,QAAQlI,8BACdvJ,EAAS+S,GAAOtB,QAAQlI,6BAA6BjQ,MAIjEuP,2BAA4B,WACxB,OAAO,SAAS7I,GACT+S,GAAOtB,QAAQ5I,4BACd7I,EAAS+S,GAAOtB,QAAQ5I,gCAIpCzH,eAAgB,WACZ,OAAO,SAASpB,GACT+S,GAAOtB,QAAQrQ,gBACdpB,EAAS+S,GAAOtB,QAAQrQ,oBAIpCgI,+BAAgC,SAASC,GACrC,OAAO,SAASrJ,GACT+S,GAAOtB,QAAQrI,gCACdpJ,EAAS+S,GAAOtB,QAAQrI,+BAA+BC,OCrF1DkQ,GAAoB,SAACplB,GAC9B,OACIC,EAAAC,EAAAC,cAAA,OAAKE,UAAU,uBACXJ,EAAAC,EAAAC,cAAA,OAAKE,UAAU,4BACTL,EAAM6B,QAAQwjB,MAChBplB,EAAAC,EAAAC,cAAA,OAAKE,UAAU,oCACXJ,EAAAC,EAAAC,cAAA,OAAKE,UAAU,eACXJ,EAAAC,EAAAC,cAAA,OAAKE,UAAU,uBACXJ,EAAAC,EAAAC,cAAA,UAAKH,EAAM6B,QAAQgU,QAEvB5V,EAAAC,EAAAC,cAAA,OAAKE,UAAU,qBACbJ,EAAAC,EAAAC,cAAA,SAAIH,EAAM6B,QAAQwjB,UAMhCplB,EAAAC,EAAAC,cAAA,OAAKE,UAAU,6BACXJ,EAAAC,EAAAC,cAAA,OAAKE,UAAU,kCACVL,EAAMS,aCnBd6kB,GAAoB,SAACtlB,GAC9B,OACIC,EAAAC,EAAAC,cAAA,OAAKE,UAAU,uBACXJ,EAAAC,EAAAC,cAAA,OAAKE,UAAU,4BACVL,EAAMS,YCJV8kB,GAAe,SAACvlB,GACzB,OACIC,EAAAC,EAAAC,cAAA,OAAKE,UAAU,uBACXJ,EAAAC,EAAAC,cAAA,OAAKE,UAAU,4BACVL,EAAMS,YC+CR+kB,eAlDX,SAAAA,EAAYxlB,GAAO,IAAAuf,EAAApS,OAAAgN,EAAA,EAAAhN,CAAA7C,KAAAkb,IACfjG,EAAApS,OAAAqS,EAAA,EAAArS,CAAA7C,KAAA6C,OAAAsS,EAAA,EAAAtS,CAAAqY,GAAA9F,KAAApV,KAAMtK,KAEDylB,YAAclG,EAAKvf,MAAM0lB,WAC9B,IAAIC,EAAWpG,EAAKkG,YAAaG,KAAKC,MAAMD,KAAKE,SAAWvG,EAAKkG,YAAY3d,SAJ9D,OAKfyX,EAAKjY,MAAQ,CACToe,WAAYC,EACZI,QAAS,CAAEC,QAAS,GACpBC,YAAa,CAAED,QAAS,GACxBE,YAAa,QACbC,UAAW5G,EAAKvf,MAAMomB,aAE1B7G,EAAK8G,QAAUC,YACX/G,EAAKgH,aAAarL,KAAlB/N,OAAA2S,EAAA,EAAA3S,QAAA2S,EAAA,EAAA3S,CAAAoS,KACAA,EAAKjY,MAAM6e,WAdA5G,8EAkBJ,IAAAyC,EAAA1X,KACPkc,EAAYlc,KAAKmc,eAAe,CAACnc,KAAKhD,MAAMoe,WAAYpb,KAAKhD,MAAMof,iBACzC,UAA3Bpc,KAAKhD,MAAM4e,YACV5b,KAAKiW,SACD,CAACmG,eAAgBF,EAAWN,YAAa,UACzC,WAAMzL,WAAW,WAAQuH,EAAKzB,SAAS,CAAC0F,YAAa,CAAED,QAAS,GAAKD,QAAS,CAAEC,QAAS,MAAU,OAIvG1b,KAAKiW,SACD,CAACmF,WAAYc,EAAWN,YAAa,SACrC,WAAMzL,WAAW,WAAQuH,EAAKzB,SAAS,CAACwF,QAAS,CAAEC,QAAS,GAAKC,YAAa,CAAED,QAAS,MAAS,8CAK/FW,GACX,IAAIC,EAAwBtc,KAAKmb,YAAYle,OAAO,SAAAC,GAAC,OAAI6B,MAAMC,QAAQqd,IAAyC,IAA3BA,EAAWvU,QAAQ5K,GAAYA,IAAMmf,IAC1H,OAAOC,EAAuBhB,KAAKC,MAAMD,KAAKE,SAAWc,EAAsB9e,0CAI/E,OACI7H,EAAAC,EAAAC,cAAA,OAAKE,UAAU,kBACXJ,EAAAC,EAAAC,cAAA,OAAK4e,IAAKzU,KAAKhD,MAAMoe,WAAYzG,IAAI,aAAa4H,MAAOvc,KAAKhD,MAAMye,UACpE9lB,EAAAC,EAAAC,cAAA,OAAK4e,IAAKzU,KAAKhD,MAAMof,eAAgBzH,IAAI,aAAa4H,MAAOvc,KAAKhD,MAAM2e,sBA5C9D9G,IAAMC,WCwBjB0H,GArBI,SAAA9mB,GAGf,OAFuBqJ,MAAMC,QAAQtJ,EAAM0lB,YAEhBzlB,EAAAC,EAAAC,cAAC4mB,GAAgB/mB,GAGpCC,EAAAC,EAAAC,cAAA,OAAKE,UAAU,kBACXJ,EAAAC,EAAAC,cAAA,OAAK4e,IAAK/e,EAAM0lB,WAAYzG,IAAI,iBC0CjC+H,oLA3CF,IAODtB,EAPChH,EAC0BpU,KAAKtK,MAA5Boe,EADHM,EACGN,QAAS6I,EADZvI,EACYuI,UAGbC,EAFY,CAAEC,OAAU7B,GAAmB8B,OAAUhC,GAAmBzc,OAAU4c,IAEjEjb,KAAKtK,MAAMknB,QAUhC,OATAA,EAASA,EAAO/Z,OAAA0D,EAAA,EAAA1D,CAAA,GAAI7C,KAAKtK,QAIrB0lB,EADAtH,EAAQjO,IAAI,cAAc2T,QACb1F,EAAQjO,IAAI,cAAc2T,UAAUrc,IAAI,SAAAD,GAAC,OAAIyf,EAAUzf,IAAMA,IAE7Dyf,EAAU7I,EAAQjO,IAAI,gBAAkBiO,EAAQjO,IAAI,cAIrElQ,EAAAC,EAAAC,cAAA,OAAKE,UAAU,2BACXJ,EAAAC,EAAAC,cAACknB,GAAD,CAAY3B,WAAYA,EAAYU,YAAahI,EAAQjO,IAAI,iBAC5D+W,EACDjnB,EAAAC,EAAAC,cAAA,OAAKE,UAAU,sBACXJ,EAAAC,EAAAC,cAAA,OAAKE,UAAU,eACXJ,EAAAC,EAAAC,cAAA,OAAK4e,IAAKuI,KAASjnB,UAAU,kBAAkB4e,IAAI,mBAEvDhf,EAAAC,EAAAC,cAAA,OAAKE,UAAU,oBAAf,mBACsB,IAAIknB,MAAOC,cADjC,iCAGAvnB,EAAAC,EAAAC,cAAA,OAAKE,UAAU,kBACXJ,EAAAC,EAAAC,cAAA,KAAGoM,KAAK,yCAAyClM,UAAU,cAAcogB,OAAO,SAASgH,IAAI,uBAA7F,mBAEJxnB,EAAAC,EAAAC,cAAA,OAAKE,UAAU,mBAAf,wCA7Ba+e,aCsBvBsI,eACJ,SAAAA,EAAY1nB,GAAO,IAAAuf,EAAA,OAAApS,OAAAgN,EAAA,EAAAhN,CAAA7C,KAAAod,IACjBnI,EAAApS,OAAAqS,EAAA,EAAArS,CAAA7C,KAAA6C,OAAAsS,EAAA,EAAAtS,CAAAua,GAAAhI,KAAApV,KAAMtK,KAED2nB,QAAUpI,EAAKoI,QAAQzM,KAAb/N,OAAA2S,EAAA,EAAA3S,QAAA2S,EAAA,EAAA3S,CAAAoS,KACfA,EAAKqI,sBAAwBrI,EAAKqI,sBAAsB1M,KAA3B/N,OAAA2S,EAAA,EAAA3S,QAAA2S,EAAA,EAAA3S,CAAAoS,KAJZA,yEAOT,IAAAb,EACsBpU,KAAKtK,MAA3Boe,EADAM,EACAN,QAASO,EADTD,EACSC,SACbrB,EAAUhT,KAAKsd,wBAEnB,OAAQxJ,EAAQjO,IAAI,SAElB,IAAK,UACCiO,EAAQjO,IAAI,0BAIZmN,EAAQrQ,iBAEZ,MAGF,IAAK,qBAEH,OAAOhN,EAAAC,EAAAC,cAAC0nB,GAAuB,CAAEzJ,UAASO,WAAUrB,UAASjX,KAAMuY,GAAO7G,OAAO6G,GAAO5X,OAAOX,QAEjG,IAAK,SACH,OAAOpG,EAAAC,EAAAC,cAAC2nB,GAAe,CAAE1J,UAASO,WAAUrB,YAE9C,IAAK,QACH,OAAOrd,EAAAC,EAAAC,cAAC4nB,GAAU,CAAE3J,UAASO,WAAUrB,YAEzC,IAAK,iBACH,OAAOrd,EAAAC,EAAAC,cAAC6nB,GAAmB,CAAE5J,UAASO,WAAUrB,YAElD,IAAK,sBACH,OAAOrd,EAAAC,EAAAC,cAAC8nB,GAAwB,CAAE7J,UAASO,WAAUrB,YAEvD,IAAK,gBACH,OAAOrd,EAAAC,EAAAC,cAAC+nB,GAAkB,CAAE9J,UAASO,WAAUrB,YAEjD,IAAK,gBACH,OAAOrd,EAAAC,EAAAC,cAACgoB,GAAkB,CAAE/J,UAASO,WAAUrB,YAEjD,IAAK,SACH,OAAOrd,EAAAC,EAAAC,cAACioB,GAADjb,OAAAqV,OAAY,CAAEpE,UAASO,WAAUrB,WAAjC,CAA4C2J,UAAS9Z,OAAA0D,EAAA,EAAA1D,CAAA,GAAM4K,GAAW6G,GAAO7G,WAEtF,IAAK,QACH,OAAO9X,EAAAC,EAAAC,cAACkoB,GAAU,CAAEjK,UAASO,WAAUrB,YAEzC,QACE,OAAOrd,EAAAC,EAAAC,cAAA,+EAQX,IAAM0L,EAAWvB,KAAKtK,MAAM6L,SAC5B,OAAOyc,YAAmBnb,OAAA0D,EAAA,EAAA1D,CAAA,GAAIH,EAAemY,IAActZ,oCAGpD,IAAAgT,EACqBvU,KAAKtK,MAAzBknB,EADDrI,EACCqI,OAAQ9I,EADTS,EACST,QAEhB,OAKEne,EAAAC,EAAAC,cAACooB,GAADpb,OAAAqV,OAAA,CAAgB0E,OAAQA,GAAY,CAAE9I,WAAtC,CAAiDvc,QAAS,CAACwjB,KAAMjH,EAAQjO,IAAI,eAAgB0F,MAAOuI,EAAQjO,IAAI,iBAAkB8W,UAAS9Z,OAAA0D,EAAA,EAAA1D,CAAA,GAAM4K,GAAW6G,GAAO7G,UAC9JzN,KAAKqd,kBA1EYxI,IAAMC,WA6FnBoJ,eAXS,SAAClhB,GACvB,IAAI4f,EAAS,SAGb,MAFoC,uBAAjC5f,EAAM2M,WAAW9D,IAAI,UAAkC+W,EAAS,UAC/B,WAAjC5f,EAAM2M,WAAW9D,IAAI,UAAsB+W,EAAS,UAChD,CACL9I,QAAS9W,EAAM2M,WACf0K,SAAUrX,EAAM4I,YAChBgX,WAIWsB,CAAiDd,8CCxHnDe,GAAkB,WAC3B,OAAO7Q,KAAUC,OAAO,CACpB3R,KAAM,UACNwiB,YAAa9J,GAAOZ,aACpB1Y,KAAM,GACNG,OAAQ,GACRO,cAAc,EACdL,uBAAuB,EACvBG,WAAW,EACX6iB,aAAc/J,GAAO5X,OAAO4hB,aAAa/S,OAAS,KAClDgT,YAAajK,GAAO5X,OAAO4hB,aAAavD,MAAQ,KAChDhf,KAAMuY,GAAO5X,OAAOX,MAAQ,KAC5Bqf,WAAY9G,GAAO5X,OAAO0e,YAAc,KACxCU,YAAaxH,GAAO5X,OAAOof,aAAe,OAOnC,SAAS0C,KAAuD,IAA5CzN,EAA4C9Q,UAAAzC,OAAA,QAAAwT,IAAA/Q,UAAA,GAAAA,UAAA,GAAlCke,KAAmBlN,EAAehR,UAAAzC,OAAA,QAAAwT,IAAA/Q,UAAA,GAAAA,UAAA,GAAN,KAC7DnK,EAAqHmb,EAArHnb,KAAM8F,EAA+GqV,EAA/GrV,KAAMT,EAAyG8V,EAAzG9V,OAAQH,EAAiGiW,EAAjGjW,KAAMU,EAA2FuV,EAA3FvV,aAAcnE,EAA6E0Z,EAA7E1Z,QAASwE,EAAoEkV,EAApElV,KAAMqf,EAA8DnK,EAA9DmK,WAAYU,EAAkD7K,EAAlD6K,YAAatgB,EAAqCyV,EAArCzV,UAAWH,EAA0B4V,EAA1B5V,sBAEnG,OAAOvF,GACH,KAAKmF,EACD,OAAO8V,EAAQQ,MAAM,CACjB7V,iBAIR,KAAKT,EACD,OAAO8V,EAAQQ,MAAM,CACjBlW,wBACAK,cAAc,IAGtB,KAAKT,EACD,OAAO8V,EAAQQ,MAAM,CACjB/V,cAGR,KAAKP,EACD,OAAO8V,EAAQQ,MAAM,CACjB7V,cAAc,EACdL,uBAAuB,EACvBF,OAAQ,GACRH,KAAM,GACNY,SAGR,KAAKX,EACD,OAAO8V,EAAQQ,MAAM,CACjBpW,OAAQ4D,MAAMC,QAAQ7D,GAAUA,EAAS,CAACA,KAGlD,KAAKF,EACD,OAAO8V,EAAQQ,MAAM,CACjBvW,KAAM+D,MAAMC,QAAQhE,GAAQA,EAAO,CAACA,KAG5C,KAAKC,EACD,OAAO8V,EAAQQ,MAAM,CACjBha,YAGR,KAAK0D,EACD,OAAO8V,EAAQQ,MAAM,CACjBxV,SAGR,KAAKd,EACD,OAAO8V,EAAQQ,MAAM,CACjB6J,eAGR,KAAKngB,EACD,OAAO8V,EAAQQ,MAAM,CACjBuK,gBAGR,KAAK7gB,EACD,OAAO8V,EAAQQ,MAAM,CACjBpW,OAAQ4D,MAAMC,QAAQ7D,GAAUA,EAAS,CAACA,GAC1CO,cAAc,IAMtB,KAAKT,EACL,KAAKA,EACL,KAAKA,GACL,KAAKA,GACL,KAAKA,GACL,KAAKA,GACL,KAAKA,GACD,OAAO8V,EAAQQ,MAAM,CACjB7V,cAAc,IAGtB,QACI,OAAOqV,mHCrGU,OAAOuD,GAAOpB,2CAGf,OAAOsL,YAGtBC,GAAa,oBAAAA,IAAA5b,OAAAgN,EAAA,EAAAhN,CAAA7C,KAAAye,GAAA,OAAA5b,OAAAiN,EAAA,EAAAjN,CAAA4b,EAAA,OAAAtkB,IAAA,cAAA0L,IAAA,WAEG,OAAOyO,GAAOjH,iBAFjB,CAAAlT,IAAA,aAAA0L,IAAA,WAKE,OAAO6Y,SALTD,EAAA,GCGpBtI,GAAS7W,SAASqf,cAAc,SAChClO,GCRS,SAAC/a,GAEZ,IAAMkpB,EAAmB,WAErB,MAAO,CAAEjV,WAD2B8U,GAA5B9U,WACa/D,YADe6Y,GAAhB7Y,cAmBlB6K,EAAQC,YATM,SAAC1T,EAAOiU,G7BsBJ,IAAA4N,E6BhBpB,MALmB,gBAAhB5N,EAAOnb,OACHmb,EAAOjc,S7BoBM6pB,E6BpBe5N,EAAOjc,O7BqB9C0H,GAAOoiB,aAAaD,I6BpBZ7hB,EAAQ4hB,KAPLG,YAAgB,CAAEpV,WAAYqV,GAASrV,WAAY/D,YAAaoZ,GAASpZ,aAUzEqZ,CAAcjiB,EAAOiU,IAGO2N,IAAoBM,YAAgBC,KAAOC,OAElF,OADA/pB,OAAOob,MAAQA,EACRA,EDhBG4O,GAEdC,iBACI3pB,EAAAC,EAAAC,cAAC0pB,EAAA,EAAD,CAAU9O,MAAOA,IACb9a,EAAAC,EAAAC,cAAC2pB,GAAD,OAEFrJ,iPErBNnhB,EAAAC,QAAA","file":"static/js/main.a2186644.chunk.js","sourcesContent":["module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAAyCAMAAADsvyBXAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAMAUExURQAAABpjpCBmpSRppiVqqCptqS5wqjJyrDh2rjh4rzl3sDx5sEJ+s0aAtEuDtk2FuFOKuliNvFuQvWGSvmSVwGaYwmyaxHGexXSgxnahyHymyn+oy708GrlDJ7NSPsM/GshFG8xJHNBOHNVSHdpXHshOJ9RdLdlYIOBbH+NhH/R9H+NhIOFmKOpmIO5rIe9qOfJvIfFlMPFnNPBpNvBuPfR0IPF0KfR7IMpgQMtyW9hxSsF/ceJzQPB2SfF6TfWFHvaLHveSHviQHvWBIfOCKPWJIvSNL/OGNvODOPOIMfaVJPSSKvaaLfiXJ/iXKPiaLfSUMvWWPPWaNPWaP/icNvmfPfWgPN6Ocu2OW/GCWPSSQPSVS/WdRvOTVPSdUfOYWOOLY/OSbfObefaiRvakS/ihRfmiSPetV/WtWvimVPioVfiqW/WmYvSha/isYvKhc/WvdPSoefazZPaza/qwZ/mxbPq0bvWxffe5dvu1dPu4evu6frOJgrqsq7KztbW2uLq6vIOqzIqv0I6y0ZG00pa41Zq61p692KC+2L2+wKXB2qzG3b/AwrDJ37TL4LjP4rzS5OemjOWsmu+ykvShgfKqj/Wukvi9gvi/hfi/jPa6kPe6ove/qffAj/jAg/jBjfnJj/jFlvjJkvjKmvrLnvjNnvnQn+3CserJv/bAq/bBrPfOqfjIovnNovnOpfnOqPPNufnPv/nRpPnQq/nTuPnbtfvZuPnavvreu/rcvcLDxcXGyMnGyMnKzM7O0NLS1NXW2NfY2dra3MLV5sPW6MTY58XY6Mzd6+HSz/fWw/nSwvrcwfrazfrixPvhyPvmy/vlzfzkzfvk1Pzr2/3w3vzu4f3x4/716v727f758f759f789//8+f7+/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABL2UQEAAAEAdFJOU////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wBT9wclAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAGXRFWHRTb2Z0d2FyZQBwYWludC5uZXQgNC4wLjE51NayZAAABkdJREFUaEPdl4l7E0UUwN00IUDSJC01pcGLQwU8V454YZquVUlFsQKKKIoUqdSTWm+xhdKWBmpUpN5KETwBRVFBS0sLqdKCCFqtdv+W8b2Zt9ltsktjvy81n7+vzb73Jjv5ZXZmd3IWy3L+x4Jv0DHDjFxwXh8FmWXEgn3yNooyy4gFt8lLKcosIxZcKs+iKLOMWHCWLH9KYUZJEjyxZ/v2j76l5Ey8K8vyCoozyhDB3TXPvQA8X9NKBWtWgOBsijOKUbC6pqbqYaDqqacf20k1K2aDoHyMkkyiCx5fU/XQKo01Ve9T2ZyvZPkqWd5KWSbRBStWLV60CP4Ei1e1Ud2UrfINffBPWXc3BRkgIVi5aMFtkfK1H+7b11ZdvqAscns5NZgy70F4eecKkQQkaYOIMoAmuD8SDt+6a0Dl/FFdEglHVlOTGZ/x12PiRjMqgpXhcHhlf3/b6iVLKr9X/64Ih0si1DQsoyIYKQHKy0pArCTyi7oLDiVnnIUGRkPweGkxEikuLltYXr5TPY7ZWtE2LKMhuI/7lT27/7eBwcFBVT2J6UrRNiyjIbgDfEor+tWBA21vtrb2CsE7RRvSXZTrcDhz/U2UM5bv9fTgMRoI5EqSNwDEeQMScDtycpz+GKVAj9frgUPU7x7rCfATWZ7XA2/oDnjGuv0tvMJYLOB1OhyuPP0Lk+AeuMSlp9UTC1G0eId6MgTBvaIN8Ega9kIqOSWJf34hNQCa/UTKJclHFfCAjEXhJI4fSw5JivZoPaM9i7spA/KxAJDggVAodIeqVitwDCmn1V/xUCnaWCwHz3C6nOIoitaCPkoRlygJwbOxYuMveCoI+nmPHBizFt5mt4viGHEiCbJSJXTTX+pepTQUKt2jcsHQB9Q2Bs4SY94z0SY18yghyGLdBZJUGAN4ysdvbCM25EPERwZAQfhyGyGMjrdtwRIISlLOJLjeMZ9UBwUYTSeeCG/xQpObh5rgckUJvQeLY/tbu38f+Fw9FVIUhZrWJ74NEK+nICGYtEh6oGvtym6AuEGEXFCrixNRkC4Hi/JXn5YyNgka+cTUBL8GIeWR3j8HB/v33rP81AHIllMTfBv84klYCcIld1DIrzZ9JgrqH89BQbFczID+A3jUBNmyIDgFlfnz4UWZOROS76jFJUkmmwErQZgPeLkEMXAQ70JBGkwNECyg0IQJtE4SgiduDAaDCvzjCx6foAacGkldIxaCeIUpRGC+C10U5IEOCJr0q5EiyL5AuQQzl1GZf37SxUEsBJuNE5aPvph45oJ8sZiTKsieITfOzVQEcFDs/uYjlBIWgrAuXPEjGkdBUCxGc0GxNkyB6ZssyO6fkyDYSzUEFyNis4/zaYvYShDiJMStMD3BJg8UE6QIslvmBMEN/96miqDFw2+hHDvdjtMW/BcjCM9MI6mC39D4zbmPCjotDXWFPhf3FM9Na8Hc5iGItx+FE3mgkyII80HK2xgVwFMvVZA9KvzmUppKI/SayyMLwXrjA9hAGiOIM0nbNMBWwlSQzb0SeZIyE16BqcgDC8Go6ZJPSxDGzHBftBB8/HKEElPgRsxv/xaCLFWEk4Yg5Ppuzkrw58uAuykxBcSSBeG5qQuOMyY6acxBuKnTRgQxu80gl86YccnrFGsYPzAOGxAeGARh3ulPtzrjs5jFNYU0RhB65E9fAbSaCl4/ffr0Lykm3Iap0QO98POMgi1D5p3dsAuM2o27GRElSBaEXZudQnHHMRV8YNq0iykk4Jkj5RQ0gE28MR/uM9SJQRCd7J4JfrGlgIed5JiE2/8tuHWl4UxDEN/iqMNOWvzQo4Xgq1OnXkShhr7fRxykZRSEy4rQFBcPHpvYF2uDCVNjOEGtG47N6hJ/PGXKtRQmaNZ/Ktj4rwnEKMiKeKO2BmN4x+U41lMpnRFkrAFKAlfMYhUzNnnyXRQZaSzK9/nyigwdRpsMSw5TYx4L5LldXr/x8+GZQpFG89AeOE0F7vEuXxF89Wh9Pd/rpAheeMFrFGUHKYJXn/8JRdlBiuA15/xEUXZgEOzq7DjU3n7duT+2H2rv6Oyi6n9NQhD02n/YXPvyi+etW1e7+WD7oY7sUNRHsKsDDA9uqn2pdtPB7PFLmoNdXYc7gcPZcn2BlEWSXTD2D0nE4IxbeJf0AAAAAElFTkSuQmCC\"","module.exports = __webpack_public_path__ + \"static/media/siterraBg1.cf2421cb.jpg\";","module.exports = __webpack_public_path__ + \"static/media/siterraBg2.0dd5810e.jpg\";","module.exports = __webpack_public_path__ + \"static/media/siterraBg3.a95d0fde.jpg\";","module.exports = __webpack_public_path__ + \"static/media/siterraBg4.2693ca07.jpg\";","module.exports = __webpack_public_path__ + \"static/media/kevin-fitzgerald-479720.1202e3e1.jpg\";","module.exports = __webpack_public_path__ + \"static/media/landscape.ec137665.jpg\";","module.exports = __webpack_public_path__ + \"static/media/landscape2.64ca4e53.jpg\";","module.exports = __webpack_public_path__ + \"static/media/landscape3.90be3a3c.jpg\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAAyCAMAAADsvyBXAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAMAUExURQAAABpjpCBmpSRppiVqqCptqS5wqjJyrDh2rjh4rzl3sDx5sEJ+s0aAtEuDtk2FuFOKuliNvFuQvWGSvmSVwGaYwmyaxHGexXSgxnahyHymyn+oy708GrlDJ7NSPsM/GshFG8xJHNBOHNVSHdpXHshOJ9RdLdlYIOBbH+NhH/R9H+NhIOFmKOpmIO5rIe9qOfJvIfFlMPFnNPBpNvBuPfR0IPF0KfR7IMpgQMtyW9hxSsF/ceJzQPB2SfF6TfWFHvaLHveSHviQHvWBIfOCKPWJIvSNL/OGNvODOPOIMfaVJPSSKvaaLfiXJ/iXKPiaLfSUMvWWPPWaNPWaP/icNvmfPfWgPN6Ocu2OW/GCWPSSQPSVS/WdRvOTVPSdUfOYWOOLY/OSbfObefaiRvakS/ihRfmiSPetV/WtWvimVPioVfiqW/WmYvSha/isYvKhc/WvdPSoefazZPaza/qwZ/mxbPq0bvWxffe5dvu1dPu4evu6frOJgrqsq7KztbW2uLq6vIOqzIqv0I6y0ZG00pa41Zq61p692KC+2L2+wKXB2qzG3b/AwrDJ37TL4LjP4rzS5OemjOWsmu+ykvShgfKqj/Wukvi9gvi/hfi/jPa6kPe6ove/qffAj/jAg/jBjfnJj/jFlvjJkvjKmvrLnvjNnvnQn+3CserJv/bAq/bBrPfOqfjIovnNovnOpfnOqPPNufnPv/nRpPnQq/nTuPnbtfvZuPnavvreu/rcvcLDxcXGyMnGyMnKzM7O0NLS1NXW2NfY2dra3MLV5sPW6MTY58XY6Mzd6+HSz/fWw/nSwvrcwfrazfrixPvhyPvmy/vlzfzkzfvk1Pzr2/3w3vzu4f3x4/716v727f758f759f789//8+f7+/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABL2UQEAAAEAdFJOU////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wBT9wclAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAGXRFWHRTb2Z0d2FyZQBwYWludC5uZXQgNC4wLjE51NayZAAABkdJREFUaEPdl4l7E0UUwN00IUDSJC01pcGLQwU8V454YZquVUlFsQKKKIoUqdSTWm+xhdKWBmpUpN5KETwBRVFBS0sLqdKCCFqtdv+W8b2Zt9ltsktjvy81n7+vzb73Jjv5ZXZmd3IWy3L+x4Jv0DHDjFxwXh8FmWXEgn3yNooyy4gFt8lLKcosIxZcKs+iKLOMWHCWLH9KYUZJEjyxZ/v2j76l5Ey8K8vyCoozyhDB3TXPvQA8X9NKBWtWgOBsijOKUbC6pqbqYaDqqacf20k1K2aDoHyMkkyiCx5fU/XQKo01Ve9T2ZyvZPkqWd5KWSbRBStWLV60CP4Ei1e1Ud2UrfINffBPWXc3BRkgIVi5aMFtkfK1H+7b11ZdvqAscns5NZgy70F4eecKkQQkaYOIMoAmuD8SDt+6a0Dl/FFdEglHVlOTGZ/x12PiRjMqgpXhcHhlf3/b6iVLKr9X/64Ih0si1DQsoyIYKQHKy0pArCTyi7oLDiVnnIUGRkPweGkxEikuLltYXr5TPY7ZWtE2LKMhuI/7lT27/7eBwcFBVT2J6UrRNiyjIbgDfEor+tWBA21vtrb2CsE7RRvSXZTrcDhz/U2UM5bv9fTgMRoI5EqSNwDEeQMScDtycpz+GKVAj9frgUPU7x7rCfATWZ7XA2/oDnjGuv0tvMJYLOB1OhyuPP0Lk+AeuMSlp9UTC1G0eId6MgTBvaIN8Ega9kIqOSWJf34hNQCa/UTKJclHFfCAjEXhJI4fSw5JivZoPaM9i7spA/KxAJDggVAodIeqVitwDCmn1V/xUCnaWCwHz3C6nOIoitaCPkoRlygJwbOxYuMveCoI+nmPHBizFt5mt4viGHEiCbJSJXTTX+pepTQUKt2jcsHQB9Q2Bs4SY94z0SY18yghyGLdBZJUGAN4ysdvbCM25EPERwZAQfhyGyGMjrdtwRIISlLOJLjeMZ9UBwUYTSeeCG/xQpObh5rgckUJvQeLY/tbu38f+Fw9FVIUhZrWJ74NEK+nICGYtEh6oGvtym6AuEGEXFCrixNRkC4Hi/JXn5YyNgka+cTUBL8GIeWR3j8HB/v33rP81AHIllMTfBv84klYCcIld1DIrzZ9JgrqH89BQbFczID+A3jUBNmyIDgFlfnz4UWZOROS76jFJUkmmwErQZgPeLkEMXAQ70JBGkwNECyg0IQJtE4SgiduDAaDCvzjCx6foAacGkldIxaCeIUpRGC+C10U5IEOCJr0q5EiyL5AuQQzl1GZf37SxUEsBJuNE5aPvph45oJ8sZiTKsieITfOzVQEcFDs/uYjlBIWgrAuXPEjGkdBUCxGc0GxNkyB6ZssyO6fkyDYSzUEFyNis4/zaYvYShDiJMStMD3BJg8UE6QIslvmBMEN/96miqDFw2+hHDvdjtMW/BcjCM9MI6mC39D4zbmPCjotDXWFPhf3FM9Na8Hc5iGItx+FE3mgkyII80HK2xgVwFMvVZA9KvzmUppKI/SayyMLwXrjA9hAGiOIM0nbNMBWwlSQzb0SeZIyE16BqcgDC8Go6ZJPSxDGzHBftBB8/HKEElPgRsxv/xaCLFWEk4Yg5Ppuzkrw58uAuykxBcSSBeG5qQuOMyY6acxBuKnTRgQxu80gl86YccnrFGsYPzAOGxAeGARh3ulPtzrjs5jFNYU0RhB65E9fAbSaCl4/ffr0Lykm3Iap0QO98POMgi1D5p3dsAuM2o27GRElSBaEXZudQnHHMRV8YNq0iykk4Jkj5RQ0gE28MR/uM9SJQRCd7J4JfrGlgIed5JiE2/8tuHWl4UxDEN/iqMNOWvzQo4Xgq1OnXkShhr7fRxykZRSEy4rQFBcPHpvYF2uDCVNjOEGtG47N6hJ/PGXKtRQmaNZ/Ktj4rwnEKMiKeKO2BmN4x+U41lMpnRFkrAFKAlfMYhUzNnnyXRQZaSzK9/nyigwdRpsMSw5TYx4L5LldXr/x8+GZQpFG89AeOE0F7vEuXxF89Wh9Pd/rpAheeMFrFGUHKYJXn/8JRdlBiuA15/xEUXZgEOzq7DjU3n7duT+2H2rv6Oyi6n9NQhD02n/YXPvyi+etW1e7+WD7oY7sUNRHsKsDDA9uqn2pdtPB7PFLmoNdXYc7gcPZcn2BlEWSXTD2D0nE4IxbeJf0AAAAAElFTkSuQmCC\"","// In production, we register a service worker to serve assets from local cache.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on the \"N+1\" visit to a page, since previously\r\n// cached resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model, read https://goo.gl/KwvDNy.\r\n// This link also includes instructions on opting out of this behavior.\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === 'localhost' ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === '[::1]' ||\r\n // 127.0.0.1/8 is considered localhost for IPv4.\r\n window.location.hostname.match(\r\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n )\r\n);\r\n\r\nexport default function register() {\r\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location);\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebookincubator/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Lets check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl);\r\n } else {\r\n // Is not local host. Just register service worker\r\n registerValidSW(swUrl);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW(swUrl) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the old content will have been purged and\r\n // the fresh content will have been added to the cache.\r\n // It's the perfect time to display a \"New content is\r\n // available; please refresh.\" message in your web app.\r\n console.log('New content is available; please refresh.');\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log('Content is cached for offline use.');\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch(error => {\r\n console.error('Error during service worker registration:', error);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker(swUrl) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl)\r\n .then(response => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n if (\r\n response.status === 404 ||\r\n response.headers.get('content-type').indexOf('javascript') === -1\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl);\r\n }\r\n })\r\n .catch(() => {\r\n console.log(\r\n 'No internet connection found. App is running in offline mode.'\r\n );\r\n });\r\n}\r\n\r\nexport function unregister() {\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister();\r\n });\r\n }\r\n}\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nconst Button = props => {\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n};\r\n\r\nButton.propTypes = {\r\n className: PropTypes.string,\r\n onClick: PropTypes.func,\r\n disabled: PropTypes.bool.isRequired,\r\n type: PropTypes.string.isRequired,\r\n name: PropTypes.string,\r\n};\r\n\r\nexport default Button;\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nconst IconSpan = props => {\r\n let iClass = props.iconClass;\r\n if(props.className) iClass += ` ${props.className}`;\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n};\r\n\r\nIconSpan.propTypes = {\r\n id: PropTypes.string,\r\n iconClass: PropTypes.string.isRequired,\r\n className: PropTypes.string,\r\n onClick: PropTypes.func\r\n};\r\n\r\nexport default IconSpan;","import React from \"react\";\r\nimport PropTypes from 'prop-types';\r\n\r\nconst TextBox = props => {\r\n return (\r\n \r\n );\r\n};\r\n\r\nTextBox.propTypes = {\r\n id: PropTypes.string,\r\n disabled: PropTypes.bool,\r\n placeholder: PropTypes.string,\r\n defaultValue: PropTypes.string,\r\n value: PropTypes.string,\r\n maxLength: PropTypes.number,\r\n onBlur: PropTypes.func,\r\n onChange: PropTypes.func,\r\n onFocus: PropTypes.func,\r\n onInput: PropTypes.func,\r\n className: PropTypes.string,\r\n required: PropTypes.bool,\r\n name: PropTypes.string\r\n};\r\n\r\nexport default TextBox;","import React from \"react\";\r\nimport PropTypes from 'prop-types';\r\n\r\nimport IconSpan from \"../IconSpan\";\r\nimport TextBox from \"./TextBox\";\r\n\r\nconst TextBoxWithIcon = props => {\r\n return (\r\n
\r\n \r\n \r\n
\r\n )\r\n};\r\n\r\nTextBoxWithIcon.propTypes = {\r\n iconClass: PropTypes.string.isRequired\r\n}\r\n\r\nexport default TextBoxWithIcon;\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nimport IconSpan from \"../Components/IconSpan\";\r\n\r\nconst ErrorMessage = props => (\r\n
\r\n \r\n {props.message}\r\n
\r\n);\r\n\r\nErrorMessage.propTypes = {\r\n message: PropTypes.string.isRequired\r\n}\r\n\r\nexport default ErrorMessage;\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nimport IconSpan from \"../Components/IconSpan\";\r\n\r\nconst InfoMessage = props => (\r\n
\r\n \r\n {props.message}\r\n
\r\n);\r\n\r\nInfoMessage.propTypes = {\r\n message: PropTypes.string.isRequired\r\n}\r\n\r\nexport default InfoMessage;","\r\n// TODO: Have this only contain appConstants?\r\nexport const SET_FORGOT_PASSWORD_PAGE = 'SET_FORGOT_PASSWORD_PAGE';\r\nexport const SET_LOGIN_PAGE = 'SET_LOGIN_PAGE';\r\nexport const SET_LOCKED_ACCOUNT_PAGE = 'SET_LOCKED_ACCOUNT_PAGE';\r\n\r\nexport const SET_MESSAGE = 'SET_MESSAGE';\r\nexport const SET_LOGO = 'SET_LOGO';\r\nexport const SET_BACKGROUND = 'SET_BACKGROUND';\r\nexport const SET_BG_CYCLE_TIME = 'SET_BG_CYCLE_TIME';\r\nexport const SET_TOGGLES = 'SET_TOGGLES';\r\n\r\nexport const INFO = 'INFO';\r\nexport const ERROR = 'ERROR';\r\n\r\nexport const FORM_FAILURE = 'FORM_FAILURE';\r\n\r\nexport const CHANGE_PAGE = 'CHANGE_PAGE';\r\n\r\nexport const SET_SHOW_HINTS = 'SET_SHOW_HINTS';\r\nexport const SET_IS_PROCESSING = 'SET_IS_PROCESSING';\r\nexport const SET_IS_LOADING_INITIAL_STATE = 'SET_IS_LOADING_INITIAL_STATE';\r\n\r\nexport const START_PROCESSING = 'START_PROCESSING';\r\nexport const STOP_PROCESSING = 'STOP_PROCESSING';\r\n\r\nexport const SUBMIT_DOMAIN_FORM = 'SUBMIT_DOMAIN_FORM';\r\nexport const SUBMIT_DOMAIN_FORM_SUCCESS = 'SUBMIT_DOMAIN_FORM_SUCCESS';\r\nexport const SUBMIT_DOMAIN_FORM_FAILURE = 'SUBMIT_DOMAIN_FORM_FAILURE';\r\n\r\nexport const SUBMIT_LOGIN_FORM = \"SUBMIT_LOGIN_FORM\";\r\nexport const SUBMIT_LOGIN_FORM_FAILURE = \"SUBMIT_LOGIN_FORM_FAILURE\";\r\nexport const SUBMIT_LOGIN_SUCCESS_EXPIRED_PASSWORD = \"SUBMIT_LOGIN_SUCCESS_EXPIRED_PASSWORD\";\r\nexport const SUBMIT_LOGIN_SUCCESS_EXPIRED_OR_LOCKED_ACCOUNT = \"SUBMIT_LOGIN_SUCCESS_EXPIRED_OR_LOCKED_ACCOUNT\";\r\nexport const SUBMIT_LOGIN_FORM_SUCCESS = \"SUBMIT_LOGIN_FORM_SUCCESS\";\r\n\r\nexport const SUBMIT_RESET_PASSWORD_FORM = \"SUBMIT_RESET_PASSWORD_FORM\";\r\nexport const SUBMIT_RESET_PASSWORD_FORM_FAILURE = \"SUBMIT_RESET_PASSWORD_FORM_FAILURE\";\r\nexport const SUBMIT_RESET_PASSWORD_FORM_SUCCESS = \"SUBMIT_RESET_PASSWORD_FORM_SUCESS\";\r\n\r\nexport const SUBMIT_LOCKED_ACCOUNT_FORM = \"SUBMIT_LOCKED_ACCOUNT_FORM\";\r\nexport const SUBMIT_LOCKED_ACCOUNT_FORM_FAILURE = \"SUBMIT_LOCKED_ACCOUNT_FORM_FAILURE\";\r\nexport const SUBMIT_LOCKED_ACCOUNT_FORM_SUCCESS = \"SUBMIT_LOCKED_ACCOUNT_FORM_SUCESS\";\r\n\r\nexport const SUBMIT_FORGOT_PASSWORD_FORM = \"SUBMIT_FORGOT_PASSWORD_FORM\";\r\nexport const SUBMIT_FORGOT_PASSWORD_FORM_FAILURE = \"SUBMIT_FORGOT_PASSWORD_FORM_FAILURE\";\r\nexport const SUBMIT_FORGOT_PASSWORD_FORM_SUCCESS = \"SUBMIT_FORGOT_PASSWORD_FORM_SUCCESS\";\r\n\r\nexport const SUBMIT_FORGOT_PASSWORD_STEP_2_FORM = \"SUBMIT_FORGOT_PASSWORD_STEP_2_FORM\";\r\nexport const SUBMIT_FORGOT_PASSWORD_STEP_2_FORM_FAILURE = \"SUBMIT_FORGOT_PASSWORD_STEP_2_FORM_FAILURE\";\r\nexport const SUBMIT_FORGOT_PASSWORD_STEP_2_FORM_SUCCESS = \"SUBMIT_FORGOT_PASSWORD_STEP_2_FORM_SUCCESS\";\r\n\r\nexport const SUBMIT_ACCOUNT_APPLICATION_FORM = \"SUBMIT_ACCOUNT_APPLICATION_FORM\";\r\nexport const SUBMIT_ACCOUNT_APPLICATION_FORM_FAILURE = \"SUBMIT_ACCOUNT_APPLICATION_FORM_FAILURE\";\r\nexport const SUBMIT_ACCOUNT_APPLICATION_FORM_SUCCESS = \"SUBMIT_ACCOUNT_APPLICATION_FORM_SUCCESS\";\r\n\r\nexport const RECEIVE_SESSION = 'RECEIVE_SESSION';\r\n\r\nexport const environmentLevelLists = [\r\n {\r\n key : \"qaint2\",\r\n value : \"QA\"\r\n },\r\n {\r\n key : \"uat3\",\r\n value : \"UAT\"\r\n },\r\n {\r\n key : \"uat4\",\r\n value : \"UAT\"\r\n },\r\n {\r\n key : \"uat2\",\r\n value : \"UAT\"\r\n },\r\n {\r\n key : \"uat\",\r\n value : \"UAT\"\r\n },\r\n {\r\n key : \"loattest\",\r\n value : \"QA\"\r\n },\r\n {\r\n key : \"prod\",\r\n value : \"PROD\"\r\n },\r\n {\r\n key : \"ps-dev\",\r\n value : \"PS DEV\"\r\n },\r\n {\r\n key : \"ps-ext\",\r\n value : \"PS EXT\"\r\n },\r\n {\r\n key : \"stage\",\r\n value : \"STAGE\"\r\n },\r\n {\r\n key : \"qaana1\",\r\n value : \"QA\"\r\n },\r\n {\r\n key : \"qaana2\",\r\n value : \"QA\"\r\n },\r\n {\r\n key : \"atcqa\",\r\n value : \"QA\"\r\n },\r\n {\r\n key : \"atcqa2\",\r\n value : \"QA\"\r\n },\r\n {\r\n key : \"12cauto1\",\r\n value : \"QA\"\r\n },\r\n {\r\n key : \"12cauto2\",\r\n value : \"QA\"\r\n },\r\n {\r\n key : \"12cauto3\",\r\n value : \"QA\"\r\n },\r\n {\r\n key : \"qaauto1\",\r\n value : \"QA\"\r\n },\r\n {\r\n key : \"qaauto1\",\r\n value : \"QA\"\r\n },\r\n {\r\n key : \"qaauto1\",\r\n value : \"QA\"\r\n },\r\n {\r\n key : \"loadtest19\",\r\n value : \"qa\"\r\n },\r\n {\r\n key : \"qa\",\r\n value : \"QA\"\r\n },\r\n {\r\n key : \"dev\",\r\n value : \"DEV\"\r\n }\r\n ]","import request from 'axios';\r\n\r\nimport { tokenUrl } from \"../package.json\";\r\n\r\nconst BASE_URL = tokenUrl || 'apis/sit/admin/v1/tokens/getUISession';\r\n\r\nexport default {\r\n /**\r\n * Retrieve list of entities from server using AJAX call.\r\n *\r\n * @returns {Promise} - Result of ajax call.\r\n */\r\n getEntity(url) {\r\n return request({\r\n method: 'GET',\r\n url: url,\r\n responseType: 'json'\r\n });\r\n },\r\n\r\n postEntity(uri, data) {\r\n return request({\r\n method: 'POST',\r\n url: uri,\r\n responseType: 'json',\r\n data: data\r\n });\r\n },\r\n\r\n patchEntity(url, data) {\r\n return request({\r\n method: 'PATCH',\r\n responseType: 'json',\r\n url,\r\n data\r\n });\r\n },\r\n}","import * as actionTypes from \"../constants/constants\";\r\n\r\nexport const setInfo = info => {\r\n return {\r\n type: actionTypes.INFO,\r\n info\r\n }\r\n}\r\n\r\nexport const setErrors = errors => {\r\n return {\r\n type: actionTypes.ERROR,\r\n errors\r\n } \r\n}\r\n\r\nexport const setIsLoadingInitialState = isLoadingInitialState => {\r\n return {\r\n type: actionTypes.SET_IS_LOADING_INITIAL_STATE,\r\n isLoadingInitialState\r\n }\r\n}\r\n\r\nexport const formFailure = errors => {\r\n return {\r\n type: actionTypes.FORM_FAILURE,\r\n errors\r\n }\r\n}\r\n\r\nexport const setHintsFlag = showHints => {\r\n return {\r\n type: actionTypes.SET_SHOW_HINTS,\r\n showHints\r\n }\r\n}\r\n\r\nexport const setIsProcessing = isProcessing => {\r\n return {\r\n type: actionTypes.SET_IS_PROCESSING,\r\n isProcessing\r\n }\r\n}\r\n\r\nexport const changePage = page => {\r\n return {\r\n type: actionTypes.CHANGE_PAGE,\r\n page\r\n }\r\n}\r\n\r\nexport const setMessage = message => {\r\n return {\r\n type: actionTypes.SET_MESSAGE,\r\n message\r\n }\r\n}\r\n\r\nexport const setLogo = logo => {\r\n return {\r\n type: actionTypes.SET_LOGO,\r\n logo\r\n }\r\n}\r\n","\r\nexport const SET_IS_PROCESSING = 'SET_IS_PROCESSING';\r\nexport const CHANGE_PAGE = 'CHANGE_PAGE';\r\n\r\nexport const SUBMIT_DOMAIN_FORM = 'SUBMIT_DOMAIN_FORM';\r\nexport const REQUEST_DOMAIN_SUCCESS = 'REQUEST_DOMAIN_SUCCESS';\r\nexport const SUBMIT_DOMAIN_FORM_FAILURE = 'SUBMIT_DOMAIN_FORM_FAILURE';\r\n\r\nexport const SUBMIT_LOGIN_SUCCESS_EXPIRED_OR_LOCKED_ACCOUNT = 'SUBMIT_LOGIN_SUCCESS_EXPIRED_OR_LOCKED_ACCOUNT';\r\nexport const SUBMIT_LOGIN_SUCCESS_EXPIRED_PASSWORD ='SUBMIT_LOGIN_SUCCESS_EXPIRED_PASSWORD';\r\n\r\nexport const SUBMIT_LOGIN_FORM = 'SUBMIT_LOGIN_FORM';\r\nexport const SUBMIT_LOGIN_FORM_SUCCESS = 'SUBMIT_LOGIN_FORM_SUCCESS';\r\nexport const SUBMIT_LOGIN_FORM_FAILURE = 'SUBMIT_LOGIN_FORM_FAILURE';\r\n\r\nexport const SUBMIT_FORGOT_PASSWORD_FORM = 'SUBMIT_FORGOT_PASSWORD_FORM';\r\nexport const SUBMIT_FORGOT_PASSWORD_FORM_SUCCESS = 'SUBMIT_FORGOT_PASSWORD_FORM_SUCCESS';\r\n\r\nexport const SET_COUNTRY_OPTIONS = 'SET_COUNTRY_OPTIONS';\r\nexport const SET_STATE_OPTIONS = 'SET_STATE_OPTIONS';\r\nexport const SET_TOGGLES = 'SET_TOGGLES';\r\n\r\nexport const SET_SPLASH = 'SET_SPLASH';\r\nexport const SET_REDIRECT_URL = 'SET_REDIRECT_URL';\r\n\r\nexport const SET_DOMAIN_LOGO = 'SET_DOMAIN_LOGO';\r\n\r\nexport const SET_SSO_LOGIN = 'SET_SSO_LOGIN';\r\nexport const SET_JUMPTO_URL = 'SET_JUMPTO_URL';\r\n\r\nexport const SET_ERROR_FIELDS = 'SET_ERROR_FIELDS';\r\n","import * as actionTypes from '../../constants/constants';\r\nimport requestManager from '../../requestManager';\r\n\r\nimport * as appActions from '../../stores/appActions';\r\nimport * as siterraActionTypes from \"./constants\";\r\n\r\nimport config from './siterra.config';\r\nimport ToggleService from \"siterra_toggle_service\";\r\n\r\nconst BASE_URL = config.urls.base;\r\nconst TOGGLES_URL = config.urls.toggles;\r\n\r\nconst validateFields = (fieldList, state) => {\r\n return fieldList.filter(x => (!state[x] || state[x] === \"\"))\r\n .map(x => {\r\n let fieldName = x.split(\"_\").map(x => `${x.slice(0, 1).toUpperCase()}${x.slice(1, x.length).toLowerCase()}`).join(\" \");\r\n return `${fieldName} cannot be empty.`;\r\n })\r\n}\r\n\r\nconst validateFieldsBasic = (fieldList, state) => {\r\n return fieldList.filter(x => (!state[x] || state[x] === \"\"));\r\n}\r\n\r\n// Remove this function when removing the toggle for SP_47149\r\nconst validateEmailAddress_pvSP_47149 = (email) => {\r\n var emailRegex = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\r\n return emailRegex.test(email);\r\n}\r\n\r\nconst validateEmailAddress = (email) => {\r\n // Perform the most minimal email validation here, any further validation will be handled by the backend.\r\n // Email address must be of the form a@b:\r\n // * there must be at least one character before the @\r\n // * there must be at least one character after the @\r\n // * the character @ is required\r\n var emailRegex = /^.+\\@.+$/;\r\n return emailRegex.test(email);\r\n}\r\n\r\nconst camelize = str => {\r\n return str.replace(/(?:^\\w|[A-Z]|\\b\\w|\\s+)/g, function(match, index) {\r\n if (+match === 0) return \"\"; // or if (/\\s+/.test(match)) for white spaces\r\n return index == 0 ? match.toLowerCase() : match.toUpperCase();\r\n });\r\n}\r\n\r\nfunction setDomainLogo(imagePrefix) {\r\n const imagePath = `./Images/${imagePrefix}-logo.gif`;\r\n return {\r\n type: siterraActionTypes.SET_DOMAIN_LOGO,\r\n logo: imagePath\r\n }\r\n}\r\n\r\nfunction setCountryOptions(countryOptions) {\r\n return {\r\n type: siterraActionTypes.SET_COUNTRY_OPTIONS,\r\n countryOptions\r\n }\r\n}\r\n\r\nfunction setStateOptions(stateOptions) {\r\n return {\r\n type: siterraActionTypes.SET_STATE_OPTIONS,\r\n stateOptions\r\n }\r\n}\r\n\r\nfunction setSplash(splash) {\r\n return {\r\n type: siterraActionTypes.SET_SPLASH,\r\n splash\r\n }\r\n}\r\n\r\nfunction setRedirectUrl(redirectUrl) {\r\n return {\r\n type: siterraActionTypes.SET_REDIRECT_URL,\r\n redirectUrl\r\n }\r\n}\r\n\r\nfunction setSsoLogin(ssoBtnVisible, ssoAuthUrl, defaultSsoUrl) {\r\n return {\r\n type: siterraActionTypes.SET_SSO_LOGIN,\r\n ssoBtnVisible,\r\n ssoAuthUrl,\r\n defaultSsoUrl\r\n }\r\n}\r\n\r\nfunction setErrorFields(errorFields) {\r\n return {\r\n type: siterraActionTypes.SET_ERROR_FIELDS,\r\n errorFields\r\n }\r\n}\r\n\r\n\r\nfunction setToggles (toggle) {\r\n return {\r\n type: siterraActionTypes.SET_TOGGLES,\r\n toggle: toggle\r\n }\r\n}\r\n\r\n// Returns an array of string error messages.\r\n// TODO: Write some tests that test this function\r\nfunction getErrors(data) {\r\n // This is a generic Siterra error\r\n // and must be handled a differently\r\n if (data.code) {\r\n return data.errors;\r\n }\r\n // If no code property present\r\n // access the Errors property and map ErrorMessages.\r\n else {\r\n if (Array.isArray(data.Errors)) return data.Errors.map(x => x.ErrorMessage);\r\n if (typeof data.Errors === 'string') return [data.Errors];\r\n }\r\n}\r\n\r\nfunction getDomainFromUrl() {\r\n let url = window.location.host;\r\n let potentialDomain = url.split('.')[0];\r\n if (potentialDomain === 'www') return null;\r\n if (potentialDomain === 'localhost') return null; // For devs\r\n return potentialDomain;\r\n}\r\n\r\nfunction sendToOldLogin() {\r\n window.location.href = config.urls.oldLogin;\r\n}\r\n\r\nexport function getCookie(name) {\r\n let match = document.cookie.match(new RegExp(name + '=([^;]+)'));\r\n if (match) return match[1];\r\n return null;\r\n }\r\n\r\nexport function setCookie(cookieName, cookieValue) {\r\n document.cookie = `${cookieName}=${cookieValue}; Path=/`;\r\n}\r\n\r\nexport async function getDomainData(domainName) {\r\n const uri = `${BASE_URL}/domains?name=${encodeURIComponent(domainName)}`;\r\n try {\r\n let domainResponse = await requestManager.getEntity(uri);\r\n return {data: domainResponse.data};\r\n } catch(e) {\r\n return {error: e};\r\n }\r\n}\r\n\r\nconst featureToggleService = new ToggleService();\r\nasync function getToggles () {\r\n try {\r\n const toggles = await featureToggleService.getToggles();\r\n return toggles;\r\n\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n}\r\n\r\nfunction setJumpToUrl(jumpToUrl) {\r\n return {\r\n type: siterraActionTypes.SET_JUMPTO_URL,\r\n jumpToUrl\r\n }\r\n}\r\n\r\nexport function requestDomainDataSuccess(data) {\r\n return dispatch => {\r\n let { Name, DomainId, ImagePrefix, LoginUrlPrefix, IsSsoBtnVisible, AuthUrl, DefaultSsoLoginUrl } = data;\r\n // Set the loginURLNew cookie to the domain-specific URL\r\n if(LoginUrlPrefix) {\r\n let urlBits = window.location.hostname.split(\".\");\r\n let newUrl = `${LoginUrlPrefix}.${urlBits.slice(1).join(\".\")}`;\r\n setCookie(\"loginURLNew\", window.location.href.replace(window.location.hostname, newUrl));\r\n }\r\n\r\n // Successfully retrieved domain name - send to SSO login or set\r\n // ImagePrefix for retrieving domain-specific logo\r\n if (AuthUrl || DefaultSsoLoginUrl) {\r\n if(getCookie('deepLinkUrl')) {\r\n // If deepLinkUrl cookie is set, automatically redirect to SSO login\r\n return (window.location.href = AuthUrl);\r\n }\r\n else {\r\n // Store SSO login URL for redirecting after clicking SSO login button\r\n dispatch(setSsoLogin(IsSsoBtnVisible, AuthUrl, DefaultSsoLoginUrl));\r\n }\r\n }\r\n dispatch(requestDomainSuccess(Name, DomainId));\r\n if (ImagePrefix) dispatch(setDomainLogo(ImagePrefix));\r\n dispatch(appActions.changePage('login'));\r\n }\r\n}\r\n\r\nexport function domainPageLoad() {\r\n return async dispatch => {\r\n // Set initial application loading state and login URL cookie\r\n dispatch(appActions.setIsLoadingInitialState(true));\r\n setCookie(\"loginURLNew\", window.location.href);\r\n\r\n if(window.location.search.toLowerCase().search(\"jumpto\") > 0) {\r\n dispatch(setJumpToUrl(`/jump.htm${window.location.search}`));\r\n }\r\n\r\n const toggle = await getToggles();\r\n dispatch(setToggles(toggle));\r\n\r\n // Attempt to parse domain name from URL. If not present, send\r\n // to Domain login page\r\n let potentialDomain = getDomainFromUrl();\r\n if(!potentialDomain) return dispatch(appActions.changePage('domain'));\r\n\r\n let { data } = await getDomainData(potentialDomain);\r\n if(!data) return dispatch(appActions.changePage(\"domain\"));\r\n\r\n dispatch(requestDomainDataSuccess(data));\r\n }\r\n}\r\n\r\nexport function requestDomain(domainName) {\r\n return async dispatch => {\r\n if (!domainName || domainName === \"\") {\r\n return dispatch(appActions.formFailure([\"Domain cannot be empty.\"]));\r\n }\r\n\r\n let { data, error } = await getDomainData(domainName);\r\n if(data) {\r\n dispatch(requestDomainDataSuccess(data));\r\n } else {\r\n if(!error.response) return dispatch(appActions.formFailure(\"Unable to contact server.\"));\r\n if(error.response.status === 404) {\r\n dispatch(appActions.formFailure(\"Domain not found.\"));\r\n }\r\n else {\r\n dispatch(appActions.formFailure(getErrors(error.response.data)));\r\n }\r\n }\r\n }\r\n}\r\n\r\nfunction requestDomainSuccess(domain, domainId) {\r\n return {\r\n type: siterraActionTypes.REQUEST_DOMAIN_SUCCESS,\r\n domain,\r\n domainId,\r\n }\r\n}\r\n\r\nfunction submitDomainFormFailure() {\r\n return {\r\n type: actionTypes.SUBMIT_DOMAIN_FORM_FAILURE\r\n }\r\n}\r\n\r\nfunction getQueryParams() {\r\n let qParams = {};\r\n window.location.search.substring(1).split('&').forEach((pair) => {\r\n pair = pair.split('=');\r\n qParams[pair[0]] = decodeURIComponent(pair[1] || '');\r\n });\r\n return qParams;\r\n}\r\n\r\n// ------------------\r\n// Login Form actions\r\n// ------------------\r\nexport function submitLoginForm(data) {\r\n return async (dispatch, getState) => {\r\n // Toggle Removal SP-45939: Remove the following two lines and the\r\n // submitLoginForm_sp45939 method from the bottom of this file\r\n var toggle_sp45939 = getState().$$dataStore.get(\"toggle\").toJS()[\"SP_45939\"];\r\n if(!toggle_sp45939) return dispatch(submitLoginForm_sp45939(data));\r\n\r\n const qParams = getQueryParams();\r\n // If data.ssoLogin is true, the SSO button was clicked\r\n // In that case, send the user to the ssoAuthUrl\r\n if(data.ssoLogin && !qParams.apimLogin) {\r\n return (window.location.href = getState().$$dataStore.get('ssoAuthUrl'));\r\n }\r\n \r\n // Form validation\r\n let fieldsToValidate = [\"username\"];\r\n if(!getState().$$dataStore.get('domain')) fieldsToValidate = fieldsToValidate.concat([\"domain\"]);\r\n let errs = validateFields(fieldsToValidate, data);\r\n if (errs.length > 0) {\r\n return dispatch(appActions.formFailure(errs));\r\n }\r\n\r\n let uri = `${BASE_URL}/session`;\r\n let mappedData = {\r\n Username: data.username,\r\n Password: data.password,\r\n DomainName: getState().$$dataStore.get('domain') || data.domain\r\n };\r\n\r\n // APIM Login, change URL and add query params\r\n if(qParams.apimLogin && qParams.apimLogin === \"1\") {\r\n const { env, delegation, returnUrl, salt, sig } = qParams;\r\n\r\n uri = `${uri}/Apim`;\r\n mappedData = { ...mappedData, Environment: env, Delegation: delegation, ReturnUrl: returnUrl, Salt: salt, Signature: sig };\r\n }\r\n\r\n try {\r\n const res = await requestManager.postEntity(uri, mappedData);\r\n if (!res.data) return dispatch(appActions.formFailure('Error contacting server.'));\r\n\r\n dispatch(submitLoginFormSuccess());\r\n\r\n var { IsSplashNeeded, SplashContent, RedirectUrl, Token, IsMfa } = res.data;\r\n // If this user is marked for Mfa and validated successfully, redirect to start the Mfa flow\r\n if (IsMfa) {\r\n if (!RedirectUrl) {\r\n return dispatch(appActions.formFailure('Error contacting server.'));\r\n }\r\n return (window.location.href = RedirectUrl);\r\n }\r\n\r\n const jumpToUrl = getState().$$dataStore.get('jumpToUrl');\r\n setCookie(\"access_token\", Token);\r\n\r\n // If splash screen returned. Set splash screen content\r\n if (IsSplashNeeded && SplashContent) {\r\n dispatch(setRedirectUrl(jumpToUrl || RedirectUrl));\r\n dispatch(setSplash(SplashContent));\r\n dispatch(appActions.changePage('splash'));\r\n }\r\n // Otherwise, redirect.\r\n else {\r\n if(qParams.apimLogin) {\r\n var bits = RedirectUrl.split(\"token=\");\r\n if(bits.length > 1) {\r\n bits[1] = encodeURIComponent(bits[1]);\r\n }\r\n RedirectUrl = bits.join(\"token=\");\r\n }\r\n window.location.href = jumpToUrl || RedirectUrl;\r\n }\r\n }\r\n catch (err) {\r\n const error = err.response;\r\n if(!error || !error.data) return dispatch(appActions.formFailure('Error contacting servers.'));\r\n\r\n const { AccountStatus, AreHintsNeeded, Errors, Token } = error.data;\r\n\r\n // Expired Password or First Time User\r\n if (AccountStatus === 'EXPIRED_PASSWORD') {\r\n dispatch(appActions.setHintsFlag(AreHintsNeeded));\r\n\r\n dispatch(submitLoginSuccessWithExpiredPassword(data.username, Token));\r\n dispatch(appActions.changePage('resetPassword'));\r\n dispatch(appActions.setErrors(getErrors(error.data)));\r\n }\r\n\r\n // Expired or Locked Account\r\n else if (AccountStatus === 'EXPIRED_ACCOUNT' || AccountStatus === 'LOCKED') {\r\n dispatch(submitLoginSuccessWithExpiredOrLockedAccount(data.username));\r\n dispatch(appActions.changePage('lockedAccount'));\r\n dispatch(appActions.setErrors(getErrors(error.data)));\r\n }\r\n\r\n // SSO User\r\n else if (AccountStatus === 'SSO_ACCOUNT' && getState().$$dataStore.get('defaultSsoUrl')) {\r\n return (window.location.href = getState().$$dataStore.get('defaultSsoUrl'));\r\n }\r\n\r\n // General failure response\r\n else {\r\n dispatch(appActions.formFailure(getErrors(error.data)));\r\n }\r\n }\r\n }\r\n}\r\n\r\nfunction submitLoginFormSuccess() {\r\n return {\r\n type: actionTypes.SUBMIT_LOGIN_FORM_SUCCESS,\r\n }\r\n}\r\n\r\nfunction submitLoginSuccessWithExpiredPassword (username, token) {\r\n return {\r\n type: actionTypes.SUBMIT_LOGIN_SUCCESS_EXPIRED_PASSWORD,\r\n username,\r\n token\r\n }\r\n}\r\n\r\nfunction submitLoginSuccessWithExpiredOrLockedAccount (username) {\r\n return {\r\n type: actionTypes.SUBMIT_LOGIN_SUCCESS_EXPIRED_OR_LOCKED_ACCOUNT,\r\n username\r\n }\r\n}\r\n\r\n\r\n// -----------------------\r\n// Forgot Password actions\r\n// -----------------------\r\nexport function submitForgotPasswordForm(data) {\r\n return async (dispatch, getState) => {\r\n const url = `${BASE_URL}/forgotpassword`;\r\n const toggleValue = await featureToggleService.getToggle(\"SP_38706\");\r\n if (toggleValue) {\r\n let errs = validateFields(['lastName', 'email',], data);\r\n if (errs.filter(element => element.indexOf(\"Email\") >= 0).length == 0) {\r\n const sp47149ToggleValue = await featureToggleService.getToggle(\"SP_47149\");\r\n // When removing the toggle for SP_47149, keep everything inside this outer if, remove the outer else\r\n if (sp47149ToggleValue) {\r\n if (!validateEmailAddress(data.email)) {\r\n errs.push('Email address is not valid.');\r\n }\r\n } else {\r\n if (!validateEmailAddress_pvSP_47149(data.email)) errs.push('Email address is not valid.');\r\n }\r\n }\r\n if (errs.length > 0) {\r\n return dispatch(appActions.formFailure(errs));\r\n }\r\n } else {\r\n let errs = validateFields(['lastName', 'email',], data);\r\n if (errs.length > 0) {\r\n return dispatch(appActions.formFailure(errs));\r\n }\r\n }\r\n\r\n let mappedData = {\r\n DomainId: getState().$$dataStore.get('domainId'),\r\n LastName: data.lastName,\r\n EmailAddress: data.email,\r\n }\r\n\r\n try {\r\n const res = await requestManager.postEntity(url, mappedData);\r\n if (!res.data) return dispatch(appActions.formFailure('Error contacting server.'));\r\n\r\n const { SecurityQuestionText, SuccessMessage } = res.data;\r\n\r\n dispatch(submitForgotPasswordFormSuccess(data.lastName, data.email, SecurityQuestionText));\r\n dispatch(appActions.changePage(\"forgotPasswordStep2\"));\r\n dispatch(appActions.setInfo([SuccessMessage]));\r\n }\r\n catch(err) {\r\n let error = err.response;\r\n if (!error || !error.data) return dispatch(appActions.formFailure('Error contacting server.'));\r\n\r\n dispatch(appActions.formFailure(getErrors(err.response.data)));\r\n }\r\n }\r\n}\r\n\r\nfunction submitForgotPasswordFormSuccess(lastName, email, hintQuestion) {\r\n return {\r\n type: actionTypes.SUBMIT_FORGOT_PASSWORD_FORM_SUCCESS,\r\n lastName,\r\n email,\r\n hintQuestion\r\n }\r\n}\r\n\r\n// ----------------------\r\n// Forgot Password Step 2 actions\r\n// ----------------------\r\nexport function submitForgotPasswordStep2Form(data) {\r\n return async (dispatch, getState) => {\r\n const url = `${BASE_URL}/users/ResetPassword`;\r\n if(!data.hintAnswer || data.hintAnswer === \"\") return dispatch(appActions.formFailure(\"Hint Answer cannot be empty.\"));\r\n\r\n let mappedData = {\r\n DomainId: getState().$$dataStore.get('domainId'),\r\n LastName: getState().$$dataStore.get('lastName'),\r\n EmailAddress: getState().$$dataStore.get('email'),\r\n SecurityAnswer: data.hintAnswer,\r\n LoginUrl: window.location.href\r\n };\r\n\r\n try {\r\n const res = await requestManager.postEntity(url, mappedData);\r\n if (!res.data) return dispatch(appActions.formFailure('Error contacting server.'));\r\n\r\n dispatch(appActions.changePage('blank'));\r\n dispatch(appActions.setInfo(res.data.SuccessMessage));\r\n }\r\n catch(err) {\r\n const error = err.response;\r\n if (!error || !error.data) return dispatch(appActions.formFailure('Error contacting server.'));\r\n\r\n dispatch(appActions.formFailure(getErrors(error.data)));\r\n }\r\n }\r\n}\r\n\r\n// ----------------------\r\n// Locked Account actions\r\n// ----------------------\r\nexport function submitLockedAccountForm(data) {\r\n return async (dispatch, getState) => {\r\n const url = `${BASE_URL}/unlockrequest`;\r\n\r\n let fieldsToValidate = [];\r\n\r\n if (!getState().$$dataStore.get('username')) fieldsToValidate.push('username');\r\n\r\n let errs = validateFields(fieldsToValidate, data);\r\n if (errs.length > 0) {\r\n return dispatch(appActions.formFailure(errs));\r\n }\r\n\r\n let mappedData;\r\n\r\n data.password ?\r\n mappedData = {\r\n Username: getState().$$dataStore.get(\"username\") || data.username,\r\n DomainName: getState().$$dataStore.get('domain')\r\n } :\r\n mappedData = {\r\n Username: getState().$$dataStore.get('username') || data.username,\r\n DomainName: getState().$$dataStore.get('domain')\r\n }\r\n\r\n try {\r\n const res = await requestManager.postEntity(url, mappedData);\r\n if (!res.data) return dispatch(appActions.formFailure('Error contacting server.'));\r\n\r\n dispatch(appActions.changePage('blank'));\r\n dispatch(appActions.setInfo(res.data.SuccessMessage));\r\n }\r\n catch (err) {\r\n const error = err.response;\r\n if (!error || !error.data) return dispatch(appActions.formFailure('Error contacting server.'));\r\n\r\n if (!error.data.IsSuccess) return dispatch(appActions.formFailure(getErrors(error.data)));\r\n }\r\n }\r\n}\r\n\r\n\r\n// ----------------------\r\n// Reset Password actions\r\n// ----------------------\r\nexport function submitResetPasswordForm(data) {\r\n return async (dispatch, getState) => {\r\n const url = `${BASE_URL}/users/Security`;\r\n const hintsRequired = getState().$$appStore.get('showHints');\r\n\r\n let fieldsToValidate = ['password', 'confirmPassword'];\r\n // Add hint validations if necessary\r\n if (hintsRequired) fieldsToValidate.push('hintQuestion', 'hintAnswer');\r\n\r\n let errs = validateFields(fieldsToValidate, data);\r\n if (data.password !== data.confirmPassword) errs.push('Password and Confirm Password must match.');\r\n if (errs.length > 0) return dispatch(appActions.formFailure(errs));\r\n\r\n let mappedData = {\r\n UserName: getState().$$dataStore.get('username'),\r\n DomainId: getState().$$dataStore.get('domainId'),\r\n NewPassword1: data.password,\r\n NewPassword2: data.confirmPassword\r\n };\r\n\r\n if (hintsRequired) {\r\n mappedData.PasswordHintQuestion = data.hintQuestion;\r\n mappedData.PasswordHintAnswer = data.hintAnswer;\r\n }\r\n\r\n try {\r\n const res = await requestManager.patchEntity(url, mappedData);\r\n if (!res.data) return dispatch(appActions.formFailure('Error contacting server.'));\r\n\r\n if (res.data.IsSuccess) {\r\n dispatch(appActions.changePage('login'));\r\n dispatch(appActions.setInfo('Your password has been reset. Please login using your new credentials.'));\r\n }\r\n }\r\n catch (err) {\r\n const error = err.response;\r\n if (!error || !error.data) return dispatch(appActions.formFailure('Error contacting server.'));\r\n\r\n dispatch(appActions.formFailure(getErrors(error.data)));\r\n }\r\n }\r\n}\r\n\r\n\r\n// ----------------------\r\n// Account Application actions\r\n// ----------------------\r\nexport function accountApplicationPageLoad() {\r\n return (dispatch, getState) => {\r\n dispatch(setErrorFields([]));\r\n let domainId = getState().$$dataStore.get('domainId');\r\n const url = `${BASE_URL}/countries?domainId=${domainId}`;\r\n\r\n requestManager.getEntity(url)\r\n .then(res => {\r\n dispatch(setCountryOptions(res.data.Locations.map(x => { return {value: x.Id, label: x.Value} })));\r\n });\r\n }\r\n}\r\n\r\n\r\nexport function accountApplicationCountryInput(country) {\r\n return (dispatch, getState) => {\r\n let domainId = getState().$$dataStore.get('domainId');\r\n const url = `${BASE_URL}/countries/${country.value}/states?domainId=${domainId}`;\r\n requestManager.getEntity(url)\r\n .then(res => {\r\n dispatch(setStateOptions(res.data.Locations.map(x => { return {value: x.Id, label: x.Value} })));\r\n });\r\n }\r\n\r\n}\r\n\r\nexport function submitAccountApplicationForm(data) {\r\n return async (dispatch, getState) => {\r\n const url = `${BASE_URL}/accountrequests`;\r\n\r\n let fieldsToValidate = [\"firstName\", \"lastName\", \"email\", \"businessPhone\", \"title\", \"company\"];\r\n\r\n const toggleValue = await featureToggleService.getToggle(\"SP_38706\");\r\n if (toggleValue) {\r\n let errsFlds = validateFieldsBasic(fieldsToValidate, data);\r\n let errsMsgs= errsFlds.map(x => `${x.slice(0, 1).toUpperCase()}${x.slice(1, x.length)} cannot be empty.`);\r\n if (errsFlds.indexOf(\"email\") < 0) {\r\n const sp47149ToggleValue = await featureToggleService.getToggle(\"SP_47149\");\r\n // When removing the toggle for SP_47149, keep everything inside this outer if, remove the outer else\r\n if (sp47149ToggleValue) {\r\n if (!validateEmailAddress(data.email)) {\r\n errsMsgs.push('Email address is not valid.');\r\n errsFlds.push('email');\r\n }\r\n } else {\r\n if (!validateEmailAddress_pvSP_47149(data.email)) {\r\n errsMsgs.push('Email address is not valid.');\r\n errsFlds.push('email');\r\n }\r\n }\r\n }\r\n if (errsFlds.length > 0) {\r\n dispatch(appActions.formFailure(errsMsgs));\r\n return dispatch(setErrorFields(errsFlds));\r\n } else {\r\n dispatch(setErrorFields([]));\r\n }\r\n } else {\r\n let errs = validateFieldsBasic(fieldsToValidate, data);\r\n if (errs.length > 0) {\r\n dispatch(appActions.formFailure(errs.map(x => `${x.slice(0, 1).toUpperCase()}${x.slice(1, x.length)} cannot be empty.`)));\r\n return dispatch(setErrorFields(errs));\r\n } else {\r\n dispatch(setErrorFields([]));\r\n }\r\n }\r\n\r\n let mappedData = {\r\n DomainId: getState().$$dataStore.get('domainId'),\r\n FirstName: data.firstName,\r\n LastName: data.lastName,\r\n Title: data.title,\r\n Company: data.company,\r\n EmailAddress: data.email,\r\n MobilePhoneNumber: data.mobilePhone,\r\n BusinessPhoneNumber: data.businessPhone,\r\n CountryCode: data.country ? data.country.value : null,\r\n Address1: data.address1,\r\n Address2: data.address2,\r\n City: data.city,\r\n StateCode: data.state ? data.state.value : null,\r\n ZipCode: data.zipCode,\r\n Comments: data.comments\r\n };\r\n\r\n try {\r\n const res = await requestManager.postEntity(url, mappedData);\r\n if (!res.data) return dispatch(appActions.formFailure('Error contacting server.'));\r\n\r\n if (res.data.SuccessMessage) {\r\n dispatch(appActions.changePage(\"blank\"));\r\n dispatch(appActions.setInfo(res.data.SuccessMessage));\r\n }\r\n // else\r\n // do we want this to do nothing? will get stuck loading if we ever get here...\r\n }\r\n catch(err) {\r\n const error = err.response;\r\n if (!error || !error.data) return dispatch(appActions.formFailure('Error contacting server.'));\r\n\r\n // Call formFailure with API error data\r\n dispatch(appActions.formFailure(getErrors(error.data)));\r\n let errorFields = error.data.Errors.filter(x => x.PropertyName && x.PropertyName !== \"\").map(x => camelize(x.PropertyName));\r\n if(errorFields.length > 0) dispatch(setErrorFields(errorFields));\r\n }\r\n }\r\n}\r\n\r\nexport function submitLoginForm_sp45939(data) {\r\n return async (dispatch, getState) => {\r\n // If data.ssoLogin is true, the SSO button was clicked\r\n // In that case, send the user to the ssoAuthUrl\r\n if(data.ssoLogin && !data.apimLogin) {\r\n return (window.location.href = getState().$$dataStore.get('ssoAuthUrl'));\r\n }\r\n\r\n const uri = `${BASE_URL}/session${data.apimLogin === true ? '/Apim' : ''}`;\r\n let fieldsToValidate = [\"username\", \"password\"];\r\n if(!getState().$$dataStore.get('domain')) fieldsToValidate = fieldsToValidate.concat([\"domain\"]);\r\n let errs = validateFields(fieldsToValidate, data);\r\n if (errs.length > 0) {\r\n return dispatch(appActions.formFailure(errs));\r\n }\r\n\r\n let mappedData = {\r\n Username: data.username,\r\n Password: data.password,\r\n DomainName: getState().$$dataStore.get('domain') || data.domain,\r\n ...(data.env && {Environment: data.env}),\r\n ...(data.delegation && {Delegation: data.delegation})\r\n };\r\n\r\n try {\r\n const res = await requestManager.postEntity(uri, mappedData);\r\n if (!res.data) return dispatch(appActions.formFailure('Error contacting server.'));\r\n\r\n dispatch(submitLoginFormSuccess());\r\n\r\n const { IsSplashNeeded, SplashContent, RedirectUrl, Token } = res.data;\r\n const jumpToUrl = getState().$$dataStore.get('jumpToUrl');\r\n setCookie(\"access_token\", Token);\r\n\r\n // If splash screen returned. Set splash screen content\r\n if (IsSplashNeeded && SplashContent) {\r\n dispatch(setRedirectUrl(jumpToUrl || RedirectUrl));\r\n dispatch(setSplash(SplashContent));\r\n dispatch(appActions.changePage('splash'));\r\n }\r\n // Otherwise, redirect.\r\n else {\r\n window.location.href = jumpToUrl || RedirectUrl;\r\n }\r\n }\r\n catch (err) {\r\n const error = err.response;\r\n if(!error || !error.data) return dispatch(appActions.formFailure('Error contacting servers.'));\r\n\r\n const { AccountStatus, AreHintsNeeded, Errors, Token } = error.data;\r\n\r\n // Expired Password or First Time User\r\n if (AccountStatus === 'EXPIRED_PASSWORD') {\r\n dispatch(appActions.setHintsFlag(AreHintsNeeded));\r\n\r\n dispatch(submitLoginSuccessWithExpiredPassword(data.username, Token));\r\n dispatch(appActions.changePage('resetPassword'));\r\n dispatch(appActions.setErrors(getErrors(error.data)));\r\n }\r\n\r\n // Expired or Locked Account\r\n else if (AccountStatus === 'EXPIRED_ACCOUNT' || AccountStatus === 'LOCKED') {\r\n dispatch(submitLoginSuccessWithExpiredOrLockedAccount(data.username));\r\n dispatch(appActions.changePage('lockedAccount'));\r\n dispatch(appActions.setErrors(getErrors(error.data)));\r\n }\r\n\r\n // SSO User\r\n else if (AccountStatus === 'SSO_ACCOUNT' && getState().$$dataStore.get('defaultSsoUrl')) {\r\n return (window.location.href = getState().$$dataStore.get('defaultSsoUrl'));\r\n }\r\n\r\n // General failure response\r\n else {\r\n dispatch(appActions.formFailure(getErrors(error.data)));\r\n }\r\n }\r\n }\r\n}","import Immutable from 'immutable';\r\nimport * as actionTypes from './constants';\r\n\r\n\r\nexport const $$initialState = Immutable.fromJS({\r\n username: null,\r\n domain: null,\r\n domainId: null,\r\n logo: null,\r\n password: null,\r\n token: null,\r\n accountStatus: null,\r\n stateOptions: [],\r\n countryOptions: [],\r\n splash: null,\r\n redirectUrl: null,\r\n hintQuestion: null,\r\n lastName: null,\r\n email: null,\r\n ssoBtnVisible: false,\r\n ssoAuthUrl: null,\r\n defaultSsoUrl: null,\r\n jumpToUrl: null,\r\n errorFields: [],\r\n toggles: null,\r\n});\r\n\r\n\r\n/* ------------------------------------------- \r\n* We can have as many of these reducers as we \r\n* need to handle different product information.\r\n* -------------------------------------------- */\r\nexport default function siterraUserReducer($$state = $$initialState, action = null) {\r\n const { type, domain, domainId, username, toggle, token, countryOptions, stateOptions, splash, redirectUrl, hintQuestion, lastName, email, logo, ssoBtnVisible, ssoAuthUrl, defaultSsoUrl, jumpToUrl, errorFields } = action;\r\n\r\n switch(type) {\r\n case actionTypes.REQUEST_DOMAIN_SUCCESS:\r\n return $$state.merge({\r\n domain,\r\n domainId\r\n });\r\n\r\n case actionTypes.SUBMIT_DOMAIN_FORM_FAILURE:\r\n return $$state.merge({\r\n domain: null,\r\n domainId: null\r\n });\r\n\r\n\r\n case actionTypes.SET_TOGGLES:\r\n return $$state.merge({\r\n toggle: toggle\r\n });\r\n\r\n case actionTypes.SUBMIT_LOGIN_FORM_SUCCESS:\r\n return $$state.merge({\r\n token: token\r\n });\r\n\r\n case actionTypes.SUBMIT_LOGIN_SUCCESS_EXPIRED_OR_LOCKED_ACCOUNT:\r\n return $$state.merge({\r\n username\r\n })\r\n\r\n case actionTypes.SUBMIT_LOGIN_SUCCESS_EXPIRED_PASSWORD:\r\n return $$state.merge({\r\n username,\r\n token\r\n });\r\n \r\n case actionTypes.SUBMIT_FORGOT_PASSWORD_FORM_SUCCESS:\r\n return $$state.merge({\r\n lastName,\r\n email,\r\n hintQuestion\r\n });\r\n\r\n case actionTypes.SET_COUNTRY_OPTIONS:\r\n return $$state.merge({\r\n countryOptions\r\n });\r\n \r\n case actionTypes.SET_STATE_OPTIONS:\r\n return $$state.merge({\r\n stateOptions\r\n });\r\n \r\n case actionTypes.SET_SPLASH:\r\n return $$state.merge({\r\n splash\r\n })\r\n \r\n case actionTypes.SET_REDIRECT_URL:\r\n return $$state.merge({\r\n redirectUrl\r\n });\r\n\r\n case actionTypes.SET_DOMAIN_LOGO:\r\n return $$state.merge({\r\n logo\r\n });\r\n \r\n case actionTypes.SET_SSO_LOGIN:\r\n return $$state.merge({\r\n ssoBtnVisible, \r\n ssoAuthUrl, \r\n defaultSsoUrl\r\n });\r\n\r\n case actionTypes.SET_JUMPTO_URL:\r\n return $$state.merge({\r\n jumpToUrl\r\n });\r\n \r\n case actionTypes.SET_ERROR_FIELDS:\r\n return $$state.merge({\r\n errorFields: Array.isArray(errorFields) ? errorFields : [errorFields]\r\n })\r\n\r\n default:\r\n return $$state;\r\n }\r\n}","import siterraLogo from \"./Siterra-Logo.png\";\r\nimport bg1 from \"./siterraBg1.jpg\";\r\nimport bg2 from \"./siterraBg2.jpg\";\r\nimport bg3 from \"./siterraBg3.jpg\";\r\nimport bg4 from \"./siterraBg4.jpg\";\r\nimport bg5 from \"./kevin-fitzgerald-479720.jpg\";\r\n\r\nexport const images = {\r\n \"Siterra-Logo.png\": siterraLogo,\r\n \"bg1\": bg1,\r\n \"bg2\": bg2,\r\n \"bg3\": bg3,\r\n \"bg4\": bg4,\r\n \"bg5\": bg5\r\n}","\r\nexport const SET_IS_PROCESSING = 'SET_IS_PROCESSING';\r\nexport const CHANGE_PAGE = 'CHANGE_PAGE';\r\n\r\nexport const SUBMIT_DOMAIN_FORM = 'SUBMIT_DOMAIN_FORM';\r\nexport const REQUEST_DOMAIN_SUCCESS = 'REQUEST_DOMAIN_SUCCESS';\r\nexport const SUBMIT_DOMAIN_FORM_FAILURE = 'SUBMIT_DOMAIN_FORM_FAILURE';\r\n\r\nexport const SUBMIT_LOGIN_SUCCESS_EXPIRED_OR_LOCKED_ACCOUNT = 'SUBMIT_LOGIN_SUCCESS_EXPIRED_OR_LOCKED_ACCOUNT';\r\nexport const SUBMIT_LOGIN_SUCCESS_EXPIRED_PASSWORD ='SUBMIT_LOGIN_SUCCESS_EXPIRED_PASSWORD';\r\n\r\nexport const SUBMIT_LOGIN_FORM = 'SUBMIT_LOGIN_FORM';\r\nexport const SUBMIT_LOGIN_FORM_SUCCESS = 'SUBMIT_LOGIN_FORM_SUCCESS';\r\nexport const SUBMIT_LOGIN_FORM_FAILURE = 'SUBMIT_LOGIN_FORM_FAILURE';\r\n\r\nexport const SUBMIT_FORGOT_PASSWORD_FORM = 'SUBMIT_FORGOT_PASSWORD_FORM';\r\nexport const SUBMIT_FORGOT_PASSWORD_FORM_SUCCESS = 'SUBMIT_FORGOT_PASSWORD_FORM_SUCCESS';\r\n\r\nexport const SET_COUNTRY_OPTIONS = 'SET_COUNTRY_OPTIONS';\r\nexport const SET_STATE_OPTIONS = 'SET_STATE_OPTIONS';\r\n\r\nexport const SET_SPLASH = 'SET_SPLASH';\r\nexport const SET_REDIRECT_URL = 'SET_REDIRECT_URL';\r\n\r\nexport const SET_DOMAIN_LOGO = 'SET_DOMAIN_LOGO';","const domainIdResponse = {\r\n data: {\r\n \"DomainId\": 1005475,\r\n \"Name\": \"Orbitel\",\r\n \"ImagePrefix\": \"Orbitel\"\r\n }\r\n};\r\n\r\nconst badLoginCredsResponse = {\r\n data: {\r\n \"RedirectUrl\": null,\r\n \"AccountStatus\": null,\r\n \"AreHintsNeeded\": false,\r\n \"IsSplashNeeded\": false,\r\n \"SplashContent\": null,\r\n \"IsSuccess\": false,\r\n \"Errors\": [\r\n {\r\n \"PropertyName\": null,\r\n \"ErrorMessage\": \"User credentials were invalid\"\r\n }\r\n ]\r\n }\r\n};\r\n\r\nconst goodLoginCredsResponse = {\r\n data: {\r\n \"RedirectUrl\": \"/gisapi.dll?do=output&pageid=1032000&classid=1000000&objectid=1\",\r\n \"AccountStatus\": \"ACTIVE\",\r\n \"AreHintsNeeded\": false,\r\n \"IsSplashNeeded\": true,\r\n \"SplashContent\": \"

\\\"Siterra\\n

Scheduled Maintenance Notification

\\n

Sunday July 13, 12:00 AM CDT
To
Sunday July 13, 4:30 AM CDT

\\n Siterra will be unavailable for use during this maintenance window.

If you have any questions regarding this planned maintenance, please contact your
Siterra administrator or Siterra Support.\\n
\",\r\n \"IsSuccess\": true,\r\n \"Errors\": []\r\n }\r\n};\r\n\r\nconst expiredPasswordResponse = {\r\n data: {\r\n \"RedirectUrl\": null,\r\n \"AccountStatus\": \"EXPIRED_PASSWORD\",\r\n \"AreHintsNeeded\": false,\r\n \"IsSplashNeeded\": false,\r\n \"SplashContent\": null,\r\n \"IsSuccess\": false,\r\n \"Errors\": [\r\n {\r\n \"PropertyName\": null,\r\n \"ErrorMessage\": \"Password needs to be changed.\"\r\n }\r\n ]\r\n }\r\n};\r\n\r\nconst expiredAccountResponse = {\r\n data: {\r\n \"RedirectUrl\": null,\r\n \"AccountStatus\": \"EXPIRED_ACCOUNT\",\r\n \"AreHintsNeeded\": false,\r\n \"IsSplashNeeded\": false,\r\n \"SplashContent\": null,\r\n \"IsSuccess\": false,\r\n \"Errors\": [\r\n {\r\n \"PropertyName\": null,\r\n \"ErrorMessage\": \"This account is expired.\"\r\n }\r\n ]\r\n }\r\n};\r\n\r\nconst firstTimeResponse = {\r\n data: {\r\n \"RedirectUrl\": null,\r\n \"AccountStatus\": \"EXPIRED_PASSWORD\",\r\n \"AreHintsNeeded\": true,\r\n \"IsSplashNeeded\": false,\r\n \"SplashContent\": null,\r\n \"IsSuccess\": false,\r\n \"Errors\": [\r\n {\r\n \"PropertyName\": null,\r\n \"ErrorMessage\": \"Password needs to be changed.\"\r\n }\r\n ]\r\n }\r\n};\r\n\r\nconst lockedAccountResponse = {\r\n data: {\r\n \"RedirectUrl\": null,\r\n \"AccountStatus\": \"LOCKED\",\r\n \"AreHintsNeeded\": false,\r\n \"IsSplashNeeded\": false,\r\n \"SplashContent\": null,\r\n \"IsSuccess\": false,\r\n \"Errors\": [\r\n {\r\n \"PropertyName\": null,\r\n \"ErrorMessage\": \"This account has been locked.\"\r\n }\r\n ]\r\n }\r\n};\r\n\r\nconst sendLockedAccountFormResponse = {\r\n data: { \r\n \"IsSuccess\": true,\r\n \"SuccessMessage\": \"Your request has been submitted to your administrator.\" \r\n }\r\n};\r\n\r\nconst sendForgotPasswordFormResponse = {\r\n data: { \r\n \"IsSuccess\": true, \r\n \"SuccessMessage\": \"Please provide the answer to your Security Question.\",\r\n \"SecurityQuestionText\": \"What is your favorite color?\"\r\n }\r\n};\r\n\r\nconst sendForgotPasswordFormErrorResponse = {\r\n data: {\r\n \"IsSuccess\": false,\r\n \"Errors\": [\r\n { \"ErrorMessage\": \"No account was found matching the last name and email provided.\" }\r\n ]\r\n }\r\n}\r\n\r\nconst sendForgotPasswordStep2FormResponse = {\r\n data: { \r\n \"IsSuccess\": true, \r\n \"SuccessMessage\": \"An email has been sent containing your password.\"\r\n }\r\n};\r\n\r\nconst sendResetPasswordFormResponse = {\r\n data: {\r\n \"IsSuccess\": true,\r\n \"SuccessMessage\": \"Your password has been reset.\"\r\n }\r\n};\r\n\r\nconst sendAccountApplicationFormResponse = {\r\n data: {\r\n \"IsSuccess\": true,\r\n \"SuccessMessage\": \"Thank you, your request to access Siterra has been sent. You will be notified via email when your request has been processed. Please allow up to 3 business days for a response.\"\r\n }\r\n}\r\n\r\nconst countriesResponse = {\r\n data: {\r\n Locations: [\r\n {Id: 1, Value: \"Test Country\"}\r\n ]\r\n }\r\n}\r\n\r\nconst statesResponse = {\r\n data: {\r\n Locations: [\r\n {Id: 1, Value: \"Test State 1\"},\r\n {Id: 2, Value: \"Test State 2\"}\r\n ]\r\n }\r\n}\r\n\r\n\r\nconst getLoginResponse = username => {\r\n switch(username) {\r\n case \"good\": return goodLoginCredsResponse;\r\n case \"expiredPassword\": return expiredPasswordResponse;\r\n case \"expiredAccount\": return expiredAccountResponse;\r\n case \"firstTime\": return firstTimeResponse;\r\n case \"lockedAccount\": return lockedAccountResponse;\r\n default: return badLoginCredsResponse;\r\n }\r\n}\r\n\r\nconst apiRoutes = {\r\n \"/domains\": () => {\r\n return domainIdResponse;\r\n },\r\n \"/session\": postData => {\r\n return getLoginResponse(postData.Username);\r\n },\r\n \"/accountrequests\": postData => {\r\n return sendAccountApplicationFormResponse;\r\n },\r\n \"/forgotpassword\": postData => {\r\n if(postData.LastName === \"noMatch\") return sendForgotPasswordFormErrorResponse;\r\n return sendForgotPasswordFormResponse;\r\n },\r\n \"/users/ResetPassword\": postData => {\r\n return sendForgotPasswordStep2FormResponse;\r\n },\r\n \"/users/Security\": postData => {\r\n return sendResetPasswordFormResponse;\r\n },\r\n \"/countries\": () => {\r\n return countriesResponse;\r\n },\r\n \"/countries/1/states\": () => {\r\n return statesResponse;\r\n },\r\n \"/unlockrequest\": () => {\r\n return sendLockedAccountFormResponse;\r\n }\r\n}\r\n\r\nexport class RequestManager {\r\n static getEntity(url) {\r\n let apiUrl = url.split(\"?\")[0];\r\n return new Promise((resolve, reject) => {\r\n setTimeout(() => {\r\n let val;\r\n try{\r\n val = apiRoutes[apiUrl]();\r\n } catch(e) {\r\n reject({response: e});\r\n }\r\n resolve(val);\r\n }, 2000)\r\n });\r\n }\r\n\r\n static postEntity(url, data) {\r\n let apiUrl = url.split(\"?\")[0];\r\n return new Promise((resolve, reject) => {\r\n setTimeout(() => {\r\n let val;\r\n try {\r\n val = apiRoutes[apiUrl](data);\r\n if(!val.data.IsSuccess) throw(val);\r\n } catch(e) {\r\n reject({response: e});\r\n }\r\n resolve(val)\r\n }, 2000);\r\n });\r\n }\r\n}","import * as actionTypes from '../../constants/constants';\r\nimport * as siterraActions from \"./constants\";\r\nimport { Reducer } from \"../helpers\";\r\n\r\nconst storeSchema = { \r\n username: null,\r\n domain: null,\r\n domainId: null,\r\n logo: null,\r\n password: null,\r\n token: null,\r\n accountStatus: null,\r\n stateOptions: [],\r\n countryOptions: [],\r\n splash: null,\r\n redirectUrl: null,\r\n hintQuestion: null,\r\n lastName: null,\r\n email: null\r\n};\r\n\r\nconst myActionTypes = Object.keys(actionTypes).concat(Object.keys(siterraActions));\r\n\r\nconst testReducer = new Reducer(storeSchema, myActionTypes);\r\n\r\nexport const $$initialState = testReducer.store;\r\n\r\nexport default testReducer.createReducer();\r\n\r\n","import Immutable from \"immutable\";\r\n\r\nexport class Reducer {\r\n constructor(schema, actionTypes) {\r\n this.schema = schema;\r\n this.actionTypes = actionTypes;\r\n\r\n // Setup the Immutable JS Store\r\n this.store = this.createStore(schema);\r\n this.createReducer = this.createReducer.bind(this);\r\n this.createStore = this.createStore.bind(this);\r\n this.handlers = [];\r\n }\r\n\r\n createStore() {\r\n return Immutable.fromJS(this.schema);\r\n }\r\n\r\n createReducer() {\r\n let self = this;\r\n return function reducer($$state = self.store, action=null) {\r\n // Ignore actionTypes not found in this.actionTypes\r\n if(self.actionTypes.indexOf(action.type) < 0) return $$state;\r\n \r\n // Check for any keys defined in our initial schema\r\n // and merge in all matching keys\r\n let newState = {...$$state.toObject()};\r\n let handlers = self.handlers.filter(x => Array.isArray(x.type) ? x.type.indexOf(action.type) >= 0 : x === action.type);\r\n if(handlers.length > 0) {\r\n // Found one or more handlers that override the basic merge action\r\n handlers.forEach(x => newState = {...newState, ...x.handler(newState, action)});\r\n } else {\r\n Object.keys(self.schema).forEach(schemaKey => {\r\n if(action[schemaKey]) {\r\n newState[schemaKey] = action[schemaKey];\r\n }\r\n });\r\n }\r\n \r\n self.store = $$state.merge(newState);\r\n return self.store;\r\n }\r\n }\r\n\r\n addActionType(actionType) {\r\n this.actionTypes.push(actionType);\r\n return this;\r\n }\r\n\r\n addActionHandler(actionType, handler){\r\n this.handlers.push({type: actionType, handler});\r\n return this;\r\n }\r\n\r\n removeActionHandler(actionType, handler) {\r\n this.handlers = this.handlers.filter(x => x.type !== actionType && x.handler !== handler);\r\n }\r\n}","import * as $ from '../../constants/constants';\r\nimport * as siterraActions from \"./constants\";\r\nimport { RequestManager } from \"./dummyApi\";\r\nimport { fetchToken } from \"./testUserReducer\";\r\nimport * as $$ from \"../../stores/appActions\";\r\nimport { urls } from \"./test.config.json\";\r\n\r\nconst validateFields = (fieldList, state) => {\r\n return fieldList.filter(x => (!state[x] || state[x] === \"\"))\r\n .map(x => {\r\n let fieldName = x.split(\"_\").map(x => `${x.slice(0, 1).toUpperCase()}${x.slice(1, x.length).toLowerCase()}`).join(\" \");\r\n return `${fieldName} cannot be empty.`;\r\n })\r\n}\r\n\r\nexport function domainPageLoad() {\r\n // Parse url from window and see what happens\r\n let url = window.location.host;\r\n let potentialDomain = url.split('.')[0];\r\n if (potentialDomain == 'www') return;\r\n\r\n const uri = `/domains?name=${potentialDomain}`;\r\n\r\n return dispatch => {\r\n dispatch($$.setIsLoadingInitialState(true))\r\n\r\n RequestManager.getEntity(uri)\r\n .then(res => {\r\n dispatch(requestDomainSuccess(res.data.Name, res.data.DomainId));\r\n if (res.data.ImagePrefix) dispatch(setDomainLogo(res.data.ImagePrefix));\r\n dispatch($$.changePage('login'));\r\n })\r\n .catch(err => {\r\n dispatch($$.changePage(\"domain\"));\r\n });\r\n }\r\n}\r\n\r\nexport function requestDomainSuccess(domain, domainId) {\r\n return {\r\n type: siterraActions.REQUEST_DOMAIN_SUCCESS,\r\n domain,\r\n domainId,\r\n }\r\n}\r\n\r\nexport function setDomainLogo(imagePrefix) {\r\n const imagePath = `./Images/${imagePrefix}-logo.gif`;\r\n return {\r\n type: siterraActions.SET_DOMAIN_LOGO,\r\n logo: imagePath\r\n }\r\n}\r\n\r\nexport function setCountryOptions(countryOptions) {\r\n return {\r\n type: siterraActions.SET_COUNTRY_OPTIONS,\r\n countryOptions\r\n }\r\n}\r\n\r\nexport function setStateOptions(stateOptions) {\r\n return {\r\n type: siterraActions.SET_STATE_OPTIONS,\r\n stateOptions\r\n }\r\n}\r\n\r\nexport function setSplash(splash) {\r\n return {\r\n type: siterraActions.SET_SPLASH,\r\n splash\r\n }\r\n}\r\n\r\nexport function setRedirectUrl(redirectUrl) {\r\n return {\r\n type: siterraActions.SET_REDIRECT_URL,\r\n redirectUrl\r\n }\r\n}\r\n\r\nfunction getErrors(errors) {\r\n return errors.map(x => x.ErrorMessage);\r\n}\r\n\r\n\r\n\r\nexport function submitDomainForm(domainName) {\r\n const uri = `/domains?name=${domainName}`;\r\n\r\n if(!domainName || domainName === \"\") return dispatch => dispatch($$.formFailure([\"Domain cannot be empty.\"]));\r\n\r\n return dispatch => {\r\n RequestManager.getEntity(uri)\r\n .then(res => {\r\n dispatch(requestDomainSuccess(domainName, res.data.DomainId));\r\n if (res.data.ImagePrefix) dispatch(setDomainLogo(res.data.ImagePrefix));\r\n\r\n dispatch($$.changePage('login'));\r\n });\r\n }\r\n}\r\n\r\nexport function submitDomainFormSuccess(domain, domainId) {\r\n return {\r\n type: $.SUBMIT_DOMAIN_FORM_SUCCESS,\r\n domain,\r\n domainId\r\n }\r\n}\r\n\r\nexport function submitLoginForm(data) {\r\n return (dispatch, getState) => {\r\n let errs = validateFields([\"username\", \"password\"].concat(!getState().$$dataStore.get('domain') ? [\"domain\"] : []), data);\r\n\r\n if(errs.length > 0) {\r\n return dispatch($$.formFailure(errs));\r\n }\r\n\r\n let postData = {\r\n \"Username\": data.username,\r\n \"Password\": data.password,\r\n \"DomainName\": data.domain\r\n };\r\n\r\n RequestManager.postEntity(\"/session\", postData)\r\n .then(res => {\r\n dispatch(submitLoginFormSuccess());\r\n let { IsSplashNeeded, SplashContent, RedirectUrl } = res.data;\r\n if(IsSplashNeeded && SplashContent) {\r\n dispatch(setRedirectUrl(RedirectUrl));\r\n dispatch(setSplash(SplashContent));\r\n dispatch($$.changePage(\"splash\"));\r\n } else {\r\n // Redirect\r\n //window.location.href = res.data.RedirectUrl;\r\n alert(\"Valid Credentials.\");\r\n }\r\n })\r\n .catch(err => {\r\n let error = err.response;\r\n if(!error) return dispatch($$.formFailure('Error contacting servers.'));\r\n\r\n let { AccountStatus, AreHintsNeeded, Errors, Token } = error.data;\r\n // Expired Password or First Time User\r\n if (AccountStatus === 'EXPIRED_PASSWORD') {\r\n if (AreHintsNeeded) dispatch($$.setHintsFlag(true));\r\n\r\n dispatch(submitLoginSuccessWithExpiredPassword(data.username, Token));\r\n dispatch($$.changePage('resetPassword'));\r\n dispatch($$.setErrors(getErrors(Errors)));\r\n }\r\n\r\n // Expired or Locked Account\r\n else if (AccountStatus === 'EXPIRED_ACCOUNT' || AccountStatus === 'LOCKED') {\r\n dispatch(submitLoginSuccessWithExpiredOrLockedAccount(data.username));\r\n dispatch($$.changePage('lockedAccount'));\r\n dispatch($$.setErrors(getErrors(Errors)));\r\n }\r\n\r\n // General failure response\r\n else {\r\n dispatch($$.formFailure(getErrors(Errors)));\r\n }\r\n });\r\n }\r\n\r\n}\r\n\r\nexport function submitLoginFormSuccess(data, page) {\r\n return {\r\n type: $.SUBMIT_LOGIN_FORM_SUCCESS,\r\n data\r\n }\r\n}\r\n\r\nexport function submitLoginSuccessWithExpiredPassword (username, token) {\r\n return {\r\n type: $.SUBMIT_LOGIN_SUCCESS_EXPIRED_PASSWORD,\r\n username,\r\n token\r\n }\r\n}\r\n\r\nexport function submitLoginSuccessWithExpiredOrLockedAccount (username) {\r\n return {\r\n type: $.SUBMIT_LOGIN_SUCCESS_EXPIRED_OR_LOCKED_ACCOUNT,\r\n username\r\n }\r\n}\r\n\r\nexport function submitForgotPasswordForm(data) {\r\n let errs = validateFields([\"lastName\", \"email\"], data);\r\n if(errs.length > 0) return dispatch => dispatch($$.formFailure(errs));\r\n return dispatch => {\r\n let postData = { DomainId: data.domainId, LastName: data.lastName, EmailAddress: data.email };\r\n RequestManager.postEntity(\"/forgotpassword\", postData)\r\n .then(res => {\r\n let { SecurityQuestionText, SuccessMessage } = res.data;\r\n dispatch(submitForgotPasswordFormSuccess(data.lastName, data.email, SecurityQuestionText));\r\n dispatch($$.changePage(\"forgotPasswordStep2\"));\r\n dispatch($$.setInfo([SuccessMessage]));\r\n })\r\n .catch(err => {\r\n let error = err.response;\r\n if (!error) return dispatch($$.formFailure('Error contacting server.'));\r\n\r\n dispatch($$.formFailure(getErrors(err.response.data.Errors)));\r\n });\r\n }\r\n}\r\n\r\nexport function submitForgotPasswordFormSuccess(lastName, email, hintQuestion) {\r\n return {\r\n type: $.SUBMIT_FORGOT_PASSWORD_FORM_SUCCESS,\r\n lastName,\r\n email,\r\n hintQuestion\r\n }\r\n}\r\n\r\nexport function submitForgotPasswordStep2Form(data) {\r\n const url = `/users/ResetPassword`;\r\n if(!data.hintAnswer || data.hintAnswer === \"\") return dispatch => dispatch($$.formFailure(\"Hint Answer cannot be empty.\"));\r\n\r\n return (dispatch, getState) => {\r\n let mappedData = {\r\n \"DomainId\": getState().$$dataStore.get('domainId'),\r\n \"LastName\": getState().$$dataStore.get('lastName'),\r\n \"EmailAddress\": getState().$$dataStore.get('email'),\r\n \"SecurityAnswer\": data.hintAnswer,\r\n \"LoginUrl\": window.location.href\r\n };\r\n RequestManager.postEntity(url, mappedData)\r\n .then(res => {\r\n let { SuccessMessage } = res.data;\r\n dispatch($$.changePage(\"blank\"));\r\n dispatch($$.setInfo(SuccessMessage));\r\n })\r\n .catch(err => {\r\n if(!err.response) return dispatch($$.formFailure(\"Error contacting server.\"));\r\n\r\n dispatch($$.formFailure(getErrors(err.response.data.Errors)));\r\n });\r\n }\r\n}\r\n\r\nexport function submitLockedAccountForm(data) {\r\n return (dispatch, getState) => {\r\n const url = `/unlockrequest`;\r\n let fieldsToValidate = [];\r\n\r\n if (!getState().$$dataStore.get(\"username\")) fieldsToValidate = [\"username\"];\r\n\r\n let errs = validateFields(fieldsToValidate, data);\r\n if (errs.length > 0) {\r\n return dispatch($$.formFailure(errs));\r\n }\r\n\r\n RequestManager.postEntity(url, data)\r\n .then(res => {\r\n dispatch($$.changePage('blank'));\r\n dispatch($$.setInfo(res.data.SuccessMessage));\r\n })\r\n .catch(err => {\r\n let error = err.response;\r\n if (!error) return dispatch($$.formFailure('Error contacting server.'));\r\n\r\n if (!error.data.IsSuccess) {\r\n dispatch($$.formFailure(getErrors(err.response.data.Errors)));\r\n }\r\n });\r\n }\r\n\r\n}\r\n\r\nexport function submitResetPasswordForm(data) {\r\n return (dispatch, getState) => {\r\n const url = `/users/Security`;\r\n console.log(getState());\r\n let hintsRequired = getState().$$appStore.get('showHints');\r\n\r\n let fieldsToValidate = [\"password\", \"confirmPassword\"].concat(hintsRequired ? [\"hintQuestion\", \"hintAnswer\"] : []);\r\n let errs = validateFields(fieldsToValidate, data);\r\n if(data.password !== data.confirmPassword) errs.push(\"Password and Confirm Password must match.\");\r\n if(errs.length > 0) return dispatch($$.formFailure(errs));\r\n\r\n let mappedData = {\r\n UserName: getState().$$dataStore.get('username'),\r\n DomainId: getState().$$dataStore.get('domainId'),\r\n NewPassword1: data.password,\r\n NewPassword2: data.confirmPassword\r\n };\r\n if(hintsRequired) {\r\n mappedData.PasswordHintQuestion = data.hintQuestion;\r\n mappedData.PasswordHintAnswer = data.hintAnswer;\r\n }\r\n\r\n RequestManager.postEntity(url, mappedData)\r\n .then(res => {\r\n dispatch($$.changePage('login'));\r\n dispatch($$.setInfo(res.data.SuccessMessage));\r\n })\r\n .catch(err => {\r\n let error = err.response;\r\n if (!error) return dispatch($$.formFailure('Error contacting server.'));\r\n\r\n dispatch($$.formFailure(getErrors(err.data.Errors)));\r\n });\r\n }\r\n}\r\n\r\n\r\nexport function accountApplicationPageLoad() {\r\n return (dispatch, getState) => {\r\n let domainId = getState().$$dataStore.get('domainId');\r\n const url = `/countries?domainId=${domainId}`;\r\n RequestManager.getEntity(url)\r\n .then(res => {\r\n dispatch(setCountryOptions(res.data.Locations.map(x => { return {value: x.Id, label: x.Value} })));\r\n });\r\n }\r\n}\r\n\r\n\r\nexport function accountApplicationCountryInput(country) {\r\n return (dispatch, getState) => {\r\n let domainId = getState().$$dataStore.get('domainId');\r\n const url = `/countries/${country.value}/states?domainId=${domainId}`;\r\n RequestManager.getEntity(url)\r\n .then(res => {\r\n dispatch(setStateOptions(res.data.Locations.map(x => { return {value: x.Id, label: x.Value} })));\r\n });\r\n }\r\n\r\n}\r\n\r\n\r\nexport function submitAccountApplicationForm(data) {\r\n return (dispatch, getState) => {\r\n const url = `/accountrequests`;\r\n\r\n let fieldsToValidate = [\"firstName\", \"lastName\", \"email\", \"phone\", \"address1\", \"city\", \"country\", \"state\"];\r\n let errs = validateFields(fieldsToValidate, data);\r\n if(errs.length > 0) return dispatch($$.formFailure(errs));\r\n\r\n let mappedData = {\r\n \"DomainId\": getState().$$dataStore.get('domainId'),\r\n \"FirstName\": data.firstName,\r\n \"LastName\": data.lastName,\r\n \"Title\": data.title,\r\n \"Company\": data.company,\r\n \"EmailAddress\": data.email,\r\n \"PhoneNumber\": data.phone,\r\n \"CountryCode\": data.country,\r\n \"Address1\": data.address1,\r\n \"Address2\": data.address2,\r\n \"City\": data.city,\r\n \"StateCode\": data.state,\r\n \"ZipCode\": data.zipCode\r\n };\r\n\r\n RequestManager.postEntity(url, mappedData)\r\n .then(res => {\r\n if(res.data && res.data.SuccessMessage) {\r\n dispatch($$.changePage(\"blank\"));\r\n dispatch($$.setInfo(res.data.SuccessMessage));\r\n }\r\n })\r\n .catch(err => {\r\n if(!err.response) return dispatch($$.formFailure(\"Unable to contact server.\"));\r\n\r\n dispatch($$.formFailure(getErrors(err.response.data.Errors)));\r\n });\r\n }\r\n}\r\n","import landscape from \"./landscape.jpg\";\r\nimport landscape2 from \"./landscape2.jpg\";\r\nimport landscape3 from \"./landscape3.jpg\";\r\nimport siterraLogo from \"./Siterra-Logo.png\";\r\n\r\nexport const images = {\r\n \"landscape.jpg\": landscape,\r\n \"landscape2.jpg\": landscape2,\r\n \"landscape3.jpg\": landscape3,\r\n \"Siterra-Logo.png\": siterraLogo\r\n}","import * as siterraActions from \"./siterra/siterra.actions\";\r\nimport siterraConfig from \"./siterra/siterra.config.json\";\r\nimport siterraReducer, { $$initialState as siterraInitialState } from \"./siterra/siterraUserReducer\";\r\nimport { images as siterraImages } from \"./siterra/images\";\r\n\r\nimport * as testActions from \"./test/test.actions\";\r\nimport testConfig from \"./test/test.config.json\";\r\nimport testReducer, { $$initialState as testInitialState } from \"./test/testUserReducer\";\r\nimport { images as testImages } from \"./test/images\";\r\n\r\nimport * as siterraConstants from './siterra/constants';\r\n\r\nexport const bundles = {\r\n \"siterra\": {\r\n actions: siterraActions,\r\n config: siterraConfig,\r\n reducer: siterraReducer,\r\n images: siterraImages,\r\n $$initialState: siterraInitialState\r\n },\r\n \"test\": {\r\n actions: testActions,\r\n config: testConfig,\r\n reducer: testReducer,\r\n images: testImages,\r\n $$initialState: testInitialState\r\n }\r\n}\r\n\r\nexport const constants = {\r\n siterra: siterraConstants\r\n}","import { activeModule } from \"./app.config.json\";\r\nimport { bundles } from \"../bundles\";\r\n\r\n// Actively manages custom configs to allow dynamic changing of\r\n// the active module.\r\nclass Config {\r\n constructor(activeModule, bundles) {\r\n this._activeModule = activeModule;\r\n this.bundles = bundles;\r\n }\r\n\r\n get activeModule() {\r\n return this._activeModule;\r\n }\r\n\r\n get actions() {\r\n return this.bundles[this.activeModule].actions;\r\n }\r\n\r\n get config() {\r\n return this.bundles[this.activeModule].config;\r\n }\r\n\r\n get reducer() {\r\n return this.bundles[this.activeModule].reducer;\r\n }\r\n\r\n get images() {\r\n return this.bundles[this.activeModule].images;\r\n }\r\n\r\n get $$initialState() {\r\n return this.bundles[this.activeModule].$$initialState;\r\n }\r\n\r\n changeModule(newModule) {\r\n this._activeModule = newModule;\r\n }\r\n}\r\n\r\nconst config = new Config(activeModule, bundles);\r\nexport default config;\r\nexport const changeModule = mod => {\r\n config.changeModule(mod);\r\n}","import React from \"react\";\r\nimport ErrorMessage from \"../Components/ErrorMessage\";\r\nimport InfoMessage from \"../Components/InfoMessage\";\r\nimport bundle from \"../config\";\r\n\r\nclass BasicPage extends React.Component {\r\n getErrors() {\r\n const { appData } = this.props;\r\n\r\n if(appData.get('errors').size > 0) {\r\n let jsx = appData.get('errors').map((x, i) => {\r\n return \r\n });\r\n return
{jsx}
\r\n }\r\n }\r\n\r\n getInfoMessages() {\r\n const { appData } = this.props;\r\n\r\n if (appData.get('info').size > 0) {\r\n let jsx = appData.get('info').map((x,i) => {\r\n return \r\n });\r\n return
{jsx}
\r\n }\r\n }\r\n\r\n renderLoader() {\r\n const { appData } = this.props;\r\n\r\n if (appData.get('isProcessing')) {\r\n return
;\r\n }\r\n }\r\n\r\n getLogo() {\r\n const { userData, appData } = this.props;\r\n\r\n if (userData.get('logo')) {\r\n return bundle.images[userData.get('logo')] || userData.get('logo');\r\n } else {\r\n return bundle.images[appData.get('logo')] || appData.get('logo');\r\n }\r\n }\r\n\r\n render(){\r\n const { appData, userData, title } = this.props;\r\n return (\r\n
\r\n {this.renderLoader()}\r\n
\r\n \"Logo\"\r\n
\r\n

{title}

\r\n\r\n {this.getInfoMessages()}\r\n {this.getErrors()}\r\n {this.props.children}\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default BasicPage;","import React from \"react\";\r\nimport PropTypes from 'prop-types';\r\n\r\nconst TextArea = props => {\r\n return (\r\n \r\n );\r\n};\r\n\r\nTextArea.propTypes = {\r\n id: PropTypes.string,\r\n disabled: PropTypes.bool,\r\n placeholder: PropTypes.string,\r\n defaultValue: PropTypes.string,\r\n value: PropTypes.string,\r\n maxLength: PropTypes.number,\r\n onBlur: PropTypes.func,\r\n onChange: PropTypes.func,\r\n onFocus: PropTypes.func,\r\n onInput: PropTypes.func,\r\n className: PropTypes.string,\r\n required: PropTypes.bool,\r\n name: PropTypes.string\r\n};\r\n\r\nexport default TextArea;","import React from \"react\";\r\n\r\nimport Button from '../Components/Button';\r\nimport TextBoxWithIcon from \"../Components/Inputs/TextBoxWithIcon\";\r\n\r\nimport BasicPage from \"../Layouts/BasicPage\";\r\nimport * as actionTypes from \"../constants/constants\";\r\nimport TextArea from \"../Components/Inputs/TextArea\";\r\n\r\nclass DomainOnly extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n // Initial State\r\n this.state = {\r\n domainInputValue: props.userData.get('domain') || '',\r\n envKey: \"\"\r\n }\r\n\r\n this.handleDomainInput = this.handleDomainInput.bind(this);\r\n this.handleFormSubmit = this.handleFormSubmit.bind(this);\r\n var that = this;\r\n fetch('config.json'\r\n , {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Accept': 'application/json'\r\n }\r\n }\r\n )\r\n .then(function (response) {\r\n return response.json();\r\n })\r\n .then(function (myJson) {\r\n that.setState({ envKey: myJson.environmentvalue });\r\n });\r\n }\r\n\r\n\r\n handleDomainInput(e) { this.setState({ domainInputValue: e.target.value }) }\r\n\r\n handleFormSubmit(e) {\r\n e.preventDefault();\r\n const { actions } = this.props;\r\n actions.requestDomain(this.state.domainInputValue);\r\n }\r\n\r\n render() {\r\n\r\n\r\n const { appData, userData, actions } = this.props;\r\n let { envKey } = this.state;\r\n let env = actionTypes.environmentLevelLists.find(a => a.key == envKey);\r\n let data = \"\";\r\n if (env) data = env.value;\r\n data = data == \"\" ? \"Siterra\" : data;\r\n let toggle_sp49484 = userData.get('toggle').toJS()[\"SP_49484\"];\r\n return (\r\n \r\n
\r\n {toggle_sp49484 &&\r\n \r\n {data}\r\n
}\r\n \r\n\r\n Continue\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default DomainOnly;","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nconst Password = props => {\r\n return (\r\n \r\n );\r\n};\r\n\r\n\r\nPassword.propTypes = {\r\n id: PropTypes.string,\r\n name: PropTypes.string,\r\n disabled: PropTypes.bool,\r\n placeholder: PropTypes.string,\r\n minLength: PropTypes.number,\r\n maxLength: PropTypes.number,\r\n pattern: PropTypes.string,\r\n title: PropTypes.string,\r\n value: PropTypes.string,\r\n onBlur: PropTypes.func,\r\n onChange: PropTypes.func,\r\n onFocus: PropTypes.func,\r\n className: PropTypes.string,\r\n required: PropTypes.bool\r\n};\r\n\r\nexport default Password;","import React from \"react\";\r\nimport PropTypes from 'prop-types';\r\n\r\nimport Password from \"./Password\";\r\nimport IconSpan from \"../IconSpan\";\r\n\r\nconst PasswordWithIcon = props => {\r\n return (\r\n
\r\n \r\n \r\n
\r\n )\r\n};\r\n\r\nPasswordWithIcon.propTypes = {\r\n iconClass: PropTypes.string.isRequired\r\n}\r\n\r\nexport default PasswordWithIcon;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nconst NavLink = props => {\r\n return (\r\n props.changePage(props.to) } >{props.text || props.children}\r\n )\r\n}\r\n\r\nNavLink.propTypes = {\r\n className: PropTypes.string,\r\n changePage: PropTypes.func.isRequired,\r\n to: PropTypes.string.isRequired\r\n}\r\n\r\nexport default NavLink;\r\n","import React from \"react\";\r\n\r\nimport BasicPage from \"../Layouts/BasicPage\";\r\n\r\nimport Button from \"../Components/Button\";\r\nimport TextBoxWithIcon from \"../Components/Inputs/TextBoxWithIcon\";\r\nimport PasswordWithIcon from \"../Components/Inputs/PasswordWithIcon\";\r\nimport NavLink from \"../Components/NavLink\";\r\nimport { environmentLevelLists } from \"../constants/constants\";\r\n\r\nclass Login extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n username: props.userData.get(\"username\") || null,\r\n password: null,\r\n envKey: \"\"\r\n };\r\n\r\n this.handleDomainInput = this.handleDomainInput.bind(this);\r\n this.handleUsernameInput = this.handleUsernameInput.bind(this);\r\n this.handlePasswordInput = this.handlePasswordInput.bind(this);\r\n this.handleFormSubmit = this.handleFormSubmit.bind(this);\r\n this.handleSsoBtnClick = this.handleSsoBtnClick.bind(this);\r\n var that = this;\r\n\r\n fetch('config.json'\r\n , {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Accept': 'application/json'\r\n }\r\n }\r\n )\r\n .then(function (response) {\r\n return response.json();\r\n })\r\n .then(function (myJson) {\r\n that.setState({ envKey: myJson.environmentvalue });\r\n });\r\n }\r\n\r\n handleDomainInput(e) {\r\n this.setState({ domain: e.target.value });\r\n }\r\n handleUsernameInput(e) {\r\n this.setState({ username: e.target.value });\r\n }\r\n handlePasswordInput(e) {\r\n this.setState({ password: e.target.value });\r\n }\r\n\r\n handleFormSubmit(e) {\r\n e.preventDefault();\r\n const { userData } = this.props;\r\n // Toggle Removal SP-45939: Remove the next line and all references to qParams from this component\r\n let toggle_sp45939 = userData.get('toggle').toJS()[\"SP_45939\"];\r\n\r\n let qParams = {};\r\n window.location.search\r\n .substring(1)\r\n .split('&')\r\n .forEach((pair) => {\r\n pair = pair.split('=');\r\n qParams[pair[0]] = decodeURIComponent(pair[1] || '');\r\n });\r\n\r\n let data = {\r\n domain: this.state.domain,\r\n username: this.state.username,\r\n password: this.state.password,\r\n ...(!toggle_sp45939 &&\r\n qParams.apimLogin && { apimLogin: qParams.apimLogin === \"1\" }), // REMOVE ME WITH TOGGLE SP-45939\r\n ...(!toggle_sp45939 && qParams.env && { env: qParams.env }), // REMOVE ME WITH TOGGLE SP-45939\r\n ...(!toggle_sp45939 &&\r\n qParams.delegation && { delegation: qParams.delegation }), // REMOVE ME WITH TOGGLE SP-45939\r\n };\r\n if (this.state.ssoLogin) data.ssoLogin = this.state.ssoLogin;\r\n const { actions } = this.props;\r\n actions.submitLoginForm(data);\r\n }\r\n\r\n renderDomain() {\r\n const { userData } = this.props;\r\n\r\n if (!userData.get('domain') || userData.get('domain') === \"\") {\r\n return (\r\n \r\n );\r\n }\r\n }\r\n\r\n handleSsoBtnClick(e) {\r\n e.preventDefault();\r\n this.setState({ ssoLogin: true }, () => this.handleFormSubmit(e));\r\n }\r\n\r\n renderSsoBtn() {\r\n const { userData, appData } = this.props;\r\n\r\n if (userData.get('ssoBtnVisible')) {\r\n return (\r\n
\r\n
\r\n \r\n SSO Sign-In\r\n \r\n
\r\n )\r\n }\r\n }\r\n\r\n render() {\r\n const { userData, appData, actions } = this.props;\r\n let {envKey} = this.state;\r\n let env = environmentLevelLists.find(a => a.key == envKey);\r\n let data = \"\";\r\n if(env) data = env.value;\r\n data = data==\"\"? \"Siterra\" : data;\r\n let toggle_sp49484 = userData.get('toggle').toJS()[\"SP_49484\"];\r\n\r\n return (\r\n \r\n
\r\n {toggle_sp49484 && \r\n \r\n {data}\r\n }\r\n {this.renderDomain()}\r\n \r\n \r\n \r\n Sign In\r\n \r\n {this.renderSsoBtn()}\r\n \r\n\r\n
    \r\n
  • \r\n \r\n Forgot Password/Username\r\n \r\n
  • \r\n
  • \r\n \r\n Locked/Expired Account\r\n \r\n
  • \r\n
  • \r\n \r\n Apply for Account\r\n \r\n
  • \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default Login;","import React from \"react\";\r\nimport BasicPage from \"../Layouts/BasicPage\";\r\nimport Button from \"../Components/Button\";\r\n\r\nimport TextBoxWithIcon from \"../Components/Inputs/TextBoxWithIcon\";\r\nimport NavLink from \"../Components/NavLink\";\r\n\r\nclass ForgotPassword extends React.Component {\r\n constructor(props){\r\n super(props);\r\n\r\n this.state = {\r\n lastName: null,\r\n email: null\r\n };\r\n\r\n this.handleFormSubmit = this.handleFormSubmit.bind(this);\r\n this.handleLastNameInput = this.handleLastNameInput.bind(this);\r\n this.handleEmailInput = this.handleEmailInput.bind(this);\r\n }\r\n\r\n handleFormSubmit(e) {\r\n e.preventDefault();\r\n \r\n let data = {\r\n lastName: this.state.lastName,\r\n email: this.state.email\r\n }\r\n this.props.actions.submitForgotPasswordForm(data);\r\n }\r\n\r\n handleLastNameInput(e) { this.setState({ lastName: e.target.value }) }\r\n handleEmailInput(e) { this.setState({ email: e.target.value }) }\r\n\r\n render() {\r\n const { appData, userData, actions } = this.props;\r\n return (\r\n \r\n
\r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n
    \r\n
  • Return to Login
  • \r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default ForgotPassword;","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nconst Label = props => (\r\n \r\n {props.children}\r\n \r\n);\r\n\r\nLabel.propTypes = {\r\n id: PropTypes.string,\r\n htmlFor: PropTypes.string,\r\n className: PropTypes.string,\r\n children: PropTypes.node.isRequired\r\n}\r\n\r\nexport default Label;","import React from \"react\";\r\nimport BasicPage from \"../Layouts/BasicPage\";\r\nimport Button from \"../Components/Button\";\r\nimport Label from \"../Components/Label\";\r\n\r\nimport TextBoxWithIcon from \"../Components/Inputs/TextBoxWithIcon\";\r\nimport NavLink from \"../Components/NavLink\";\r\n\r\nclass ForgotPasswordStep2 extends React.Component {\r\n constructor(props){\r\n super(props);\r\n\r\n this.state = {\r\n hintAnswer: null\r\n };\r\n\r\n this.handleFormSubmit = this.handleFormSubmit.bind(this);\r\n this.handleHintAnswerInput = this.handleHintAnswerInput.bind(this);\r\n }\r\n\r\n handleFormSubmit(e) {\r\n e.preventDefault();\r\n \r\n let data = {\r\n hintAnswer: this.state.hintAnswer\r\n }\r\n this.props.actions.submitForgotPasswordStep2Form(data);\r\n }\r\n\r\n handleHintAnswerInput(e) { this.setState({ hintAnswer: e.target.value }) }\r\n \r\n render() {\r\n const { appData, userData, actions } = this.props;\r\n return (\r\n \r\n
\r\n
{this.props.userData.get(\"hintQuestion\")}
\r\n \r\n\r\n \r\n \r\n\r\n
    \r\n
  • Return to Login
  • \r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default ForgotPasswordStep2;","import React from \"react\";\r\n\r\nimport BasicPage from \"../Layouts/BasicPage\";\r\nimport NavLink from \"../Components/NavLink\";\r\n\r\nconst Blank = props => {\r\n const { appData, userData, actions } = props;\r\n return (\r\n \r\n {props.children}\r\n
    \r\n
  • Return to Login
  • \r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default Blank;","import React from \"react\";\r\n\r\nimport Button from \"../Components/Button\";\r\nimport TextBoxWithIcon from \"../Components/Inputs/TextBoxWithIcon\";\r\nimport PasswordWithIcon from \"../Components/Inputs/PasswordWithIcon\";\r\nimport NavLink from \"../Components/NavLink\";\r\n\r\nimport BasicPage from \"../Layouts/BasicPage\";\r\n\r\nclass LockedAccount extends React.Component {\r\n constructor(props){\r\n super(props);\r\n\r\n this.state = {\r\n username: this.props.userData.get('username') || null,\r\n password: null,\r\n toggle: this.props.userData.get('toggle').toJS()\r\n };\r\n\r\n this.handleUserInput = this.handleUserInput.bind(this);\r\n this.handleFormSubmit = this.handleFormSubmit.bind(this);\r\n }\r\n\r\n handleUserInput(e){ this.setState({username: e.target.value}) }\r\n\r\n handleFormSubmit(e){\r\n e.preventDefault();\r\n let data = {\r\n username: this.state.username,\r\n }\r\n this.props.actions.submitLockedAccountForm(data);\r\n }\r\n\r\n renderUsername() {\r\n const { userData } = this.props;\r\n\r\n if(!userData.get('token') && !userData.get('username')) return (\r\n \r\n )\r\n }\r\n\r\n render() {\r\n const { appData, userData, actions } = this.props;\r\n\r\n return (\r\n \r\n
\r\n {this.renderUsername()}\r\n \r\n Submit Account Unlock Request\r\n \r\n \r\n
    \r\n
  • Return to Login
  • \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default LockedAccount;\r\n","import React from \"react\";\r\nimport PropTypes from 'prop-types';\r\n\r\nimport Select from \"react-select\";\r\nimport \"react-select/dist/react-select.css\";\r\n\r\nconst Dropdown = props => {\r\n return (\r\n